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

Commit 5a6cfa06 authored by Paul Duffin's avatar Paul Duffin Committed by Anton Hansson
Browse files

Add support for using sdk_version: "module_<ver>"

Fixes a panic when trying to build something with
sdk_version: "module_30".

Change-Id: I5b625eee45130cc288e3082d05fe45c9d006d0b6
Test: m nothing
Merged-In: I9b2ce50957f59e2bead335ffa58888e15cda1f78
parent f17a64cd
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -1303,6 +1303,12 @@ func TestJavaSdkLibrary(t *testing.T) {
			libs: ["foo"],
			sdk_version: "system_29",
		}
		java_library {
			name: "baz-module-30",
			srcs: ["c.java"],
			libs: ["foo"],
			sdk_version: "module_30",
		}
		`)

	// check the existence of the internal modules
@@ -1349,6 +1355,13 @@ func TestJavaSdkLibrary(t *testing.T) {
			"prebuilts/sdk/29/system/foo.jar")
	}

	bazModule30Javac := ctx.ModuleForTests("baz-module-30", "android_common").Rule("javac")
	// tests if "baz-module-30" is actually linked to the module 30 stubs lib
	if !strings.Contains(bazModule30Javac.Args["classpath"], "prebuilts/sdk/30/module-lib/foo.jar") {
		t.Errorf("baz-module-30 javac classpath %v does not contain %q", bazModule30Javac.Args["classpath"],
			"prebuilts/sdk/30/module-lib/foo.jar")
	}

	// test if baz has exported SDK lib names foo and bar to qux
	qux := ctx.ModuleForTests("qux", "android_common")
	if quxLib, ok := qux.Module().(*Library); ok {
+1 −1
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ func (s sdkSpec) usePrebuilt(ctx android.EarlyModuleContext) bool {
		return ctx.Config().UnbundledBuildUsePrebuiltSdks()
	} else if s.version.isNumbered() {
		// sanity check
		if s.kind != sdkPublic && s.kind != sdkSystem && s.kind != sdkTest {
		if s.kind != sdkPublic && s.kind != sdkSystem && s.kind != sdkTest && s.kind != sdkModule {
			panic(fmt.Errorf("prebuilt SDK is not not available for sdkKind=%q", s.kind))
			return false
		}
+2 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ func TestConfig(buildDir string, env map[string]string, bp string, fs map[string
		"prebuilts/sdk/30/public/framework.aidl":                   nil,
		"prebuilts/sdk/30/system/android.jar":                      nil,
		"prebuilts/sdk/30/system/foo.jar":                          nil,
		"prebuilts/sdk/30/module-lib/android.jar":                  nil,
		"prebuilts/sdk/30/module-lib/foo.jar":                      nil,
		"prebuilts/sdk/30/public/core-for-system-modules.jar":      nil,
		"prebuilts/sdk/current/core/android.jar":                   nil,
		"prebuilts/sdk/current/public/android.jar":                 nil,