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

Commit 4ae68018 authored by Spandan Das's avatar Spandan Das
Browse files

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
parent 0adcc8c8
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -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
//