aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd/pom2bp/pom2bp.go4
-rw-r--r--genrule/genrule.go27
-rw-r--r--java/aar.go7
-rw-r--r--java/droiddoc.go12
-rw-r--r--java/system_modules.go24
5 files changed, 46 insertions, 28 deletions
diff --git a/cmd/pom2bp/pom2bp.go b/cmd/pom2bp/pom2bp.go
index 7b06035d..9aa25f07 100644
--- a/cmd/pom2bp/pom2bp.go
+++ b/cmd/pom2bp/pom2bp.go
@@ -281,8 +281,8 @@ var bpTemplate = template.Must(template.New("bp").Parse(`
{{if .IsAar}}android_library{{else}}java_library_static{{end}} {
name: "{{.BpName}}",
sdk_version: "{{.SdkVersion}}",{{if .IsAar}}
- min_sdk_version: "{{.MinSdkVersion}}",{{end}}
- manifest: "manifests/{{.BpName}}/AndroidManifest.xml",
+ min_sdk_version: "{{.MinSdkVersion}}",
+ manifest: "manifests/{{.BpName}}/AndroidManifest.xml",{{end}}
static_libs: [
"{{.BpName}}-nodeps",{{range .BpJarDeps}}
"{{.}}",{{end}}{{range .BpAarDeps}}
diff --git a/genrule/genrule.go b/genrule/genrule.go
index d03d4ee2..03d4ea6f 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -223,13 +223,18 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
task := g.taskGenerator(ctx, String(g.properties.Cmd), srcFiles)
rawCommand, err := android.Expand(task.cmd, func(name string) (string, error) {
+ // report the error directly without returning an error to android.Expand to catch multiple errors in a
+ // single run
+ reportError := func(fmt string, args ...interface{}) (string, error) {
+ ctx.PropertyErrorf("cmd", fmt, args...)
+ return "SOONG_ERROR", nil
+ }
+
switch name {
case "location":
if len(g.properties.Tools) == 0 && len(toolFiles) == 0 {
- return "", fmt.Errorf("at least one `tools` or `tool_files` is required if $(location) is used")
- }
-
- if len(g.properties.Tools) > 0 {
+ return reportError("at least one `tools` or `tool_files` is required if $(location) is used")
+ } else if len(g.properties.Tools) > 0 {
return tools[g.properties.Tools[0]].String(), nil
} else {
return tools[toolFiles[0].Rel()].String(), nil
@@ -241,7 +246,7 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
case "depfile":
referencedDepfile = true
if !Bool(g.properties.Depfile) {
- return "", fmt.Errorf("$(depfile) used without depfile property")
+ return reportError("$(depfile) used without depfile property")
}
return "__SBOX_DEPFILE__", nil
case "genDir":
@@ -252,22 +257,22 @@ func (g *Module) GenerateAndroidBuildActions(ctx android.ModuleContext) {
if tool, ok := tools[label]; ok {
return tool.String(), nil
} else {
- return "", fmt.Errorf("unknown location label %q", label)
+ return reportError("unknown location label %q", label)
}
}
- return "", fmt.Errorf("unknown variable '$(%s)'", name)
+ return reportError("unknown variable '$(%s)'", name)
}
})
- if Bool(g.properties.Depfile) && !referencedDepfile {
- ctx.PropertyErrorf("cmd", "specified depfile=true but did not include a reference to '${depfile}' in cmd")
- }
-
if err != nil {
ctx.PropertyErrorf("cmd", "%s", err.Error())
return
}
+ if Bool(g.properties.Depfile) && !referencedDepfile {
+ ctx.PropertyErrorf("cmd", "specified depfile=true but did not include a reference to '${depfile}' in cmd")
+ }
+
// tell the sbox command which directory to use as its sandbox root
buildDir := android.PathForOutput(ctx).String()
sandboxPath := shared.TempDirForOutDir(buildDir)
diff --git a/java/aar.go b/java/aar.go
index 506f39f8..a4069bb8 100644
--- a/java/aar.go
+++ b/java/aar.go
@@ -323,6 +323,7 @@ func AndroidLibraryFactory() android.Module {
&module.androidLibraryProperties)
module.androidLibraryProperties.BuildAAR = true
+ module.properties.Installable = proptools.BoolPtr(false)
android.InitAndroidArchModule(module, android.DeviceSupported, android.MultilibCommon)
return module
@@ -335,7 +336,8 @@ func AndroidLibraryFactory() android.Module {
type AARImportProperties struct {
Aars []string
- Sdk_version *string
+ Sdk_version *string
+ Min_sdk_version *string
Static_libs []string
Libs []string
@@ -361,6 +363,9 @@ func (a *AARImport) sdkVersion() string {
}
func (a *AARImport) minSdkVersion() string {
+ if a.properties.Min_sdk_version != nil {
+ return *a.properties.Min_sdk_version
+ }
return a.sdkVersion()
}
diff --git a/java/droiddoc.go b/java/droiddoc.go
index dbceed86..6cb8d3c1 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -226,6 +226,10 @@ type DroiddocProperties struct {
// the generated removed Dex API filename by Doclava.
Removed_dex_api_filename *string
+ // mapping of dex signatures to source file and line number. This is a temporary property and
+ // will be deleted; you probably shouldn't be using it.
+ Dex_mapping_filename *string
+
// the generated exact API filename by Doclava.
Exact_api_filename *string
@@ -283,6 +287,7 @@ type Droiddoc struct {
removedApiFile android.WritablePath
removedDexApiFile android.WritablePath
exactApiFile android.WritablePath
+ apiMappingFile android.WritablePath
checkCurrentApiTimestamp android.WritablePath
updateCurrentApiTimestamp android.WritablePath
@@ -831,6 +836,13 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
implicitOutputs = append(implicitOutputs, d.exactApiFile)
}
+ if String(d.properties.Dex_mapping_filename) != "" {
+ d.apiMappingFile = android.PathForModuleOut(ctx, String(d.properties.Dex_mapping_filename))
+ args = args + " -apiMapping " + d.apiMappingFile.String()
+ // Omitted: metalava support
+ implicitOutputs = append(implicitOutputs, d.apiMappingFile)
+ }
+
implicits = append(implicits, d.Javadoc.srcJars...)
implicitOutputs = append(implicitOutputs, d.Javadoc.docZip)
diff --git a/java/system_modules.go b/java/system_modules.go
index 943eaeb8..73a51312 100644
--- a/java/system_modules.go
+++ b/java/system_modules.go
@@ -119,9 +119,7 @@ func (system *SystemModules) GenerateAndroidBuildActions(ctx android.ModuleConte
jars = append(jars, android.PathsForModuleSrc(ctx, system.properties.Jars)...)
- if ctx.Config().TargetOpenJDK9() {
- system.outputFile = TransformJarsToSystemModules(ctx, "java.base", jars)
- }
+ system.outputFile = TransformJarsToSystemModules(ctx, "java.base", jars)
}
func (system *SystemModules) DepsMutator(ctx android.BottomUpMutatorContext) {
@@ -131,17 +129,15 @@ func (system *SystemModules) DepsMutator(ctx android.BottomUpMutatorContext) {
func (system *SystemModules) AndroidMk() android.AndroidMkData {
return android.AndroidMkData{
Custom: func(w io.Writer, name, prefix, moduleDir string, data android.AndroidMkData) {
- if system.outputFile != nil {
- makevar := "SOONG_SYSTEM_MODULES_" + name
- fmt.Fprintln(w)
- fmt.Fprintln(w, makevar, ":=", system.outputFile.String())
- fmt.Fprintln(w, ".KATI_READONLY", ":=", makevar)
- fmt.Fprintln(w, name+":", "$("+makevar+")")
- fmt.Fprintln(w)
- makevar = "SOONG_SYSTEM_MODULES_LIBS_" + name
- fmt.Fprintln(w, makevar, ":=", strings.Join(system.properties.Libs, " "))
- fmt.Fprintln(w, ".KATI_READONLY :=", makevar)
- }
+ makevar := "SOONG_SYSTEM_MODULES_" + name
+ fmt.Fprintln(w)
+ fmt.Fprintln(w, makevar, ":=", system.outputFile.String())
+ fmt.Fprintln(w, ".KATI_READONLY", ":=", makevar)
+ fmt.Fprintln(w, name+":", "$("+makevar+")")
+ fmt.Fprintln(w)
+ makevar = "SOONG_SYSTEM_MODULES_LIBS_" + name
+ fmt.Fprintln(w, makevar, ":=", strings.Join(system.properties.Libs, " "))
+ fmt.Fprintln(w, ".KATI_READONLY :=", makevar)
},
}
}