blob: 42dd3eb60c99e0e0bcf81c1efba5445a0d4b0bc7 [file] [log] [blame]
Dave Borowitz51b05622015-11-12 14:57:36 -05001def genlicenses(
2 name,
3 out,
4 opts = [],
5 java_deps = [],
6 non_java_deps = [],
7 visibility = []):
8 cmd = ['$(exe :gen_licenses)']
9 cmd.extend(opts)
10 cmd.append('>$OUT')
11 cmd.extend(java_deps)
12 cmd.extend(non_java_deps)
13
14 # Must use $(classpath) for Java deps, since transitive dependencies are not
15 # first-order dependencies of the output jar, so changes would not cause
16 # invalidation of the build cache key for the genrule.
17 cmd.extend('; true $(classpath %s)' % d for d in java_deps)
18
19 # Must use $(location) for non-Java deps, since $(classpath) will fail with an
20 # error. This is ok, because transitive dependencies are included in the
21 # output artifacts for everything _except_ Java libraries.
22 cmd.extend('; true $(location %s)' % d for d in non_java_deps)
23
24 genrule(
25 name = name,
26 out = out,
27 cmd = ' '.join(cmd),
28 visibility = visibility,
29 )