Prettify soong ninja build descriptions

am: 67a5c132c5

Change-Id: Ifaa329e7d9c636e738fcd3119a47b7a44ebe5074
This commit is contained in:
Colin Cross
2017-05-10 23:46:12 +00:00
committed by android-build-merger
16 changed files with 249 additions and 187 deletions

View File

@@ -16,6 +16,7 @@ package android
import (
"encoding/json"
"path/filepath"
"github.com/google/blueprint"
)
@@ -40,6 +41,7 @@ func createApiLevelsJson(ctx blueprint.SingletonContext, file string,
ctx.Build(pctx, blueprint.BuildParams{
Rule: WriteFile,
Description: "generate " + filepath.Base(file),
Outputs: []string{file},
Args: map[string]string{
"content": string(jsonStr[:]),

View File

@@ -224,6 +224,21 @@ const (
HostCross
)
func (class OsClass) String() string {
switch class {
case Generic:
return "generic"
case Device:
return "device"
case Host:
return "host"
case HostCross:
return "host cross"
default:
panic(fmt.Errorf("unknown class %d", class))
}
}
func (os OsType) String() string {
return os.Name
}

View File

@@ -36,6 +36,7 @@ type ModuleBuildParams struct {
Rule blueprint.Rule
Deps blueprint.Deps
Depfile WritablePath
Description string
Output WritablePath
Outputs WritablePaths
ImplicitOutput WritablePath
@@ -480,6 +481,23 @@ func (a *ModuleBase) GenerateBuildActions(ctx blueprint.ModuleContext) {
missingDeps: ctx.GetMissingDependencies(),
}
desc := "//" + ctx.ModuleDir() + ":" + ctx.ModuleName() + " "
var suffix []string
if androidCtx.Os().Class != Device && androidCtx.Os().Class != Generic {
suffix = append(suffix, androidCtx.Os().String())
}
if !androidCtx.PrimaryArch() {
suffix = append(suffix, androidCtx.Arch().ArchType.String())
}
ctx.Variable(pctx, "moduleDesc", desc)
s := ""
if len(suffix) > 0 {
s = " [" + strings.Join(suffix, " ") + "]"
}
ctx.Variable(pctx, "moduleDescSuffix", s)
if a.Enabled() {
a.module.GenerateAndroidBuildActions(androidCtx)
if ctx.Failed() {
@@ -516,9 +534,10 @@ type androidModuleContext struct {
module Module
}
func (a *androidModuleContext) ninjaError(outputs []string, err error) {
func (a *androidModuleContext) ninjaError(desc string, outputs []string, err error) {
a.ModuleContext.Build(pctx, blueprint.BuildParams{
Rule: ErrorRule,
Description: desc,
Outputs: outputs,
Optional: true,
Args: map[string]string{
@@ -530,7 +549,8 @@ func (a *androidModuleContext) ninjaError(outputs []string, err error) {
func (a *androidModuleContext) Build(pctx blueprint.PackageContext, params blueprint.BuildParams) {
if a.missingDeps != nil {
a.ninjaError(params.Outputs, fmt.Errorf("module %s missing dependencies: %s\n",
a.ninjaError(params.Description, params.Outputs,
fmt.Errorf("module %s missing dependencies: %s\n",
a.ModuleName(), strings.Join(a.missingDeps, ", ")))
return
}
@@ -552,6 +572,10 @@ func (a *androidModuleContext) ModuleBuild(pctx blueprint.PackageContext, params
Optional: !params.Default,
}
if params.Description != "" {
bparams.Description = "${moduleDesc}" + params.Description + "${moduleDescSuffix}"
}
if params.Depfile != nil {
bparams.Depfile = params.Depfile.String()
}
@@ -569,7 +593,8 @@ func (a *androidModuleContext) ModuleBuild(pctx blueprint.PackageContext, params
}
if a.missingDeps != nil {
a.ninjaError(bparams.Outputs, fmt.Errorf("module %s missing dependencies: %s\n",
a.ninjaError(bparams.Description, bparams.Outputs,
fmt.Errorf("module %s missing dependencies: %s\n",
a.ModuleName(), strings.Join(a.missingDeps, ", ")))
return
}
@@ -624,6 +649,9 @@ func (a *androidBaseContextImpl) Debug() bool {
}
func (a *androidBaseContextImpl) PrimaryArch() bool {
if len(a.config.Targets[a.target.Os.Class]) <= 1 {
return true
}
return a.target.Arch.ArchType == a.config.Targets[a.target.Os.Class][0].Arch.ArchType
}
@@ -687,6 +715,7 @@ func (a *androidModuleContext) InstallFileName(installPath OutputPath, name stri
a.ModuleBuild(pctx, ModuleBuildParams{
Rule: Cp,
Description: "install " + fullInstallPath.Base(),
Output: fullInstallPath,
Input: srcPath,
Implicits: implicitDeps,
@@ -712,6 +741,7 @@ func (a *androidModuleContext) InstallSymlink(installPath OutputPath, name strin
a.ModuleBuild(pctx, ModuleBuildParams{
Rule: Symlink,
Description: "install symlink " + fullInstallPath.Base(),
Output: fullInstallPath,
OrderOnly: Paths{srcPath},
Default: !a.AConfig().EmbeddedInMake(),

View File

@@ -45,7 +45,6 @@ var (
Deps: blueprint.DepsGCC,
Command: "$relPwd ${config.CcWrapper}$ccCmd -c $cFlags -MD -MF ${out}.d -o $out $in",
CommandDeps: []string{"$ccCmd"},
Description: "cc $out",
},
"ccCmd", "cFlags")
@@ -54,7 +53,6 @@ var (
Command: "$ldCmd ${crtBegin} @${out}.rsp " +
"${libFlags} ${crtEnd} -o ${out} ${ldFlags}",
CommandDeps: []string{"$ldCmd"},
Description: "ld $out",
Rspfile: "${out}.rsp",
RspfileContent: "${in}",
},
@@ -64,7 +62,6 @@ var (
blueprint.RuleParams{
Command: "$ldCmd -nostdlib -Wl,-r ${in} -o ${out} ${ldFlags}",
CommandDeps: []string{"$ldCmd"},
Description: "partialLd $out",
},
"ldCmd", "ldFlags")
@@ -72,7 +69,6 @@ var (
blueprint.RuleParams{
Command: "rm -f ${out} && $arCmd $arFlags $out @${out}.rsp",
CommandDeps: []string{"$arCmd"},
Description: "ar $out",
Rspfile: "${out}.rsp",
RspfileContent: "${in}",
},
@@ -82,7 +78,6 @@ var (
blueprint.RuleParams{
Command: "rm -f ${out} && ${config.MacArPath} $arFlags $out $in",
CommandDeps: []string{"${config.MacArPath}"},
Description: "ar $out",
},
"arFlags")
@@ -90,7 +85,6 @@ var (
blueprint.RuleParams{
Command: "cp -f ${inAr} ${out}.tmp && ${config.MacArPath} $arFlags ${out}.tmp $in && mv ${out}.tmp ${out}",
CommandDeps: []string{"${config.MacArPath}", "${inAr}"},
Description: "ar $out",
},
"arFlags", "inAr")
@@ -98,14 +92,12 @@ var (
blueprint.RuleParams{
Command: "${config.MacStripPath} -u -r -o $out $in",
CommandDeps: []string{"${config.MacStripPath}"},
Description: "strip $out",
})
prefixSymbols = pctx.AndroidStaticRule("prefixSymbols",
blueprint.RuleParams{
Command: "$objcopyCmd --prefix-symbols=${prefix} ${in} ${out}",
CommandDeps: []string{"$objcopyCmd"},
Description: "prefixSymbols $out",
},
"objcopyCmd", "prefix")
@@ -117,14 +109,12 @@ var (
Deps: blueprint.DepsGCC,
Command: "CROSS_COMPILE=$crossCompile $stripPath ${args} -i ${in} -o ${out} -d ${out}.d",
CommandDeps: []string{"$stripPath"},
Description: "strip $out",
},
"args", "crossCompile")
emptyFile = pctx.AndroidStaticRule("emptyFile",
blueprint.RuleParams{
Command: "rm -f $out && touch $out",
Description: "empty file $out",
})
_ = pctx.SourcePathVariable("copyGccLibPath", "build/soong/scripts/copygcclib.sh")
@@ -135,7 +125,6 @@ var (
Deps: blueprint.DepsGCC,
Command: "$copyGccLibPath $out $ccCmd $cFlags -print-file-name=${libName}",
CommandDeps: []string{"$copyGccLibPath", "$ccCmd"},
Description: "copy gcc $out",
},
"ccCmd", "cFlags", "libName")
@@ -155,7 +144,6 @@ var (
blueprint.RuleParams{
Command: "rm -f $out && ${config.ClangBin}/clang-tidy $tidyFlags $in -- $cFlags && touch $out",
CommandDeps: []string{"${config.ClangBin}/clang-tidy"},
Description: "tidy $out",
},
"cFlags", "tidyFlags")
@@ -165,7 +153,6 @@ var (
blueprint.RuleParams{
Command: "$yasmCmd $asFlags -o $out $in",
CommandDeps: []string{"$yasmCmd"},
Description: "yasm $out",
},
"asFlags")
@@ -175,7 +162,6 @@ var (
blueprint.RuleParams{
Command: "rm -f $out && $sAbiDumper -o ${out} $in $exportDirs -- $cFlags -Wno-packed -Qunused-arguments -isystem ${config.RSIncludePath}",
CommandDeps: []string{"$sAbiDumper"},
Description: "header-abi-dumper $in -o $out $exportDirs",
},
"cFlags", "exportDirs")
@@ -185,7 +171,6 @@ var (
blueprint.RuleParams{
Command: "$sAbiLinker -o ${out} $symbolFile -arch $arch -api $api $exportedHeaderFlags @${out}.rsp ",
CommandDeps: []string{"$sAbiLinker"},
Description: "header-abi-linker $in -o $out",
Rspfile: "${out}.rsp",
RspfileContent: "${in}",
},
@@ -197,7 +182,6 @@ var (
blueprint.RuleParams{
Command: "$sAbiDiffer -advice-only -o ${out} -new $in -old $referenceDump",
CommandDeps: []string{"$sAbiDiffer"},
Description: "header-abi-diff -o ${out} -new $in -old $referenceDump",
},
"referenceDump")
)
@@ -324,6 +308,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
if srcFile.Ext() == ".asm" {
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: yasm,
Description: "yasm " + srcFile.Rel(),
Output: objFile,
Input: srcFile,
OrderOnly: deps,
@@ -367,7 +352,11 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
default:
panic("unrecoginzied ccCmd")
}
}
ccDesc := ccCmd
if flags.clang {
ccCmd = "${config.ClangBin}/" + ccCmd
} else {
ccCmd = gccCmd(flags.toolchain, ccCmd)
@@ -382,6 +371,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: cc,
Description: ccDesc + " " + srcFile.Rel(),
Output: objFile,
ImplicitOutputs: implicitOutputs,
Input: srcFile,
@@ -398,6 +388,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: clangTidy,
Description: "clang-tidy " + srcFile.Rel(),
Output: tidyFile,
Input: srcFile,
// We must depend on objFile, since clang-tidy doesn't
@@ -416,6 +407,7 @@ func TransformSourceToObj(ctx android.ModuleContext, subdir string, srcFiles and
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: sAbiDump,
Description: "header-abi-dumper " + srcFile.Rel(),
Output: sAbiDumpFile,
Input: srcFile,
Implicit: objFile,
@@ -453,6 +445,7 @@ func TransformObjToStaticLib(ctx android.ModuleContext, objFiles android.Paths,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: ar,
Description: "static link " + outputFile.Base(),
Output: outputFile,
Inputs: objFiles,
Implicits: deps,
@@ -478,12 +471,14 @@ func transformDarwinObjToStaticLib(ctx android.ModuleContext, objFiles android.P
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: emptyFile,
Description: "empty object file",
Output: dummy,
Implicits: deps,
})
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: darwinAr,
Description: "empty static archive",
Output: dummyAr,
Input: dummy,
Args: map[string]string{
@@ -493,6 +488,7 @@ func transformDarwinObjToStaticLib(ctx android.ModuleContext, objFiles android.P
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: darwinAppendAr,
Description: "static link " + outputFile.Base(),
Output: outputFile,
Input: dummy,
Args: map[string]string{
@@ -520,6 +516,7 @@ func transformDarwinObjToStaticLib(ctx android.ModuleContext, objFiles android.P
build := android.ModuleBuildParams{
Rule: darwinAr,
Description: "static link " + out.Base(),
Output: out,
Inputs: l,
Implicits: deps,
@@ -593,6 +590,7 @@ func TransformObjToDynamicBinary(ctx android.ModuleContext,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: ld,
Description: "link " + outputFile.Base(),
Output: outputFile,
Inputs: objFiles,
Implicits: deps,
@@ -619,6 +617,7 @@ func TransformDumpToLinkedDump(ctx android.ModuleContext, sAbiDumps android.Path
}
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: sAbiLink,
Description: "header-abi-linker " + outputFile.Base(),
Output: outputFile,
Inputs: sAbiDumps,
Implicit: linkedDumpDep,
@@ -637,6 +636,7 @@ func SourceAbiDiff(ctx android.ModuleContext, inputDump android.Path, referenceD
outputFile := android.PathForModuleOut(ctx, baseName+".abidiff")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: sAbiDiff,
Description: "header-abi-diff " + outputFile.Base(),
Output: outputFile,
Input: inputDump,
Implicit: referenceDump,
@@ -655,6 +655,7 @@ func TransformSharedObjectToToc(ctx android.ModuleContext, inputFile android.Wri
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: toc,
Description: "generate toc " + inputFile.Base(),
Output: outputFile,
Input: inputFile,
Args: map[string]string{
@@ -676,6 +677,7 @@ func TransformObjsToObj(ctx android.ModuleContext, objFiles android.Paths,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: partialLd,
Description: "link " + outputFile.Base(),
Output: outputFile,
Inputs: objFiles,
Args: map[string]string{
@@ -693,6 +695,7 @@ func TransformBinaryPrefixSymbols(ctx android.ModuleContext, prefix string, inpu
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: prefixSymbols,
Description: "prefix symbols " + outputFile.Base(),
Output: outputFile,
Input: inputFile,
Args: map[string]string{
@@ -719,6 +722,7 @@ func TransformStrip(ctx android.ModuleContext, inputFile android.Path,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: strip,
Description: "strip " + outputFile.Base(),
Output: outputFile,
Input: inputFile,
Args: map[string]string{
@@ -733,6 +737,7 @@ func TransformDarwinStrip(ctx android.ModuleContext, inputFile android.Path,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: darwinStrip,
Description: "strip " + outputFile.Base(),
Output: outputFile,
Input: inputFile,
})
@@ -757,6 +762,7 @@ func CopyGccLib(ctx android.ModuleContext, libName string,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: copyGccLib,
Description: "copy gcc library " + libName,
Output: outputFile,
Args: map[string]string{
"ccCmd": gccCmd(flags.toolchain, "gcc"),

View File

@@ -37,7 +37,6 @@ var (
blueprint.RuleParams{
Command: "BISON_PKGDATADIR=$yaccDataDir $yaccCmd -d $yaccFlags --defines=$hFile -o $out $in",
CommandDeps: []string{"$yaccCmd"},
Description: "yacc $out",
},
"yaccFlags", "hFile")
@@ -45,7 +44,6 @@ var (
blueprint.RuleParams{
Command: "$lexCmd -o$out $in",
CommandDeps: []string{"$lexCmd"},
Description: "lex $out",
})
aidl = pctx.AndroidStaticRule("aidl",
@@ -54,7 +52,6 @@ var (
CommandDeps: []string{"$aidlCmd"},
Depfile: "${out}.d",
Deps: blueprint.DepsGCC,
Description: "aidl $out",
},
"aidlFlags", "outDir")
)
@@ -64,6 +61,7 @@ func genYacc(ctx android.ModuleContext, yaccFile android.Path, outFile android.M
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: yacc,
Description: "yacc " + yaccFile.Rel(),
Output: outFile,
ImplicitOutput: headerFile,
Input: yaccFile,
@@ -80,6 +78,7 @@ func genAidl(ctx android.ModuleContext, aidlFile android.Path, outFile android.M
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: aidl,
Description: "aidl " + aidlFile.Rel(),
Output: outFile,
Input: aidlFile,
Args: map[string]string{
@@ -95,6 +94,7 @@ func genAidl(ctx android.ModuleContext, aidlFile android.Path, outFile android.M
func genLex(ctx android.ModuleContext, lexFile android.Path, outFile android.ModuleGenPath) {
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: lex,
Description: "lex " + lexFile.Rel(),
Output: outFile,
Input: lexFile,
})

View File

@@ -31,7 +31,6 @@ var (
// let us have only implicit outputs.
Command: "$versionerCmd -o $outDir $srcDir $depsPath && touch $out",
CommandDeps: []string{"$versionerCmd"},
Description: "versioner preprocess $in",
},
"depsPath", "srcDir", "outDir")
)
@@ -238,6 +237,7 @@ func processHeadersWithVersioner(ctx android.ModuleContext, srcDir, outDir andro
timestampFile := android.PathForModuleOut(ctx, "versioner.timestamp")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: preprocessBionicHeaders,
Description: "versioner preprocess " + srcDir.Rel(),
Output: timestampFile,
Implicits: append(srcFiles, depsGlob...),
ImplicitOutputs: installPaths,

View File

@@ -32,7 +32,6 @@ var (
blueprint.RuleParams{
Command: "$toolPath --arch $arch --api $apiLevel --api-map " +
"$apiMap $vndk $in $out",
Description: "genStubSrc $out",
CommandDeps: []string{"$toolPath"},
}, "arch", "apiLevel", "apiMap", "vndk")
@@ -252,6 +251,7 @@ func compileStubLibrary(ctx ModuleContext, flags Flags, symbolFile, apiLevel, vn
apiLevelsJson := android.GetApiLevelsJson(ctx)
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: genStubSrc,
Description: "generate stubs " + symbolFilePath.Rel(),
Outputs: []android.WritablePath{stubSrcPath, versionScriptPath},
Input: symbolFilePath,
Implicits: []android.Path{apiLevelsJson},

View File

@@ -114,6 +114,7 @@ func (n *ndkSingleton) GenerateBuildActions(ctx blueprint.SingletonContext) {
combinedLicense := getNdkInstallBase(ctx).Join(ctx, "NOTICE")
ctx.Build(pctx, blueprint.BuildParams{
Rule: android.Cat,
Description: "combine licenses",
Outputs: []string{combinedLicense.String()},
Inputs: licensePaths,
Optional: true,

View File

@@ -30,7 +30,6 @@ var (
blueprint.RuleParams{
Command: "$protocCmd --cpp_out=$outDir $protoFlags $in",
CommandDeps: []string{"$protocCmd"},
Description: "protoc $out",
}, "protoFlags", "outDir")
)
@@ -49,6 +48,7 @@ func genProto(ctx android.ModuleContext, protoFile android.Path,
headerFile := android.GenPathWithExt(ctx, "proto", protoFile, "pb.h")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: proto,
Description: "protoc " + protoFile.Rel(),
Outputs: android.WritablePaths{outFile, headerFile},
Input: protoFile,
Args: map[string]string{

View File

@@ -30,7 +30,6 @@ var relocationPackerRule = pctx.AndroidStaticRule("packRelocations",
blueprint.RuleParams{
Command: "rm -f $out && cp $in $out && $relocationPackerCmd $out",
CommandDeps: []string{"$relocationPackerCmd"},
Description: "pack relocations $out",
})
type RelocationPackerProperties struct {
@@ -78,6 +77,7 @@ func (p *relocationPacker) needsPacking(ctx ModuleContext) bool {
func (p *relocationPacker) pack(ctx ModuleContext, in, out android.ModuleOutPath, flags builderFlags) {
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: relocationPackerRule,
Description: "pack relocations",
Output: out,
Input: in,
})

View File

@@ -39,7 +39,6 @@ var (
CommandDeps: []string{"$rsCmd"},
Depfile: "${out}.d",
Deps: blueprint.DepsGCC,
Description: "rsCpp $out",
},
"depFiles", "outDir", "rsFlags", "stampFile")
)
@@ -67,6 +66,7 @@ func rsGenerateCpp(ctx android.ModuleContext, rsFiles android.Paths, rsFlags str
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: rsCpp,
Description: "llvm-rs-cc",
Output: stampFile,
ImplicitOutputs: cppFiles,
Inputs: rsFiles,

View File

@@ -218,8 +218,14 @@ func (g *generator) GenerateAndroidBuildActions(ctx android.ModuleContext) {
}
func (g *generator) generateSourceFile(ctx android.ModuleContext, task generateTask) {
desc := "generate"
if len(task.out) == 1 {
desc += " " + task.out[0].Base()
}
params := android.ModuleBuildParams{
Rule: g.rule,
Description: "generate",
Outputs: task.out,
Inputs: task.in,
Implicits: g.deps,

View File

@@ -34,7 +34,6 @@ var (
`-J $javaDir || ( rm -rf "$javaDir/*"; exit 41 ) && ` +
`find $javaDir -name "*.java" > $javaFileList`,
CommandDeps: []string{"$aaptCmd"},
Description: "aapt create R.java $out",
},
"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
@@ -42,7 +41,6 @@ var (
blueprint.RuleParams{
Command: `rm -f $out && $aaptCmd package $aaptFlags -F $out`,
CommandDeps: []string{"$aaptCmd"},
Description: "aapt export package $out",
},
"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
@@ -51,7 +49,6 @@ var (
// TODO: add-jni-shared-libs-to-package
Command: `cp -f $in $out.tmp && $aaptCmd package -u $aaptFlags -F $out.tmp && mv $out.tmp $out`,
CommandDeps: []string{"$aaptCmd"},
Description: "aapt package $out",
},
"aaptFlags")
@@ -59,7 +56,6 @@ var (
blueprint.RuleParams{
Command: `java -jar $signapkCmd $certificates $in $out`,
CommandDeps: []string{"$signapkCmd"},
Description: "signapk $out",
},
"certificates")
@@ -68,7 +64,7 @@ var (
Command: "java -classpath $androidManifestMergerCmd com.android.manifmerger.Main merge " +
"--main $in --libs $libsManifests --out $out",
CommandDeps: []string{"$androidManifestMergerCmd"},
Description: "merge manifest files $out",
Description: "merge manifest files",
},
"libsManifests")
)
@@ -88,6 +84,7 @@ func CreateResourceJavaFiles(ctx android.ModuleContext, flags []string,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: aaptCreateResourceJavaFile,
Description: "aapt create R.java",
Outputs: android.WritablePaths{publicResourcesFile, proguardOptionsFile, javaFileList},
Implicits: deps,
Args: map[string]string{
@@ -107,6 +104,7 @@ func CreateExportPackage(ctx android.ModuleContext, flags []string, deps android
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: aaptCreateAssetsPackage,
Description: "aapt export package",
Output: outputFile,
Implicits: deps,
Args: map[string]string{
@@ -124,6 +122,7 @@ func CreateAppPackage(ctx android.ModuleContext, flags []string, jarFile android
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: aaptAddResources,
Description: "aapt package",
Output: resourceApk,
Input: jarFile,
Args: map[string]string{
@@ -140,6 +139,7 @@ func CreateAppPackage(ctx android.ModuleContext, flags []string, jarFile android
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: signapk,
Description: "signapk",
Output: outputFile,
Input: resourceApk,
Args: map[string]string{

View File

@@ -45,7 +45,6 @@ var (
`find $outDir -name "*.class" > $out`,
Rspfile: "$out.rsp",
RspfileContent: "$in",
Description: "javac $outDir",
},
"javacCmd", "javacFlags", "bootClasspath", "classpath", "outDir")
@@ -53,7 +52,6 @@ var (
blueprint.RuleParams{
Command: `$jarCmd -o $out $jarArgs`,
CommandDeps: []string{"$jarCmd"},
Description: "jar $out",
},
"jarCmd", "jarArgs")
@@ -63,7 +61,6 @@ var (
`$dxCmd --dex --output=$outDir $dxFlags $in || ( rm -rf "$outDir"; exit 41 ) && ` +
`find "$outDir" -name "classes*.dex" > $out`,
CommandDeps: []string{"$dxCmd"},
Description: "dex $out",
},
"outDir", "dxFlags")
@@ -71,7 +68,6 @@ var (
blueprint.RuleParams{
Command: "java -jar $jarjarCmd process $rulesFile $in $out",
CommandDeps: []string{"$jarjarCmd", "$rulesFile"},
Description: "jarjar $out",
},
"rulesFile")
@@ -81,7 +77,6 @@ var (
`find $outDir -name "*.class" > $classFile && ` +
`find $outDir -type f -a \! -name "*.class" -a \! -name "MANIFEST.MF" > $resourceFile || ` +
`(rm -rf $outDir; exit 42)`,
Description: "extract java prebuilt $outDir",
},
"outDir", "classFile", "resourceFile")
)
@@ -123,6 +118,7 @@ func TransformJavaToClasses(ctx android.ModuleContext, srcFiles android.Paths, s
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: javac,
Description: "javac",
Output: classFileList,
Inputs: srcFiles,
Implicits: deps,
@@ -157,6 +153,7 @@ func TransformClassesToJar(ctx android.ModuleContext, classes []jarSpec,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: jar,
Description: "jar",
Output: outputFile,
Implicits: deps,
Args: map[string]string{
@@ -175,6 +172,7 @@ func TransformClassesJarToDex(ctx android.ModuleContext, classesJar android.Path
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: dx,
Description: "dx",
Output: outputFile,
Input: classesJar,
Args: map[string]string{
@@ -203,6 +201,7 @@ func TransformDexToJavaLib(ctx android.ModuleContext, resources []jarSpec,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: jar,
Description: "jar",
Output: outputFile,
Implicits: deps,
Args: map[string]string{
@@ -217,6 +216,7 @@ func TransformJarJar(ctx android.ModuleContext, classesJar android.Path, rulesFi
outputFile := android.PathForModuleOut(ctx, "classes-jarjar.jar")
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: jarjar,
Description: "jarjar",
Output: outputFile,
Input: classesJar,
Implicit: rulesFile,
@@ -237,6 +237,7 @@ func TransformPrebuiltJarToClasses(ctx android.ModuleContext,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: extractPrebuilt,
Description: "extract classes",
Outputs: android.WritablePaths{classFileList, resourceFileList},
Input: prebuilt,
Args: map[string]string{

View File

@@ -37,7 +37,6 @@ var (
blueprint.RuleParams{
Command: "$aidlCmd -d$depFile $aidlFlags $in $out",
CommandDeps: []string{"$aidlCmd"},
Description: "aidl $out",
},
"depFile", "aidlFlags")
@@ -45,14 +44,12 @@ var (
blueprint.RuleParams{
Command: "$logtagsCmd -o $out $in $allLogtagsFile",
CommandDeps: []string{"$logtagsCmd"},
Description: "logtags $out",
})
mergeLogtags = pctx.AndroidStaticRule("mergeLogtags",
blueprint.RuleParams{
Command: "$mergeLogtagsCmd -o $out $in",
CommandDeps: []string{"$mergeLogtagsCmd"},
Description: "merge logtags $out",
})
)
@@ -62,6 +59,7 @@ func genAidl(ctx android.ModuleContext, aidlFile android.Path, aidlFlags string)
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: aidl,
Description: "aidl " + aidlFile.Rel(),
Output: javaFile,
Input: aidlFile,
Args: map[string]string{
@@ -78,6 +76,7 @@ func genLogtags(ctx android.ModuleContext, logtagsFile android.Path) android.Pat
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: logtags,
Description: "logtags " + logtagsFile.Rel(),
Output: javaFile,
Input: logtagsFile,
})
@@ -123,6 +122,7 @@ func (l *logtagsSingleton) GenerateBuildActions(ctx blueprint.SingletonContext)
ctx.Build(pctx, blueprint.BuildParams{
Rule: mergeLogtags,
Description: "merge logtags",
Outputs: []string{"$allLogtagsFile"},
Inputs: allLogtags.Strings(),
})

View File

@@ -35,7 +35,6 @@ var (
`$parCmd -o $parFile $parArgs && echo '#!/usr/bin/env python' | cat - $parFile > $out && ` +
`chmod +x $out && (rm -f $initFile; rm -f $stub; rm -f $parFile)`,
CommandDeps: []string{"$parCmd", "$template"},
Description: "build par $out",
},
"initFile", "interp", "main", "template", "stub", "parCmd", "parFile", "parArgs")
)
@@ -79,6 +78,7 @@ func registerBuildActionForModuleFileList(ctx android.ModuleContext,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: android.WriteFile,
Description: "generate " + fileList.Rel(),
Output: fileList,
Implicits: files,
Args: map[string]string{
@@ -127,6 +127,7 @@ func registerBuildActionForParFile(ctx android.ModuleContext,
ctx.ModuleBuild(pctx, android.ModuleBuildParams{
Rule: par,
Description: "python archive",
Output: binFile,
Implicits: implicits,
Args: map[string]string{