summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/sdk_library.go25
1 files changed, 18 insertions, 7 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go
index c68a3d1c3..057586f7e 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -110,6 +110,9 @@ type sdkLibraryProperties struct {
// Defaults to "api".
Api_dir *string
+ // If set to true there is no runtime library.
+ Api_only *bool
+
// local files that are used within user customized droiddoc options.
Droiddoc_option_files []string
@@ -183,7 +186,10 @@ func (module *SdkLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {
}
func (module *SdkLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- module.Library.GenerateAndroidBuildActions(ctx)
+ // Don't build an implementation library if this is api only.
+ if !proptools.Bool(module.sdkLibraryProperties.Api_only) {
+ module.Library.GenerateAndroidBuildActions(ctx)
+ }
module.buildPermissionsFile(ctx)
@@ -247,6 +253,9 @@ func (module *SdkLibrary) OutputFiles(tag string) (android.Paths, error) {
}
func (module *SdkLibrary) AndroidMkEntries() []android.AndroidMkEntries {
+ if proptools.Bool(module.sdkLibraryProperties.Api_only) {
+ return nil
+ }
entriesList := module.Library.AndroidMkEntries()
entries := &entriesList[0]
entries.Required = append(entries.Required, module.xmlFileName())
@@ -773,16 +782,18 @@ func (module *SdkLibrary) CreateInternalModules(mctx android.LoadHookContext) {
// for test API stubs
module.createStubsLibrary(mctx, apiScopeTest)
module.createStubsSources(mctx, apiScopeTest)
+ }
+ if !proptools.Bool(module.sdkLibraryProperties.Api_only) {
// for runtime
module.createXmlFile(mctx)
- }
- // record java_sdk_library modules so that they are exported to make
- javaSdkLibraries := javaSdkLibraries(mctx.Config())
- javaSdkLibrariesLock.Lock()
- defer javaSdkLibrariesLock.Unlock()
- *javaSdkLibraries = append(*javaSdkLibraries, module.BaseModuleName())
+ // record java_sdk_library modules so that they are exported to make
+ javaSdkLibraries := javaSdkLibraries(mctx.Config())
+ javaSdkLibrariesLock.Lock()
+ defer javaSdkLibrariesLock.Unlock()
+ *javaSdkLibraries = append(*javaSdkLibraries, module.BaseModuleName())
+ }
}
func (module *SdkLibrary) InitSdkLibraryProperties() {