aboutsummaryrefslogtreecommitdiffstats
path: root/java/sdk_library.go
diff options
context:
space:
mode:
authorSundong Ahn <sundongahn@google.com>2018-07-31 17:19:11 +0900
committerSundong Ahn <sundongahn@google.com>2018-08-01 02:18:32 +0000
commitdd567f9c1430ea3fc3b30308284f9eeb5cf01aa2 (patch)
tree3902afbe3588601beba3ee37b47756c0677c0b70 /java/sdk_library.go
parentbe1b6f445e53f9ad53c609260f6f4ef5e2468322 (diff)
downloadandroid_build_soong-dd567f9c1430ea3fc3b30308284f9eeb5cf01aa2.tar.gz
android_build_soong-dd567f9c1430ea3fc3b30308284f9eeb5cf01aa2.tar.bz2
android_build_soong-dd567f9c1430ea3fc3b30308284f9eeb5cf01aa2.zip
Add new properties
Droiddoc_options is added, since all sdk libraries don't builds with the same argument. We provide basic droiddoc argument and options can be added like "stubsourceonly" by this property. When building stubs, soong don't make dex files, but some module uses dex files from stubs. So Complie_dex is added for compiling dex regardless of installable. Srcs_lib_whitelist_pkgs property is added for using other whitelist pkgs instead of "android.annotation". Bug: 77577799 Test: m -j Change-Id: Ic2fb7bc9c49a825550dbebe3e9132ad9a735322f
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r--java/sdk_library.go23
1 files changed, 21 insertions, 2 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go
index 57a0c3ab..525652a5 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -117,6 +117,17 @@ type sdkLibraryProperties struct {
Javacflags []string
}
+ // Additional droiddoc options
+ Droiddoc_options []string
+
+ // If set to true, compile dex regardless of installable. Defaults to false.
+ // This applies to the stubs lib.
+ Compile_dex *bool
+
+ // the sub dirs under srcs_lib_whitelist_dirs will be scanned for java srcs.
+ // Defaults to "android.annotation".
+ Srcs_lib_whitelist_pkgs []string
+
// TODO: determines whether to create HTML doc or not
//Html_doc *bool
}
@@ -359,6 +370,7 @@ func (module *sdkLibrary) createStubsLibrary(mctx android.TopDownMutatorContext,
Soc_specific *bool
Device_specific *bool
Product_specific *bool
+ Compile_dex *bool
Product_variables struct {
Unbundled_build struct {
Enabled *bool
@@ -377,6 +389,9 @@ func (module *sdkLibrary) createStubsLibrary(mctx android.TopDownMutatorContext,
// Unbundled apps will use the prebult one from /prebuilts/sdk
props.Product_variables.Unbundled_build.Enabled = proptools.BoolPtr(false)
props.Product_variables.Pdk.Enabled = proptools.BoolPtr(false)
+ if module.properties.Compile_dex != nil {
+ props.Compile_dex = module.properties.Compile_dex
+ }
if module.SocSpecific() {
props.Soc_specific = proptools.BoolPtr(true)
@@ -430,7 +445,7 @@ func (module *sdkLibrary) createDocs(mctx android.TopDownMutatorContext, apiScop
droiddocArgs := " -hide 110 -hide 111 -hide 113 -hide 121 -hide 125 -hide 126 -hide 127 -hide 128" +
" -stubpackages " + strings.Join(module.properties.Api_packages, ":") +
" " + android.JoinWithPrefix(module.properties.Hidden_api_packages, "-hidePackage ") +
- " -nodocs"
+ " " + android.JoinWithPrefix(module.properties.Droiddoc_options, "-") + " -nodocs"
switch apiScope {
case apiScopeSystem:
droiddocArgs = droiddocArgs + " -showAnnotation android.annotation.SystemApi"
@@ -488,7 +503,11 @@ func (module *sdkLibrary) createDocs(mctx android.TopDownMutatorContext, apiScop
props.Srcs_lib_whitelist_dirs = []string{"core/java"}
// Add android.annotation package to give access to the framework-defined
// annotations such as SystemApi, NonNull, etc.
- props.Srcs_lib_whitelist_pkgs = []string{"android.annotation"}
+ if module.properties.Srcs_lib_whitelist_pkgs != nil {
+ props.Srcs_lib_whitelist_pkgs = module.properties.Srcs_lib_whitelist_pkgs
+ } else {
+ props.Srcs_lib_whitelist_pkgs = []string{"android.annotation"}
+ }
// These libs are required by doclava to parse the framework sources add via
// Src_lib and Src_lib_whitelist_* properties just above.
// If we don't add them to the classpath, errors messages are generated by doclava,