aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Gaillard <jgaillard@google.com>2019-11-19 04:25:43 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-11-19 04:25:43 -0800
commit874cbda3386826a908450941ecc53df59216e2d4 (patch)
tree141c67c0178f9a7755042bf2de1b97a3d6fda5d7
parent8f6b0708b6ce02225826d7485230cb97ea0b70fb (diff)
parent0b09ad7f349bbf62bca57c6cdbeadc073ddbcae0 (diff)
downloadbuild_soong-874cbda3386826a908450941ecc53df59216e2d4.tar.gz
build_soong-874cbda3386826a908450941ecc53df59216e2d4.tar.bz2
build_soong-874cbda3386826a908450941ecc53df59216e2d4.zip
Update droidstubs build target
am: 0b09ad7f34 Change-Id: I5c4e69b3905547e78ba2228b05aa7a7c8b391f08
-rw-r--r--java/androidmk.go3
-rw-r--r--java/droiddoc.go26
2 files changed, 27 insertions, 2 deletions
diff --git a/java/androidmk.go b/java/androidmk.go
index 7a939e84..43b9f488 100644
--- a/java/androidmk.go
+++ b/java/androidmk.go
@@ -508,6 +508,9 @@ func (dstubs *Droidstubs) AndroidMk() android.AndroidMkData {
if dstubs.jdiffDocZip != nil {
fmt.Fprintln(w, "LOCAL_DROIDDOC_JDIFF_DOC_ZIP := ", dstubs.jdiffDocZip.String())
}
+ if dstubs.metadataZip != nil {
+ fmt.Fprintln(w, "LOCAL_DROIDDOC_METADATA_ZIP := ", dstubs.metadataZip.String())
+ }
if dstubs.checkCurrentApiTimestamp != nil {
fmt.Fprintln(w, ".PHONY:", dstubs.Name()+"-check-current-api")
fmt.Fprintln(w, dstubs.Name()+"-check-current-api:",
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 6bac5bb7..f56cae82 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -77,6 +77,8 @@ var (
`$bootclasspathArgs $classpathArgs $sourcepathArgs --no-banner --color --quiet --format=v2 ` +
`$opts && ` +
`${config.SoongZipCmd} -write_if_changed -jar -o $out -C $stubsDir -D $stubsDir && ` +
+ `(if $writeSdkValues; then ${config.SoongZipCmd} -write_if_changed -d -o $metadataZip ` +
+ `-C $metadataDir -D $metadataDir; fi) && ` +
`rm -rf "$srcJarDir"`,
CommandDeps: []string{
"${config.ZipSyncCmd}",
@@ -89,7 +91,7 @@ var (
Restat: true,
},
"outDir", "srcJarDir", "stubsDir", "srcJars", "javaVersion", "bootclasspathArgs",
- "classpathArgs", "sourcepathArgs", "opts")
+ "classpathArgs", "sourcepathArgs", "opts", "writeSdkValues", "metadataZip", "metadataDir")
metalavaApiCheck = pctx.AndroidStaticRule("metalavaApiCheck",
blueprint.RuleParams{
@@ -1257,6 +1259,9 @@ type Droidstubs struct {
jdiffDocZip android.WritablePath
jdiffStubsSrcJar android.WritablePath
+
+ metadataZip android.WritablePath
+ metadataDir android.WritablePath
}
func DroidstubsFactory() android.Module {
@@ -1391,7 +1396,8 @@ func (d *Droidstubs) collectStubsFlags(ctx android.ModuleContext,
}
if Bool(d.properties.Write_sdk_values) {
- metalavaFlags = metalavaFlags + " --sdk-values " + android.PathForModuleOut(ctx, "out").String()
+ d.metadataDir = android.PathForModuleOut(ctx, "metadata")
+ metalavaFlags = metalavaFlags + " --sdk-values " + d.metadataDir.String()
}
if Bool(d.properties.Create_doc_stubs) {
@@ -1543,6 +1549,19 @@ func (d *Droidstubs) transformMetalava(ctx android.ModuleContext, implicits andr
implicitOutputs android.WritablePaths, javaVersion,
bootclasspathArgs, classpathArgs, sourcepathArgs, opts string) {
+ var writeSdkValues, metadataZip, metadataDir string
+ if Bool(d.properties.Write_sdk_values) {
+ writeSdkValues = "true"
+ d.metadataZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"-metadata.zip")
+ metadataZip = d.metadataZip.String()
+ metadataDir = d.metadataDir.String()
+ implicitOutputs = append(implicitOutputs, d.metadataZip)
+ } else {
+ writeSdkValues = "false"
+ metadataZip = ""
+ metadataDir = ""
+ }
+
ctx.Build(pctx, android.BuildParams{
Rule: metalava,
Description: "Metalava",
@@ -1560,6 +1579,9 @@ func (d *Droidstubs) transformMetalava(ctx android.ModuleContext, implicits andr
"classpathArgs": classpathArgs,
"sourcepathArgs": sourcepathArgs,
"opts": opts,
+ "writeSdkValues": writeSdkValues,
+ "metadataZip": metadataZip,
+ "metadataDir": metadataDir,
},
})
}