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

Commit 800f6407 authored by Jihoon Kang's avatar Jihoon Kang Committed by Gerrit Code Review
Browse files

Merge "Prevent dynamically created java_api_contribution from inheriting...

Merge "Prevent dynamically created java_api_contribution from inheriting parent modules' visibility"
parents e0cab5c4 42b589cd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -878,11 +878,13 @@ func (d *Droidstubs) createApiContribution(ctx android.DefaultableHookContext) {
		Name        *string
		Api_surface *string
		Api_file    *string
		Visibility  []string
	}{}

	props.Name = proptools.StringPtr(d.Name() + ".api.contribution")
	props.Api_surface = api_surface
	props.Api_file = api_file
	props.Visibility = []string{"//visibility:override", "//visibility:public"}

	ctx.CreateModule(ApiContributionFactory, &props)
}
+33 −0
Original line number Diff line number Diff line
@@ -370,3 +370,36 @@ func TestDroidStubsApiContributionGeneration(t *testing.T) {

	ctx.ModuleForTests("foo.api.contribution", "")
}

func TestGeneratedApiContributionVisibilityTest(t *testing.T) {
	library_bp := `
		java_api_library {
			name: "bar",
			api_surface: "public",
			api_contributions: ["foo.api.contribution"],
		}
	`
	ctx, _ := testJavaWithFS(t, `
			droidstubs {
				name: "foo",
				srcs: ["A/a.java"],
				api_surface: "public",
				check_api: {
					current: {
						api_file: "A/current.txt",
						removed_api_file: "A/removed.txt",
					}
				},
				visibility: ["//a"],
			}
		`,
		map[string][]byte{
			"a/a.java":      nil,
			"a/current.txt": nil,
			"a/removed.txt": nil,
			"b/Android.bp":  []byte(library_bp),
		},
	)

	ctx.ModuleForTests("bar", "android_common")
}