diff options
author | 2024-07-18 19:35:31 +0000 | |
---|---|---|
committer | 2024-07-18 21:35:28 +0000 | |
commit | 4ae68018a0a23c76c2a078c2efbb96f1b95be48a (patch) | |
tree | 144f6171cb1d9109374f538f378683a12a179739 /java/java.go | |
parent | 0adcc8c83d900ffba473795a7b5138af0b36eb6c (diff) |
Populate java_api_libray's IDEInfo
Adding the srcjar to module_bp_java_deps.json is useful for IDE
autocompletion of rdeps.
Bug: 353806911
Test: cat out/soong/module_bp_java_deps.json | jq '."core.current.stubs.from-text"'
{
"dependencies": [
"stub-annotations"
],
"srcjars": [
"out/soong/.intermediates/build/soong/java/core-libraries/core.current.stubs.from-text/android_common/metalava/core.current.stubs.from-text-stubs.srcjar"
],
"path": [
"build/soong/java/core-libraries"
],
"libs": [
"stub-annotations"
]
}
Change-Id: Ie4ad985a7da40b478453735dfdb10d0ac63ab8f4
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go index 88b31b586..498b53939 100644 --- a/java/java.go +++ b/java/java.go @@ -2386,10 +2386,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 // |