diff options
author | 2019-04-02 10:29:55 +0100 | |
---|---|---|
committer | 2019-04-08 14:02:14 +0100 | |
commit | 0975ee0de3d2befefa613754b4dd684a1a9b8c0e (patch) | |
tree | f38501b80a61397d1361f933e404c45b4834c805 /java/builder.go | |
parent | 04b99cbf6d30edf6aced3870801ab9cd50cbc397 (diff) |
Check package restrictions for Java libs.
Test: m checkbuild; inspect verbose log.
Test: Manual - compile with unmet restrictions.
Bug: 122937705
Change-Id: I9360ae8b6d9ce016b7827be5e8ffc6eb521809b7
Diffstat (limited to 'java/builder.go')
-rw-r--r-- | java/builder.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/java/builder.go b/java/builder.go index ce9a5ee87..338cd52ed 100644 --- a/java/builder.go +++ b/java/builder.go @@ -113,6 +113,15 @@ var ( }, "rulesFile") + packageCheck = pctx.AndroidStaticRule("packageCheck", + blueprint.RuleParams{ + Command: "rm -f $out && " + + "${config.PackageCheckCmd} $in $packages && " + + "touch $out", + CommandDeps: []string{"${config.PackageCheckCmd}"}, + }, + "packages") + jetifier = pctx.AndroidStaticRule("jetifier", blueprint.RuleParams{ Command: "${config.JavaCmd} -jar ${config.JetifierJar} -l error -o $out -i $in", @@ -356,6 +365,19 @@ func TransformJarJar(ctx android.ModuleContext, outputFile android.WritablePath, }) } +func CheckJarPackages(ctx android.ModuleContext, outputFile android.WritablePath, + classesJar android.Path, permittedPackages []string) { + ctx.Build(pctx, android.BuildParams{ + Rule: packageCheck, + Description: "packageCheck", + Output: outputFile, + Input: classesJar, + Args: map[string]string{ + "packages": strings.Join(permittedPackages, " "), + }, + }) +} + func TransformJetifier(ctx android.ModuleContext, outputFile android.WritablePath, inputFile android.Path) { ctx.Build(pctx, android.BuildParams{ |