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

Commit 7c9662a8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "sdk_version: "system_server_current""

parents 954b2972 aae9bd11
Loading
Loading
Loading
Loading
+13 −2
Original line number Diff line number Diff line
@@ -807,6 +807,7 @@ const (
	javaSdk
	javaSystem
	javaModule
	javaSystemServer
	javaPlatform
)

@@ -840,6 +841,10 @@ func (m *Module) getLinkType(name string) (ret linkType, stubs bool) {
		return javaModule, true
	case ver.kind == sdkModule:
		return javaModule, false
	case name == "services-stubs":
		return javaSystemServer, true
	case ver.kind == sdkSystemServer:
		return javaSystemServer, false
	case ver.kind == sdkPrivate || ver.kind == sdkNone || ver.kind == sdkCorePlatform:
		return javaPlatform, false
	case !ver.valid():
@@ -875,17 +880,23 @@ func checkLinkType(ctx android.ModuleContext, from *Module, to linkTypeContext,
		}
		break
	case javaSystem:
		if otherLinkType == javaPlatform || otherLinkType == javaModule {
		if otherLinkType == javaPlatform || otherLinkType == javaModule || otherLinkType == javaSystemServer {
			ctx.ModuleErrorf("compiles against system API, but dependency %q is compiling against private API."+commonMessage,
				ctx.OtherModuleName(to))
		}
		break
	case javaModule:
		if otherLinkType == javaPlatform {
		if otherLinkType == javaPlatform || otherLinkType == javaSystemServer {
			ctx.ModuleErrorf("compiles against module API, but dependency %q is compiling against private API."+commonMessage,
				ctx.OtherModuleName(to))
		}
		break
	case javaSystemServer:
		if otherLinkType == javaPlatform {
			ctx.ModuleErrorf("compiles against system server API, but dependency %q is compiling against private API."+commonMessage,
				ctx.OtherModuleName(to))
		}
		break
	case javaPlatform:
		// no restriction on link-type
		break
+17 −9
Original line number Diff line number Diff line
@@ -72,6 +72,7 @@ const (
	sdkSystem
	sdkTest
	sdkModule
	sdkSystemServer
	sdkPrivate
)

@@ -94,6 +95,8 @@ func (k sdkKind) String() string {
		return "core_platform"
	case sdkModule:
		return "module"
	case sdkSystemServer:
		return "system_server"
	default:
		return "invalid"
	}
@@ -261,6 +264,8 @@ func sdkSpecFrom(str string) sdkSpec {
			kind = sdkTest
		case "module":
			kind = sdkModule
		case "system_server":
			kind = sdkSystemServer
		default:
			return sdkSpec{sdkInvalid, sdkVersionNone, str}
		}
@@ -324,13 +329,13 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext sdkContext) sdkDep
		}
	}

	toModule := func(m, r string, aidl android.Path) sdkDep {
	toModule := func(modules []string, res string, aidl android.Path) sdkDep {
		return sdkDep{
			useModule:          true,
			bootclasspath:      []string{m, config.DefaultLambdaStubsLibrary},
			bootclasspath:      append(modules, config.DefaultLambdaStubsLibrary),
			systemModules:      "core-current-stubs-system-modules",
			java9Classpath:     []string{m},
			frameworkResModule: r,
			java9Classpath:     modules,
			frameworkResModule: res,
			aidl:               android.OptionalPathForPath(aidl),
		}
	}
@@ -380,16 +385,19 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext sdkContext) sdkDep
			noFrameworksLibs:   true,
		}
	case sdkPublic:
		return toModule("android_stubs_current", "framework-res", sdkFrameworkAidlPath(ctx))
		return toModule([]string{"android_stubs_current"}, "framework-res", sdkFrameworkAidlPath(ctx))
	case sdkSystem:
		return toModule("android_system_stubs_current", "framework-res", sdkFrameworkAidlPath(ctx))
		return toModule([]string{"android_system_stubs_current"}, "framework-res", sdkFrameworkAidlPath(ctx))
	case sdkTest:
		return toModule("android_test_stubs_current", "framework-res", sdkFrameworkAidlPath(ctx))
		return toModule([]string{"android_test_stubs_current"}, "framework-res", sdkFrameworkAidlPath(ctx))
	case sdkCore:
		return toModule("core.current.stubs", "", nil)
		return toModule([]string{"core.current.stubs"}, "", nil)
	case sdkModule:
		// TODO(146757305): provide .apk and .aidl that have more APIs for modules
		return toModule("android_module_lib_stubs_current", "framework-res", sdkFrameworkAidlPath(ctx))
		return toModule([]string{"android_module_lib_stubs_current"}, "framework-res", sdkFrameworkAidlPath(ctx))
	case sdkSystemServer:
		// TODO(146757305): provide .apk and .aidl that have more APIs for modules
		return toModule([]string{"android_module_lib_stubs_current", "services-stubs"}, "framework-res", sdkFrameworkAidlPath(ctx))
	default:
		panic(fmt.Errorf("invalid sdk %q", sdkVersion.raw))
	}
+8 −1
Original line number Diff line number Diff line
@@ -212,7 +212,6 @@ func TestClasspath(t *testing.T) {
			aidl:           "-pprebuilts/sdk/29/public/framework.aidl",
		},
		{

			name:           "module_current",
			properties:     `sdk_version: "module_current",`,
			bootclasspath:  []string{"android_module_lib_stubs_current", "core-lambda-stubs"},
@@ -220,6 +219,14 @@ func TestClasspath(t *testing.T) {
			java9classpath: []string{"android_module_lib_stubs_current"},
			aidl:           "-p" + buildDir + "/framework.aidl",
		},
		{
			name:           "system_server_current",
			properties:     `sdk_version: "system_server_current",`,
			bootclasspath:  []string{"android_module_lib_stubs_current", "services-stubs", "core-lambda-stubs"},
			system:         "core-current-stubs-system-modules",
			java9classpath: []string{"android_module_lib_stubs_current", "services-stubs"},
			aidl:           "-p" + buildDir + "/framework.aidl",
		},
	}

	for _, testcase := range classpathTestcases {
+1 −0
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ func GatherRequiredDepsForTest() string {
		"android_system_stubs_current",
		"android_test_stubs_current",
		"android_module_lib_stubs_current",
		"services-stubs",
		"core.current.stubs",
		"core.platform.api.stubs",
		"kotlin-stdlib",