Merge "Restrict validateApexClasspathFragments to active apex prebuilts" into main

This commit is contained in:
Treehugger Robot 2024-05-22 23:29:04 +00:00 committed by Gerrit Code Review
commit 5458a8437d
2 changed files with 36 additions and 2 deletions

View file

@ -865,6 +865,36 @@ func TestNonBootJarMissingInPrebuiltFragment(t *testing.T) {
},
}
// Another prebuilt apex, but this is not selected during the build.
prebuilt_apex {
name: "com.google.android.myapex.v2", // mainline prebuilt selection logic in soong relies on the naming convention com.google.android
apex_name: "myapex",
source_apex_name: "myapex",
src: "myapex.apex",
exported_bootclasspath_fragments: ["apex-fragment.v2"],
}
java_import {
name: "bar",
jars: ["bar.jar"],
apex_available: ["myapex"],
permitted_packages: ["bar"],
}
prebuilt_bootclasspath_fragment {
name: "apex-fragment.v2",
contents: ["bar"], // Unlike the source fragment, this is missing foo
apex_available:[ "myapex" ],
hidden_api: {
annotation_flags: "my-bootclasspath-fragment/annotation-flags.csv",
metadata: "my-bootclasspath-fragment/metadata.csv",
index: "my-bootclasspath-fragment/index.csv",
stub_flags: "my-bootclasspath-fragment/stub-flags.csv",
all_flags: "my-bootclasspath-fragment/all-flags.csv",
},
}
apex_contributions {
name: "my_apex_contributions",
api_domain: "myapex",

View file

@ -848,7 +848,9 @@ func validateApexClasspathFragments(ctx android.ModuleContext) {
func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// Validate contents of classpath fragments
validateApexClasspathFragments(ctx)
if !p.IsHideFromMake() {
validateApexClasspathFragments(ctx)
}
p.apexKeysPath = writeApexKeys(ctx, p)
// TODO(jungjw): Check the key validity.
@ -1074,7 +1076,9 @@ func (a *ApexSet) ApexInfoMutator(mctx android.TopDownMutatorContext) {
func (a *ApexSet) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// Validate contents of classpath fragments
validateApexClasspathFragments(ctx)
if !a.IsHideFromMake() {
validateApexClasspathFragments(ctx)
}
a.apexKeysPath = writeApexKeys(ctx, a)
a.installFilename = a.InstallFilename()