Revert "Restrict java_sdk_library in libs"
This reverts commit 125efc6c3055d05e3114736cde1e57e9e3f4bad8.
Reason for revert: b/368606825
Change-Id: Ia24f637db202f24be2ee13c7fe78e19a69576ffa
diff --git a/java/base.go b/java/base.go
index b64eb5b..86ed0e7 100644
--- a/java/base.go
+++ b/java/base.go
@@ -2414,13 +2414,18 @@
return
}
- if _, ok := module.(SdkLibraryDependency); ok {
+ if dep, ok := module.(SdkLibraryDependency); ok {
switch tag {
- 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)
+ 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)
}
} else if dep, ok := android.OtherModuleProvider(ctx, module, JavaInfoProvider); ok {
if sdkLinkType != javaPlatform {