diff options
-rw-r--r-- | android/config.go | 4 | ||||
-rw-r--r-- | android/variable.go | 7 | ||||
-rw-r--r-- | cc/linker.go | 8 | ||||
-rw-r--r-- | java/droiddoc.go | 3 |
4 files changed, 12 insertions, 10 deletions
diff --git a/android/config.go b/android/config.go index c9d7dabc..a81b9284 100644 --- a/android/config.go +++ b/android/config.go @@ -570,8 +570,8 @@ func (c *config) BuildId() string { return String(c.productVariables.BuildId) } -func (c *config) BuildNumberFromFile() string { - return String(c.productVariables.BuildNumberFromFile) +func (c *config) BuildNumberFile(ctx PathContext) Path { + return PathForOutput(ctx, String(c.productVariables.BuildNumberFile)) } // DeviceName returns the name of the current device target diff --git a/android/variable.go b/android/variable.go index 06bd4ed8..e4dd9fca 100644 --- a/android/variable.go +++ b/android/variable.go @@ -140,9 +140,8 @@ type productVariables struct { // Suffix to add to generated Makefiles Make_suffix *string `json:",omitempty"` - BuildId *string `json:",omitempty"` - BuildNumberFromFile *string `json:",omitempty"` - DateFromFile *string `json:",omitempty"` + BuildId *string `json:",omitempty"` + BuildNumberFile *string `json:",omitempty"` Platform_version_name *string `json:",omitempty"` Platform_sdk_version *int `json:",omitempty"` @@ -347,7 +346,7 @@ func stringPtr(v string) *string { func (v *productVariables) SetDefaultConfig() { *v = productVariables{ - BuildNumberFromFile: stringPtr("123456789"), + BuildNumberFile: stringPtr("build_number.txt"), Platform_version_name: stringPtr("Q"), Platform_sdk_version: intPtr(28), diff --git a/cc/linker.go b/cc/linker.go index af4cbf33..a7b621a9 100644 --- a/cc/linker.go +++ b/cc/linker.go @@ -501,19 +501,21 @@ func init() { var injectVersionSymbol = pctx.AndroidStaticRule("injectVersionSymbol", blueprint.RuleParams{ Command: "$symbolInjectCmd -i $in -o $out -s soong_build_number " + - "-from 'SOONG BUILD NUMBER PLACEHOLDER' -v $buildNumberFromFile", + "-from 'SOONG BUILD NUMBER PLACEHOLDER' -v $$(cat $buildNumberFile)", CommandDeps: []string{"$symbolInjectCmd"}, }, - "buildNumberFromFile") + "buildNumberFile") func (linker *baseLinker) injectVersionSymbol(ctx ModuleContext, in android.Path, out android.WritablePath) { + buildNumberFile := ctx.Config().BuildNumberFile(ctx) ctx.Build(pctx, android.BuildParams{ Rule: injectVersionSymbol, Description: "inject version symbol", Input: in, Output: out, + OrderOnly: android.Paths{buildNumberFile}, Args: map[string]string{ - "buildNumberFromFile": proptools.NinjaEscape(ctx.Config().BuildNumberFromFile()), + "buildNumberFile": buildNumberFile.String(), }, }) } diff --git a/java/droiddoc.go b/java/droiddoc.go index 70d997a4..1ac7444a 100644 --- a/java/droiddoc.go +++ b/java/droiddoc.go @@ -773,6 +773,7 @@ func (d *Droiddoc) DepsMutator(ctx android.BottomUpMutatorContext) { } func (d *Droiddoc) doclavaDocsFlags(ctx android.ModuleContext, cmd *android.RuleBuilderCommand, docletPath classpath) { + buildNumberFile := ctx.Config().BuildNumberFile(ctx) // Droiddoc always gets "-source 1.8" because it doesn't support 1.9 sources. For modules with 1.9 // sources, droiddoc will get sources produced by metalava which will have already stripped out the // 1.9 language features. @@ -782,7 +783,7 @@ func (d *Droiddoc) doclavaDocsFlags(ctx android.ModuleContext, cmd *android.Rule Flag("-XDignore.symbol.file"). FlagWithArg("-doclet ", "com.google.doclava.Doclava"). FlagWithInputList("-docletpath ", docletPath.Paths(), ":"). - FlagWithArg("-hdf page.build ", ctx.Config().BuildId()+"-"+ctx.Config().BuildNumberFromFile()). + FlagWithArg("-hdf page.build ", ctx.Config().BuildId()+"-$(cat "+buildNumberFile.String()+")").OrderOnly(buildNumberFile). FlagWithArg("-hdf page.now ", `"$(date -d @$(cat `+ctx.Config().Getenv("BUILD_DATETIME_FILE")+`) "+%d %b %Y %k:%M")" `) if String(d.properties.Custom_template) == "" { |