Merge "Revert "Always run package check""
This commit is contained in:
commit
3747336d23
|
@ -69,7 +69,26 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
|
||||||
if !library.ApexModuleBase.AvailableFor(android.AvailableToPlatform) {
|
if !library.ApexModuleBase.AvailableFor(android.AvailableToPlatform) {
|
||||||
hideFromMake = true
|
hideFromMake = true
|
||||||
}
|
}
|
||||||
if !hideFromMake {
|
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 {
|
||||||
mainEntries = android.AndroidMkEntries{
|
mainEntries = android.AndroidMkEntries{
|
||||||
Class: "JAVA_LIBRARIES",
|
Class: "JAVA_LIBRARIES",
|
||||||
DistFile: android.OptionalPathForPath(library.distFile),
|
DistFile: android.OptionalPathForPath(library.distFile),
|
||||||
|
@ -104,6 +123,10 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
|
||||||
|
|
||||||
entries.AddStrings("LOCAL_EXPORT_SDK_LIBRARIES", library.exportedSdkLibs...)
|
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 {
|
if library.proguardDictionary != nil {
|
||||||
entries.SetPath("LOCAL_SOONG_PROGUARD_DICT", library.proguardDictionary)
|
entries.SetPath("LOCAL_SOONG_PROGUARD_DICT", library.proguardDictionary)
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ var (
|
||||||
blueprint.RuleParams{
|
blueprint.RuleParams{
|
||||||
Command: "rm -f $out && " +
|
Command: "rm -f $out && " +
|
||||||
"${config.PackageCheckCmd} $in $packages && " +
|
"${config.PackageCheckCmd} $in $packages && " +
|
||||||
"cp $in $out",
|
"touch $out",
|
||||||
CommandDeps: []string{"${config.PackageCheckCmd}"},
|
CommandDeps: []string{"${config.PackageCheckCmd}"},
|
||||||
},
|
},
|
||||||
"packages")
|
"packages")
|
||||||
|
@ -547,9 +547,8 @@ func TransformJarJar(ctx android.ModuleContext, outputFile android.WritablePath,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func CheckJarPackages(ctx android.ModuleContext, classesJar android.Path, permittedPackages []string) android.ModuleOutPath {
|
func CheckJarPackages(ctx android.ModuleContext, outputFile android.WritablePath,
|
||||||
outputFile := android.PathForModuleOut(ctx, "package-check", classesJar.Base())
|
classesJar android.Path, permittedPackages []string) {
|
||||||
|
|
||||||
ctx.Build(pctx, android.BuildParams{
|
ctx.Build(pctx, android.BuildParams{
|
||||||
Rule: packageCheck,
|
Rule: packageCheck,
|
||||||
Description: "packageCheck",
|
Description: "packageCheck",
|
||||||
|
@ -559,8 +558,6 @@ func CheckJarPackages(ctx android.ModuleContext, classesJar android.Path, permit
|
||||||
"packages": strings.Join(permittedPackages, " "),
|
"packages": strings.Join(permittedPackages, " "),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
return outputFile
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TransformJetifier(ctx android.ModuleContext, outputFile android.WritablePath,
|
func TransformJetifier(ctx android.ModuleContext, outputFile android.WritablePath,
|
||||||
|
|
11
java/java.go
11
java/java.go
|
@ -463,6 +463,9 @@ type Module struct {
|
||||||
// expanded Jarjar_rules
|
// expanded Jarjar_rules
|
||||||
expandJarjarRules android.Path
|
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.
|
// Extra files generated by the module type to be added as java resources.
|
||||||
extraResources android.Paths
|
extraResources android.Paths
|
||||||
|
|
||||||
|
@ -1518,10 +1521,10 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) {
|
||||||
|
|
||||||
// Check package restrictions if necessary.
|
// Check package restrictions if necessary.
|
||||||
if len(j.properties.Permitted_packages) > 0 {
|
if len(j.properties.Permitted_packages) > 0 {
|
||||||
// Check packages and copy input to package-checked file.
|
// Check packages and copy to package-checked file.
|
||||||
// Use the file copied after a successful package check as the output file for this
|
pkgckFile := android.PathForModuleOut(ctx, "package-check.stamp")
|
||||||
// module so that any dependencies on this module will trigger the package check.
|
CheckJarPackages(ctx, pkgckFile, outputFile, j.properties.Permitted_packages)
|
||||||
outputFile = CheckJarPackages(ctx, outputFile, j.properties.Permitted_packages)
|
j.additionalCheckedModules = append(j.additionalCheckedModules, pkgckFile)
|
||||||
|
|
||||||
if ctx.Failed() {
|
if ctx.Failed() {
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue