30 lines
902 B
Plaintext
30 lines
902 B
Plaintext
def genlicenses(
|
|
name,
|
|
out,
|
|
opts = [],
|
|
java_deps = [],
|
|
non_java_deps = [],
|
|
visibility = []):
|
|
cmd = ['$(exe :gen_licenses)']
|
|
cmd.extend(opts)
|
|
cmd.append('>$OUT')
|
|
cmd.extend(java_deps)
|
|
cmd.extend(non_java_deps)
|
|
|
|
# Must use $(classpath) for Java deps, since transitive dependencies are not
|
|
# first-order dependencies of the output jar, so changes would not cause
|
|
# invalidation of the build cache key for the genrule.
|
|
cmd.extend('; true $(classpath %s)' % d for d in java_deps)
|
|
|
|
# Must use $(location) for non-Java deps, since $(classpath) will fail with an
|
|
# error. This is ok, because transitive dependencies are included in the
|
|
# output artifacts for everything _except_ Java libraries.
|
|
cmd.extend('; true $(location %s)' % d for d in non_java_deps)
|
|
|
|
genrule(
|
|
name = name,
|
|
out = out,
|
|
cmd = ' '.join(cmd),
|
|
visibility = visibility,
|
|
)
|