Remove additional 'docs' Dir when genearate Soong droiddoc
Test: m -j core-docs Bug: b/70351683 Change-Id: Icb0b096e24ee8e498532ca32c9e9e74c2803191d
This commit is contained in:
@@ -67,7 +67,8 @@ var (
|
|||||||
|
|
||||||
metalava = pctx.AndroidStaticRule("metalava",
|
metalava = pctx.AndroidStaticRule("metalava",
|
||||||
blueprint.RuleParams{
|
blueprint.RuleParams{
|
||||||
Command: `rm -rf "$outDir" "$srcJarDir" "$stubsDir" && mkdir -p "$outDir" "$srcJarDir" "$stubsDir" && ` +
|
Command: `rm -rf "$outDir" "$srcJarDir" "$stubsDir" "$docStubsDir" && ` +
|
||||||
|
`mkdir -p "$outDir" "$srcJarDir" "$stubsDir" "$docStubsDir" && ` +
|
||||||
`${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
|
`${config.ZipSyncCmd} -d $srcJarDir -l $srcJarDir/list -f "*.java" $srcJars && ` +
|
||||||
`${config.JavaCmd} -jar ${config.MetalavaJar} -encoding UTF-8 -source $javaVersion @$out.rsp @$srcJarDir/list ` +
|
`${config.JavaCmd} -jar ${config.MetalavaJar} -encoding UTF-8 -source $javaVersion @$out.rsp @$srcJarDir/list ` +
|
||||||
`$bootclasspathArgs $classpathArgs -sourcepath $sourcepath --no-banner --color --quiet ` +
|
`$bootclasspathArgs $classpathArgs -sourcepath $sourcepath --no-banner --color --quiet ` +
|
||||||
@@ -85,7 +86,7 @@ var (
|
|||||||
RspfileContent: "$in",
|
RspfileContent: "$in",
|
||||||
Restat: true,
|
Restat: true,
|
||||||
},
|
},
|
||||||
"outDir", "srcJarDir", "stubsDir", "srcJars", "javaVersion", "bootclasspathArgs",
|
"outDir", "srcJarDir", "stubsDir", "docStubsDir", "srcJars", "javaVersion", "bootclasspathArgs",
|
||||||
"classpathArgs", "sourcepath", "opts", "docZip")
|
"classpathArgs", "sourcepath", "opts", "docZip")
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -572,9 +573,9 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
Inputs: j.srcFiles,
|
Inputs: j.srcFiles,
|
||||||
Implicits: implicits,
|
Implicits: implicits,
|
||||||
Args: map[string]string{
|
Args: map[string]string{
|
||||||
"outDir": android.PathForModuleOut(ctx, "docs", "out").String(),
|
"outDir": android.PathForModuleOut(ctx, "out").String(),
|
||||||
"srcJarDir": android.PathForModuleOut(ctx, "docs", "srcjars").String(),
|
"srcJarDir": android.PathForModuleOut(ctx, "srcjars").String(),
|
||||||
"stubsDir": android.PathForModuleOut(ctx, "docs", "stubsDir").String(),
|
"stubsDir": android.PathForModuleOut(ctx, "stubsDir").String(),
|
||||||
"srcJars": strings.Join(j.srcJars.Strings(), " "),
|
"srcJars": strings.Join(j.srcJars.Strings(), " "),
|
||||||
"opts": opts,
|
"opts": opts,
|
||||||
"bootclasspathArgs": bootClasspathArgs,
|
"bootclasspathArgs": bootClasspathArgs,
|
||||||
@@ -899,11 +900,11 @@ func (d *Droiddoc) collectStubsFlags(ctx android.ModuleContext, implicitOutputs
|
|||||||
}
|
}
|
||||||
|
|
||||||
if BoolDefault(d.properties.Create_stubs, true) {
|
if BoolDefault(d.properties.Create_stubs, true) {
|
||||||
doclavaFlags += " -stubs " + android.PathForModuleOut(ctx, "docs", "stubsDir").String()
|
doclavaFlags += " -stubs " + android.PathForModuleOut(ctx, "stubsDir").String()
|
||||||
}
|
}
|
||||||
|
|
||||||
if Bool(d.properties.Write_sdk_values) {
|
if Bool(d.properties.Write_sdk_values) {
|
||||||
doclavaFlags += " -sdkvalues " + android.PathForModuleOut(ctx, "docs", "out").String()
|
doclavaFlags += " -sdkvalues " + android.PathForModuleOut(ctx, "out").String()
|
||||||
}
|
}
|
||||||
return doclavaFlags, MetalavaFlags
|
return doclavaFlags, MetalavaFlags
|
||||||
}
|
}
|
||||||
@@ -915,7 +916,7 @@ func (d *Droiddoc) getPostDoclavaCmds(ctx android.ModuleContext, implicits *andr
|
|||||||
"static_doc_index_redirect")
|
"static_doc_index_redirect")
|
||||||
*implicits = append(*implicits, static_doc_index_redirect)
|
*implicits = append(*implicits, static_doc_index_redirect)
|
||||||
cmds = cmds + " && cp " + static_doc_index_redirect.String() + " " +
|
cmds = cmds + " && cp " + static_doc_index_redirect.String() + " " +
|
||||||
android.PathForModuleOut(ctx, "docs", "out", "index.html").String()
|
android.PathForModuleOut(ctx, "out", "index.html").String()
|
||||||
}
|
}
|
||||||
|
|
||||||
if String(d.properties.Static_doc_properties) != "" {
|
if String(d.properties.Static_doc_properties) != "" {
|
||||||
@@ -923,7 +924,7 @@ func (d *Droiddoc) getPostDoclavaCmds(ctx android.ModuleContext, implicits *andr
|
|||||||
"static_doc_properties")
|
"static_doc_properties")
|
||||||
*implicits = append(*implicits, static_doc_properties)
|
*implicits = append(*implicits, static_doc_properties)
|
||||||
cmds = cmds + " && cp " + static_doc_properties.String() + " " +
|
cmds = cmds + " && cp " + static_doc_properties.String() + " " +
|
||||||
android.PathForModuleOut(ctx, "docs", "out", "source.properties").String()
|
android.PathForModuleOut(ctx, "out", "source.properties").String()
|
||||||
}
|
}
|
||||||
return cmds
|
return cmds
|
||||||
}
|
}
|
||||||
@@ -931,18 +932,16 @@ func (d *Droiddoc) getPostDoclavaCmds(ctx android.ModuleContext, implicits *andr
|
|||||||
func (d *Droiddoc) collectMetalavaAnnotationsFlags(
|
func (d *Droiddoc) collectMetalavaAnnotationsFlags(
|
||||||
ctx android.ModuleContext, implicits *android.Paths, implicitOutputs *android.WritablePaths) string {
|
ctx android.ModuleContext, implicits *android.Paths, implicitOutputs *android.WritablePaths) string {
|
||||||
var flags string
|
var flags string
|
||||||
if String(d.properties.Metalava_previous_api) != "" {
|
|
||||||
previousApi := ctx.ExpandSource(String(d.properties.Metalava_previous_api),
|
|
||||||
"metalava_previous_api")
|
|
||||||
flags += " --previous-api " + previousApi.String()
|
|
||||||
*implicits = append(*implicits, previousApi)
|
|
||||||
}
|
|
||||||
|
|
||||||
if Bool(d.properties.Metalava_annotations_enabled) {
|
if Bool(d.properties.Metalava_annotations_enabled) {
|
||||||
if String(d.properties.Metalava_previous_api) == "" {
|
if String(d.properties.Metalava_previous_api) == "" {
|
||||||
ctx.PropertyErrorf("metalava_previous_api",
|
ctx.PropertyErrorf("metalava_previous_api",
|
||||||
"has to be non-empty if annotations was enabled!")
|
"has to be non-empty if annotations was enabled!")
|
||||||
}
|
}
|
||||||
|
previousApi := ctx.ExpandSource(String(d.properties.Metalava_previous_api),
|
||||||
|
"metalava_previous_api")
|
||||||
|
*implicits = append(*implicits, previousApi)
|
||||||
|
flags += " --previous-api " + previousApi.String()
|
||||||
|
|
||||||
flags += " --include-annotations --migrate-nullness"
|
flags += " --include-annotations --migrate-nullness"
|
||||||
|
|
||||||
d.annotationsZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"_annotations.zip")
|
d.annotationsZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"_annotations.zip")
|
||||||
@@ -971,12 +970,12 @@ func (d *Droiddoc) collectMetalavaAnnotationsFlags(
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *Droiddoc) collectMetalavaDocsFlags(ctx android.ModuleContext,
|
func (d *Droiddoc) collectMetalavaDocsFlags(ctx android.ModuleContext,
|
||||||
bootClasspathArgs, classpathArgs string) string {
|
bootClasspathArgs, classpathArgs, outDir, docStubsDir string) string {
|
||||||
return " --doc-stubs " + android.PathForModuleOut(ctx, "docs", "docStubsDir").String() +
|
return " --doc-stubs " + docStubsDir +
|
||||||
" --write-doc-stubs-source-list $outDir/doc_stubs_src_list " +
|
" --write-doc-stubs-source-list " + android.PathForModuleOut(ctx, "doc_stubs.srclist").String() +
|
||||||
" --generate-documentation ${config.JavadocCmd} -encoding UTF-8 DOC_STUBS_SOURCE_LIST " +
|
" --generate-documentation ${config.JavadocCmd} -encoding UTF-8 DOC_STUBS_SOURCE_LIST " +
|
||||||
bootClasspathArgs + " " + classpathArgs + " " + " -sourcepath " +
|
bootClasspathArgs + " " + classpathArgs + " " + " -sourcepath " +
|
||||||
android.PathForModuleOut(ctx, "docs", "docStubsDir").String() + " -quiet -d $outDir "
|
docStubsDir + " -quiet -d " + outDir
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||||
@@ -1009,15 +1008,18 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
outDir := android.PathForModuleOut(ctx, "out").String()
|
||||||
flags.doclavaStubsFlags, flags.metalavaStubsFlags = d.collectStubsFlags(ctx, &implicitOutputs)
|
flags.doclavaStubsFlags, flags.metalavaStubsFlags = d.collectStubsFlags(ctx, &implicitOutputs)
|
||||||
if Bool(d.properties.Metalava_enabled) {
|
if Bool(d.properties.Metalava_enabled) {
|
||||||
opts := flags.metalavaStubsFlags
|
opts := flags.metalavaStubsFlags
|
||||||
flags.metalavaAnnotationsFlags = d.collectMetalavaAnnotationsFlags(ctx, &implicits, &implicitOutputs)
|
flags.metalavaAnnotationsFlags = d.collectMetalavaAnnotationsFlags(ctx, &implicits, &implicitOutputs)
|
||||||
opts += flags.metalavaAnnotationsFlags
|
opts += flags.metalavaAnnotationsFlags
|
||||||
|
docStubsDir := android.PathForModuleOut(ctx, "docStubsDir").String()
|
||||||
if strings.Contains(flags.args, "--generate-documentation") {
|
if strings.Contains(flags.args, "--generate-documentation") {
|
||||||
// TODO(nanzhang): Add a Soong property to handle documentation args.
|
// TODO(nanzhang): Add a Soong property to handle documentation args.
|
||||||
flags.doclavaDocsFlags = d.collectDoclavaDocsFlags(ctx, &implicits, javaVersion, jsilver, doclava)
|
flags.doclavaDocsFlags = d.collectDoclavaDocsFlags(ctx, &implicits, javaVersion, jsilver, doclava)
|
||||||
flags.metalavaDocsFlags = d.collectMetalavaDocsFlags(ctx, flags.bootClasspathArgs, flags.classpathArgs)
|
flags.metalavaDocsFlags = d.collectMetalavaDocsFlags(ctx,
|
||||||
|
flags.bootClasspathArgs, flags.classpathArgs, outDir, docStubsDir)
|
||||||
opts += " " + strings.Split(flags.args, "--generate-documentation")[0] + " " +
|
opts += " " + strings.Split(flags.args, "--generate-documentation")[0] + " " +
|
||||||
flags.metalavaDocsFlags + flags.doclavaDocsFlags +
|
flags.metalavaDocsFlags + flags.doclavaDocsFlags +
|
||||||
" " + strings.Split(flags.args, "--generate-documentation")[1]
|
" " + strings.Split(flags.args, "--generate-documentation")[1]
|
||||||
@@ -1032,9 +1034,10 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
Implicits: implicits,
|
Implicits: implicits,
|
||||||
ImplicitOutputs: implicitOutputs,
|
ImplicitOutputs: implicitOutputs,
|
||||||
Args: map[string]string{
|
Args: map[string]string{
|
||||||
"outDir": android.PathForModuleOut(ctx, "docs", "out").String(),
|
"outDir": outDir,
|
||||||
"srcJarDir": android.PathForModuleOut(ctx, "docs", "srcjars").String(),
|
"srcJarDir": android.PathForModuleOut(ctx, "srcjars").String(),
|
||||||
"stubsDir": android.PathForModuleOut(ctx, "docs", "stubsDir").String(),
|
"stubsDir": android.PathForModuleOut(ctx, "stubsDir").String(),
|
||||||
|
"docStubsDir": docStubsDir,
|
||||||
"srcJars": strings.Join(d.Javadoc.srcJars.Strings(), " "),
|
"srcJars": strings.Join(d.Javadoc.srcJars.Strings(), " "),
|
||||||
"javaVersion": javaVersion,
|
"javaVersion": javaVersion,
|
||||||
"bootclasspathArgs": flags.bootClasspathArgs,
|
"bootclasspathArgs": flags.bootClasspathArgs,
|
||||||
@@ -1055,9 +1058,9 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
|||||||
Implicits: implicits,
|
Implicits: implicits,
|
||||||
ImplicitOutputs: implicitOutputs,
|
ImplicitOutputs: implicitOutputs,
|
||||||
Args: map[string]string{
|
Args: map[string]string{
|
||||||
"outDir": android.PathForModuleOut(ctx, "docs", "out").String(),
|
"outDir": outDir,
|
||||||
"srcJarDir": android.PathForModuleOut(ctx, "docs", "srcjars").String(),
|
"srcJarDir": android.PathForModuleOut(ctx, "srcjars").String(),
|
||||||
"stubsDir": android.PathForModuleOut(ctx, "docs", "stubsDir").String(),
|
"stubsDir": android.PathForModuleOut(ctx, "stubsDir").String(),
|
||||||
"srcJars": strings.Join(d.Javadoc.srcJars.Strings(), " "),
|
"srcJars": strings.Join(d.Javadoc.srcJars.Strings(), " "),
|
||||||
"opts": flags.doclavaDocsFlags + flags.doclavaStubsFlags + " " + flags.args,
|
"opts": flags.doclavaDocsFlags + flags.doclavaStubsFlags + " " + flags.args,
|
||||||
"bootclasspathArgs": flags.bootClasspathArgs,
|
"bootclasspathArgs": flags.bootClasspathArgs,
|
||||||
|
Reference in New Issue
Block a user