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

Commit edb881d5 authored by Jihoon Kang's avatar Jihoon Kang Committed by Automerger Merge Worker
Browse files

Merge "Create full API surface java_library in combined_apis" am: 2eab0410 am: b1ee6481

parents f976f1ab b1ee6481
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -341,7 +341,7 @@ java_defaults {
}

java_library {
    name: "android_stubs_current",
    name: "android_stubs_current.from-source",
    static_libs: [
        "all-modules-public-stubs",
        "android-non-updatable.stubs",
@@ -351,7 +351,7 @@ java_library {
}

java_library {
    name: "android_system_stubs_current",
    name: "android_system_stubs_current.from-source",
    static_libs: [
        "all-modules-system-stubs",
        "android-non-updatable.stubs.system",
@@ -375,7 +375,7 @@ java_library {
}

java_library {
    name: "android_test_stubs_current",
    name: "android_test_stubs_current.from-source",
    static_libs: [
        // Updatable modules do not have test APIs, but we want to include their SystemApis, like we
        // include the SystemApi of framework-non-updatable-sources.
@@ -395,7 +395,7 @@ java_library {
}

java_library {
    name: "android_module_lib_stubs_current",
    name: "android_module_lib_stubs_current.from-source",
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
@@ -411,7 +411,7 @@ java_library {
}

java_library {
    name: "android_system_server_stubs_current",
    name: "android_system_server_stubs_current.from-source",
    defaults: [
        "android.jar_defaults",
        "android_stubs_dists_default",
@@ -419,7 +419,7 @@ java_library {
    srcs: [":services-non-updatable-stubs"],
    installable: false,
    static_libs: [
        "android_module_lib_stubs_current",
        "android_module_lib_stubs_current.from-source",
    ],
    dist: {
        dir: "apistubs/android/system-server",
+27 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ type libraryProps struct {
	Sdk_version *string
	Static_libs []string
	Visibility  []string
	Defaults    []string
}

type fgProps struct {
@@ -362,6 +363,30 @@ func createApiContributionDefaults(ctx android.LoadHookContext, modules []string
	}
}

func createFullApiLibraries(ctx android.LoadHookContext) {
	javaLibraryNames := []string{
		"android_stubs_current",
		"android_system_stubs_current",
		"android_test_stubs_current",
		"android_module_lib_stubs_current",
		"android_system_server_stubs_current",
	}

	for _, libraryName := range javaLibraryNames {
		props := libraryProps{}
		props.Name = proptools.StringPtr(libraryName)
		staticLib := libraryName + ".from-source"
		if ctx.Config().BuildFromTextStub() {
			staticLib = libraryName + ".from-text"
		}
		props.Static_libs = []string{staticLib}
		props.Defaults = []string{"android.jar_defaults"}
		props.Visibility = []string{"//visibility:public"}

		ctx.CreateModule(java.LibraryFactory, &props)
	}
}

func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
	bootclasspath := a.properties.Bootclasspath
	system_server_classpath := a.properties.System_server_classpath
@@ -382,6 +407,8 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
	createPublicStubsSourceFilegroup(ctx, bootclasspath)

	createApiContributionDefaults(ctx, bootclasspath)

	createFullApiLibraries(ctx)
}

func combinedApisModuleFactory() android.Module {
+11 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import (

	"android/soong/android"
	"android/soong/bp2build"
	"android/soong/java"
)

func runCombinedApisTestCaseWithRegistrationCtxFunc(t *testing.T, tc bp2build.Bp2buildTestCase, registrationCtxFunc func(ctx android.RegistrationContext)) {
@@ -30,7 +31,9 @@ func runCombinedApisTestCaseWithRegistrationCtxFunc(t *testing.T, tc bp2build.Bp

func runCombinedApisTestCase(t *testing.T, tc bp2build.Bp2buildTestCase) {
	t.Helper()
	runCombinedApisTestCaseWithRegistrationCtxFunc(t, tc, func(ctx android.RegistrationContext) {})
	runCombinedApisTestCaseWithRegistrationCtxFunc(t, tc, func(ctx android.RegistrationContext) {
		ctx.RegisterModuleType("java_defaults", java.DefaultsFactory)
	})
}

func TestCombinedApisGeneral(t *testing.T) {
@@ -42,6 +45,13 @@ func TestCombinedApisGeneral(t *testing.T) {
    system_server_classpath: ["ssc"],
}
`,
		Filesystem: map[string]string{
			"a/Android.bp": `
			java_defaults {
				name: "android.jar_defaults",
			}
			`,
		},
		ExpectedBazelTargets: []string{
			bp2build.MakeBazelTargetNoRestrictions("merged_txts", "foo-current.txt", bp2build.AttrNameToString{
				"scope": `"public"`,