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

Commit 1a7d900c authored by Jihoon Kang's avatar Jihoon Kang Committed by Gerrit Code Review
Browse files

Merge changes Ica0cb5a5,If432cdc6,Idb4b0b0a into main

* changes:
  Revert^2 "Remove java_sdk_library "magic""
  Revert^2 "Restrict java_sdk_library in libs of java_import and droidstubs modules"
  Revert^2 "Restrict java_sdk_library in libs"
parents 29c267af da923b0a
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -7101,7 +7101,7 @@ func TestJavaSDKLibrary_WithinApex(t *testing.T) {
		java_library {
			name: "bar",
			srcs: ["a.java"],
			libs: ["foo"],
			libs: ["foo.impl"],
			apex_available: ["myapex"],
			sdk_version: "none",
			system_modules: "none",
@@ -7154,7 +7154,7 @@ func TestJavaSDKLibrary_CrossBoundary(t *testing.T) {
		java_library {
			name: "bar",
			srcs: ["a.java"],
			libs: ["foo"],
			libs: ["foo.stubs"],
			sdk_version: "none",
			system_modules: "none",
		}
@@ -7208,7 +7208,7 @@ func TestJavaSDKLibrary_ImportPreferred(t *testing.T) {
		java_library {
			name: "bar",
			srcs: ["a.java"],
			libs: ["foo"],
			libs: ["foo.impl"],
			apex_available: ["myapex"],
			sdk_version: "none",
			system_modules: "none",
+2 −2
Original line number Diff line number Diff line
@@ -3241,7 +3241,7 @@ func TestUsesLibraries(t *testing.T) {
		java_library {
			name: "static-runtime-helper",
			srcs: ["a.java"],
			libs: ["runtime-library"],
			libs: ["runtime-library.impl"],
			sdk_version: "current",
		}

@@ -3305,7 +3305,7 @@ func TestUsesLibraries(t *testing.T) {
			name: "app",
			srcs: ["a.java"],
			libs: [
				"qux",
				"qux.impl",
				"quuz.stubs"
			],
			static_libs: [
+6 −11
Original line number Diff line number Diff line
@@ -2414,18 +2414,13 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
			return
		}

		if dep, ok := module.(SdkLibraryDependency); ok {
		if _, ok := module.(SdkLibraryDependency); ok {
			switch tag {
			case sdkLibTag, libTag:
				depHeaderJars := dep.SdkHeaderJars(ctx, j.SdkVersion(ctx))
				deps.classpath = append(deps.classpath, depHeaderJars...)
				deps.dexClasspath = append(deps.dexClasspath, depHeaderJars...)

				// TODO: SDK libraries should export a provider with TransitiveClasspathHeaderJars
				depHeaderJarsSet := android.NewDepSet(android.PREORDER, depHeaderJars, nil)
				transitiveClasspathHeaderJars = append(transitiveClasspathHeaderJars, depHeaderJarsSet)
			case staticLibTag:
				ctx.ModuleErrorf("dependency on java_sdk_library %q can only be in libs", otherName)
			case sdkLibTag, libTag, staticLibTag:
				sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider)
				generatingLibsString := android.PrettyConcat(
					getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or")
				ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString)
			}
		} else if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok {
			if sdkLinkType != javaPlatform {
+5 −2
Original line number Diff line number Diff line
@@ -373,8 +373,11 @@ func (j *Javadoc) collectDeps(ctx android.ModuleContext) deps {
				panic(fmt.Errorf("unknown dependency %q for %q", otherName, ctx.ModuleName()))
			}
		case libTag, sdkLibTag:
			if dep, ok := module.(SdkLibraryDependency); ok {
				deps.classpath = append(deps.classpath, dep.SdkHeaderJars(ctx, j.SdkVersion(ctx))...)
			if _, ok := module.(SdkLibraryDependency); ok {
				sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider)
				generatingLibsString := android.PrettyConcat(
					getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or")
				ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString)
			} else if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok {
				deps.classpath = append(deps.classpath, dep.HeaderJars...)
				deps.aidlIncludeDirs = append(deps.aidlIncludeDirs, dep.AidlIncludeDirs...)
+5 −5
Original line number Diff line number Diff line
@@ -2700,13 +2700,13 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
					transitiveBootClasspathHeaderJars = append(transitiveBootClasspathHeaderJars, dep.TransitiveStaticLibsHeaderJars)
				}
			}
		} else if dep, ok := module.(SdkLibraryDependency); ok {
		} else if _, ok := module.(SdkLibraryDependency); ok {
			switch tag {
			case libTag, sdkLibTag:
				depHeaderJars := dep.SdkHeaderJars(ctx, j.SdkVersion(ctx))
				flags.classpath = append(flags.classpath, depHeaderJars...)
				transitiveClasspathHeaderJars = append(transitiveClasspathHeaderJars,
					android.NewDepSet(android.PREORDER, depHeaderJars, nil))
				sdkInfo, _ := android.OtherModuleProvider(ctx, module, SdkLibraryInfoProvider)
				generatingLibsString := android.PrettyConcat(
					getGeneratingLibs(ctx, j.SdkVersion(ctx), module.Name(), sdkInfo), true, "or")
				ctx.ModuleErrorf("cannot depend directly on java_sdk_library %q; try depending on %s instead", module.Name(), generatingLibsString)
			}
		}

Loading