diff options
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r-- | java/sdk_library.go | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go index e65af65f..3bac8f6f 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -129,6 +129,11 @@ type sdkLibrary struct { systemApiStubsPath android.Paths testApiStubsPath android.Paths implLibPath android.Paths + + publicApiStubsImplPath android.Paths + systemApiStubsImplPath android.Paths + testApiStubsImplPath android.Paths + implLibImplPath android.Paths } func (module *sdkLibrary) DepsMutator(ctx android.BottomUpMutatorContext) { @@ -151,12 +156,16 @@ func (module *sdkLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) switch tag { case publicApiStubsTag: module.publicApiStubsPath = lib.HeaderJars() + module.publicApiStubsImplPath = lib.ImplementationJars() case systemApiStubsTag: module.systemApiStubsPath = lib.HeaderJars() + module.systemApiStubsImplPath = lib.ImplementationJars() case testApiStubsTag: module.testApiStubsPath = lib.HeaderJars() + module.testApiStubsImplPath = lib.ImplementationJars() case implLibTag: module.implLibPath = lib.HeaderJars() + module.implLibImplPath = lib.ImplementationJars() default: ctx.ModuleErrorf("depends on module %q of unknown tag %q", otherName, tag) } @@ -557,6 +566,18 @@ func (module *sdkLibrary) HeaderJars(linkType linkType) android.Paths { } } +// to satisfy SdkLibraryDependency interface +func (module *sdkLibrary) ImplementationJars(linkType linkType) android.Paths { + // This module is just a wrapper for the stubs. + if linkType == javaSystem { + return module.systemApiStubsImplPath + } else if linkType == javaPlatform { + return module.implLibImplPath + } else { + return module.publicApiStubsImplPath + } +} + func javaSdkLibraries(config android.Config) *[]string { return config.Once("javaSdkLibraries", func() interface{} { return &[]string{} |