Collect licenses
go/collect_licenses - collect_licenses
produces a distributable LICENSE file
given a target (and an arbitrary set of blaze flags).
Updatemd
To help keep the METADATA
file up-to-date, you can use the updatemd
program
to update commonly changed fields. It resides here:
$ /path/to/.../updatemd --help
Usage: updatemd [options] path
-archive_url="" : update the third-party "archive_url" field
-print="" : print the value of the field
-version="" : update the third-party "version" field
The -print
flag takes a comma-separated list of values to print:
$ /path/to/.../updatemd -print version METADATA
1b2e19fdacff67bf390486e86eefbfb35bd464c6
Googlify
go/googlify
Googlify analyzes the output of a traditional build (running ./configure
,
make
, and make install
for all required packages) and uses this to construct
google3-style BUILD
files for your not-yet-in-third_party package. This tool
imports library files into the third_party/library/src
subdirectory by
default.
NOTE: Googlify is completely unsupported, does not generate hermetic BUILD
files, and may require OWNERS
to rerun it often.
Copybara
Copybara automates the import of code from upstream repositories, such as github. Copybara can also apply transformations to the changes or run checkers for validation, for example leak detection.
qu4
go/qu4
qu4 is an adaptation of the Quilt patch management system to Piper, providing a standardized process for maintaining local modifications to third-party code in google3.
floorcloth
go/floorcloth
floorcloth is a tool to assist in managing the lifecycle of packages, mostly through outreach to consumers and OWNERS, but it can also restrict visibility, finding new owners, nudge dependees, and more!