Add filename property to prebuilt_apex
* Makes it more inline with prebuilt_etc; * For shim apexes, prebuilt_apex modules have pattern of com.android.apex.cts.shim.v1_prebuilt, but I would prefer pre-installed shim to be: /system/apex/com.android.apex.cts.shim.apex Bug: 128677967 Bug: 127789981 Test: m Change-Id: I34e3e078733420b5cf777fd6e3ce4d8c5796b19b
This commit is contained in:
16
apex/apex.go
16
apex/apex.go
@@ -1294,8 +1294,9 @@ type Prebuilt struct {
|
||||
|
||||
properties PrebuiltProperties
|
||||
|
||||
inputApex android.Path
|
||||
installDir android.OutputPath
|
||||
inputApex android.Path
|
||||
installDir android.OutputPath
|
||||
installFilename string
|
||||
}
|
||||
|
||||
type PrebuiltProperties struct {
|
||||
@@ -1319,6 +1320,9 @@ type PrebuiltProperties struct {
|
||||
}
|
||||
|
||||
Installable *bool
|
||||
// Optional name for the installed apex. If unspecified, name of the
|
||||
// module is used as the file name
|
||||
Filename *string
|
||||
}
|
||||
|
||||
func (p *Prebuilt) installable() bool {
|
||||
@@ -1357,8 +1361,12 @@ func (p *Prebuilt) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
// TODO(jungjw): Check the key validity.
|
||||
p.inputApex = p.Prebuilt().SingleSourcePath(ctx)
|
||||
p.installDir = android.PathForModuleInstall(ctx, "apex")
|
||||
p.installFilename = proptools.StringDefault(p.properties.Filename, ctx.ModuleName()+imageApexSuffix)
|
||||
if !strings.HasSuffix(p.installFilename, imageApexSuffix) {
|
||||
ctx.ModuleErrorf("filename should end in %s for prebuilt_apex", imageApexSuffix)
|
||||
}
|
||||
if p.installable() {
|
||||
ctx.InstallFile(p.installDir, ctx.ModuleName()+imageApexSuffix, p.inputApex)
|
||||
ctx.InstallFile(p.installDir, p.installFilename, p.inputApex)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1378,7 +1386,7 @@ func (p *Prebuilt) AndroidMk() android.AndroidMkData {
|
||||
Extra: []android.AndroidMkExtraFunc{
|
||||
func(w io.Writer, outputFile android.Path) {
|
||||
fmt.Fprintln(w, "LOCAL_MODULE_PATH :=", filepath.Join("$(OUT_DIR)", p.installDir.RelPathString()))
|
||||
fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", p.BaseModuleName()+imageApexSuffix)
|
||||
fmt.Fprintln(w, "LOCAL_MODULE_STEM :=", p.installFilename)
|
||||
fmt.Fprintln(w, "LOCAL_UNINSTALLABLE_MODULE :=", !p.installable())
|
||||
},
|
||||
},
|
||||
|
Reference in New Issue
Block a user