Merge "Ensure package check is run for java_library in APEX" into rvc-dev

This commit is contained in:
TreeHugger Robot 2020-05-29 11:40:19 +00:00 committed by Android (Google) Code Review
commit 484129dfb9
2 changed files with 25 additions and 2 deletions

View file

@ -69,7 +69,26 @@ func (library *Library) AndroidMkEntries() []android.AndroidMkEntries {
if !library.ApexModuleBase.AvailableFor(android.AvailableToPlatform) {
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{
Class: "JAVA_LIBRARIES",
DistFile: android.OptionalPathForPath(library.distFile),

View file

@ -52,6 +52,7 @@ zip_contents=`zipinfo -1 $jar_file`
# Check all class file names against the expected prefixes.
old_ifs=${IFS}
IFS=$'\n'
failed=false
for zip_entry in ${zip_contents}; do
# Check the suffix.
if [[ "${zip_entry}" = *.class ]]; then
@ -65,8 +66,11 @@ for zip_entry in ${zip_contents}; do
done
if [[ "${found}" == "false" ]]; then
echo "Class file ${zip_entry} is outside specified packages."
exit 1
failed=true
fi
fi
done
if [[ "${failed}" == "true" ]]; then
exit 1
fi
IFS=${old_ifs}