summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go
index 88b31b586..3dae4e42b 100644
--- a/java/java.go
+++ b/java/java.go
@@ -443,6 +443,30 @@ var (
usesLibCompat30OptTag = makeUsesLibraryDependencyTag(30, true)
)
+// A list of tags for deps used for compiling a module.
+// Any dependency tags that modifies the following properties of `deps` in `Module.collectDeps` should be
+// added to this list:
+// - bootClasspath
+// - classpath
+// - java9Classpath
+// - systemModules
+// - kotlin deps...
+var (
+ compileDependencyTags = []blueprint.DependencyTag{
+ sdkLibTag,
+ libTag,
+ staticLibTag,
+ bootClasspathTag,
+ systemModulesTag,
+ java9LibTag,
+ kotlinStdlibTag,
+ kotlinAnnotationsTag,
+ kotlinPluginTag,
+ syspropPublicStubDepTag,
+ instrumentationForTag,
+ }
+)
+
func IsLibDepTag(depTag blueprint.DependencyTag) bool {
return depTag == libTag || depTag == sdkLibTag
}
@@ -2386,10 +2410,35 @@ func (al *ApiLibrary) MinSdkVersion(ctx android.EarlyModuleContext) android.ApiL
return android.FutureApiLevel
}
+func (al *ApiLibrary) IDEInfo(i *android.IdeInfo) {
+ i.Deps = append(i.Deps, al.ideDeps()...)
+ i.Libs = append(i.Libs, al.properties.Libs...)
+ i.Static_libs = append(i.Static_libs, al.properties.Static_libs...)
+ i.SrcJars = append(i.SrcJars, al.stubsSrcJar.String())
+}
+
+// deps of java_api_library for module_bp_java_deps.json
+func (al *ApiLibrary) ideDeps() []string {
+ ret := []string{}
+ ret = append(ret, al.properties.Libs...)
+ ret = append(ret, al.properties.Static_libs...)
+ if al.properties.System_modules != nil {
+ ret = append(ret, proptools.String(al.properties.System_modules))
+ }
+ if al.properties.Full_api_surface_stub != nil {
+ ret = append(ret, proptools.String(al.properties.Full_api_surface_stub))
+ }
+ // Other non java_library dependencies like java_api_contribution are ignored for now.
+ return ret
+}
+
// implement the following interfaces for hiddenapi processing
var _ hiddenAPIModule = (*ApiLibrary)(nil)
var _ UsesLibraryDependency = (*ApiLibrary)(nil)
+// implement the following interface for IDE completion.
+var _ android.IDEInfo = (*ApiLibrary)(nil)
+
//
// Java prebuilts
//