Ensure package check is run for java_library in APEX
Package checks were not being run for java libraries that were in an APEX and not on the platform. This change fixes that and updates the script to report all failing classes to make it easier to update the list of packages. Test: m java Bug: 157633658 Change-Id: I28044e08d3a40e9f3464bb2158ef6a28d57264d1
This commit is contained in:
parent
9a37d4a602
commit
63d8febd35
|
@ -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),
|
||||||
|
|
|
@ -52,6 +52,7 @@ zip_contents=`zipinfo -1 $jar_file`
|
||||||
# Check all class file names against the expected prefixes.
|
# Check all class file names against the expected prefixes.
|
||||||
old_ifs=${IFS}
|
old_ifs=${IFS}
|
||||||
IFS=$'\n'
|
IFS=$'\n'
|
||||||
|
failed=false
|
||||||
for zip_entry in ${zip_contents}; do
|
for zip_entry in ${zip_contents}; do
|
||||||
# Check the suffix.
|
# Check the suffix.
|
||||||
if [[ "${zip_entry}" = *.class ]]; then
|
if [[ "${zip_entry}" = *.class ]]; then
|
||||||
|
@ -65,8 +66,11 @@ for zip_entry in ${zip_contents}; do
|
||||||
done
|
done
|
||||||
if [[ "${found}" == "false" ]]; then
|
if [[ "${found}" == "false" ]]; then
|
||||||
echo "Class file ${zip_entry} is outside specified packages."
|
echo "Class file ${zip_entry} is outside specified packages."
|
||||||
exit 1
|
failed=true
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
if [[ "${failed}" == "true" ]]; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
IFS=${old_ifs}
|
IFS=${old_ifs}
|
||||||
|
|
Loading…
Reference in New Issue