summaryrefslogtreecommitdiff
path: root/java/droiddoc.go
diff options
context:
space:
mode:
author Paul Duffin <paulduffin@google.com> 2019-12-23 13:32:08 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2019-12-23 13:32:08 +0000
commite2bc36f12c6b4237ac1cc94f7ad7ba78737a5132 (patch)
tree66771d84404c3c1b9b03d2605e597d6a5b240d68 /java/droiddoc.go
parent97e7279cc6ffaf707f03d0548392861e33034f98 (diff)
parent9b478b083197297f7a08b795e1d392aa12d1c493 (diff)
Merge "Generate .srcjar for prebuilt_stubs_sources"
Diffstat (limited to 'java/droiddoc.go')
-rw-r--r--java/droiddoc.go38
1 files changed, 32 insertions, 6 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 3b7f772d7..ff3f10a99 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -1948,12 +1948,42 @@ type PrebuiltStubsSources struct {
properties PrebuiltStubsSourcesProperties
- srcs android.Paths
+ // The source directories containing stubs source files.
+ srcDirs android.Paths
stubsSrcJar android.ModuleOutPath
}
+func (p *PrebuiltStubsSources) OutputFiles(tag string) (android.Paths, error) {
+ switch tag {
+ case "":
+ return android.Paths{p.stubsSrcJar}, nil
+ default:
+ return nil, fmt.Errorf("unsupported module reference tag %q", tag)
+ }
+}
+
func (p *PrebuiltStubsSources) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- p.srcs = android.PathsForModuleSrc(ctx, p.properties.Srcs)
+ p.stubsSrcJar = android.PathForModuleOut(ctx, ctx.ModuleName()+"-"+"stubs.srcjar")
+
+ p.srcDirs = android.PathsForModuleSrc(ctx, p.properties.Srcs)
+
+ rule := android.NewRuleBuilder()
+ command := rule.Command().
+ BuiltTool(ctx, "soong_zip").
+ Flag("-write_if_changed").
+ Flag("-jar").
+ FlagWithOutput("-o ", p.stubsSrcJar)
+
+ for _, d := range p.srcDirs {
+ dir := d.String()
+ command.
+ FlagWithArg("-C ", dir).
+ FlagWithInput("-D ", d)
+ }
+
+ rule.Restat()
+
+ rule.Build(pctx, ctx, "zip src", "Create srcjar from prebuilt source")
}
func (p *PrebuiltStubsSources) Prebuilt() *android.Prebuilt {
@@ -1964,10 +1994,6 @@ func (p *PrebuiltStubsSources) Name() string {
return p.prebuilt.Name(p.ModuleBase.Name())
}
-func (p *PrebuiltStubsSources) Srcs() android.Paths {
- return append(android.Paths{}, p.srcs...)
-}
-
// prebuilt_stubs_sources imports a set of java source files as if they were
// generated by droidstubs.
//