Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5458a843 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Restrict validateApexClasspathFragments to active apex prebuilts" into main

parents aae7c4a3 5f1f9405
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -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",
+6 −2
Original line number Diff line number Diff line
@@ -848,7 +848,9 @@ func validateApexClasspathFragments(ctx android.ModuleContext) {

func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
	// Validate contents of classpath fragments
	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
	if !a.IsHideFromMake() {
		validateApexClasspathFragments(ctx)
	}

	a.apexKeysPath = writeApexKeys(ctx, a)
	a.installFilename = a.InstallFilename()