summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/androidmk.go25
-rw-r--r--java/builder.go9
-rw-r--r--java/java.go11
3 files changed, 11 insertions, 34 deletions
diff --git a/java/androidmk.go b/java/androidmk.go
index 75fb5fb02..85eaff4a6 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -69,26 +69,7 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
if !library.ApexModuleBase.AvailableFor(android.AvailableToPlatform) {
hideFromMake = true
}
- if hideFromMake {
- // May still need to add some additional dependencies. This will be called
- // once for the platform variant (even if it is not being used) and once each
- // for the APEX specific variants. In order to avoid adding the dependency
- // multiple times only add it for the platform variant.
- checkedModulePaths := library.additionalCheckedModules
- if library.IsForPlatform() && len(checkedModulePaths) != 0 {
- mainEntries = android.AndroidMkEntries{
- Class: "FAKE",
- // Need at least one output file in order for this to take effect.
- OutputFile: android.OptionalPathForPath(checkedModulePaths[0]),
- Include: "$(BUILD_PHONY_PACKAGE)",
- ExtraEntries: []android.AndroidMkExtraEntriesFunc{
- func(entries *android.AndroidMkEntries) {
- entries.AddStrings("LOCAL_ADDITIONAL_CHECKED_MODULE", checkedModulePaths.Strings()...)
- },
- },
- }
- }
- } else {
+ if !hideFromMake {
mainEntries = android.AndroidMkEntries{
Class: "JAVA_LIBRARIES",
DistFile: android.OptionalPathForPath(library.distFile),
@@ -123,10 +104,6 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
entries.AddStrings("LOCAL_EXPORT_SDK_LIBRARIES", library.exportedSdkLibs...)
- if len(library.additionalCheckedModules) != 0 {
- entries.AddStrings("LOCAL_ADDITIONAL_CHECKED_MODULE", library.additionalCheckedModules.Strings()...)
- }
-
if library.proguardDictionary != nil {
entries.SetPath("LOCAL_SOONG_PROGUARD_DICT", library.proguardDictionary)
}
diff --git a/java/builder.go b/java/builder.go
index a27e5c390..640dba93b 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -206,7 +206,7 @@ var (
blueprint.RuleParams{
Command: "rm -f $out && " +
"${config.PackageCheckCmd} $in $packages && " +
- "touch $out",
+ "cp $in $out",
CommandDeps: []string{"${config.PackageCheckCmd}"},
},
"packages")
@@ -547,8 +547,9 @@ func TransformJarJar(ctx android.ModuleContext, outputFile android.WritablePath,
})
}
-func CheckJarPackages(ctx android.ModuleContext, outputFile android.WritablePath,
- classesJar android.Path, permittedPackages []string) {
+func CheckJarPackages(ctx android.ModuleContext, classesJar android.Path, permittedPackages []string) android.ModuleOutPath {
+ outputFile := android.PathForModuleOut(ctx, "package-check", classesJar.Base())
+
ctx.Build(pctx, android.BuildParams{
Rule: packageCheck,
Description: "packageCheck",
@@ -558,6 +559,8 @@ func CheckJarPackages(ctx android.ModuleContext, outputFile android.WritablePath
"packages": strings.Join(permittedPackages, " "),
},
})
+
+ return outputFile
}
func TransformJetifier(ctx android.ModuleContext, outputFile android.WritablePath,
diff --git a/java/java.go b/java/java.go
index 2623d2c10..1a5e86f3d 100644
--- a/java/java.go
+++ b/java/java.go
@@ -467,9 +467,6 @@ type Module struct {
// expanded Jarjar_rules
expandJarjarRules android.Path
- // list of additional targets for checkbuild
- additionalCheckedModules android.Paths
-
// Extra files generated by the module type to be added as java resources.
extraResources android.Paths
@@ -1527,10 +1524,10 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
// Check package restrictions if necessary.
if len(j.properties.Permitted_packages) > 0 {
- // Check packages and copy to package-checked file.
- pkgckFile := android.PathForModuleOut(ctx, "package-check.stamp")
- CheckJarPackages(ctx, pkgckFile, outputFile, j.properties.Permitted_packages)
- j.additionalCheckedModules = append(j.additionalCheckedModules, pkgckFile)
+ // Check packages and copy input to package-checked file.
+ // Use the file copied after a successful package check as the output file for this
+ // module so that any dependencies on this module will trigger the package check.
+ outputFile = CheckJarPackages(ctx, outputFile, j.properties.Permitted_packages)
if ctx.Failed() {
return