Change bool, and string properties to *bool, and *string for java,

python, and genrule.

Test: m -j checkbuild
Bug: b/68853585
Change-Id: Ic9a8083818e920dc399a4b00841e2aa496f70faa
This commit is contained in:
Nan Zhang
2017-11-08 21:20:04 -08:00
parent 99a5635733
commit ea568a4a24
7 changed files with 54 additions and 46 deletions

View File

@@ -33,13 +33,13 @@ type BinaryProperties struct {
// this file must also be listed in srcs.
// If left unspecified, module name is used instead.
// If name doesnt match any filename in srcs, main must be specified.
Main string `android:"arch_variant"`
Main *string `android:"arch_variant"`
// set the name of the output binary.
Stem string `android:"arch_variant"`
Stem *string `android:"arch_variant"`
// append to the name of the output binary.
Suffix string `android:"arch_variant"`
Suffix *string `android:"arch_variant"`
// list of compatibility suites (for example "cts", "vts") that the module should be
// installed into.
@@ -179,10 +179,10 @@ func (binary *binaryDecorator) getHostInterpreterName(ctx android.ModuleContext,
func (binary *binaryDecorator) getPyMainFile(ctx android.ModuleContext,
srcsPathMappings []pathMapping) string {
var main string
if binary.binaryProperties.Main == "" {
if String(binary.binaryProperties.Main) == "" {
main = ctx.ModuleName() + pyExt
} else {
main = binary.binaryProperties.Main
main = String(binary.binaryProperties.Main)
}
for _, path := range srcsPathMappings {
@@ -197,11 +197,11 @@ func (binary *binaryDecorator) getPyMainFile(ctx android.ModuleContext,
func (binary *binaryDecorator) getStem(ctx android.ModuleContext) string {
stem := ctx.ModuleName()
if binary.binaryProperties.Stem != "" {
stem = binary.binaryProperties.Stem
if String(binary.binaryProperties.Stem) != "" {
stem = String(binary.binaryProperties.Stem)
}
return stem + binary.binaryProperties.Suffix
return stem + String(binary.binaryProperties.Suffix)
}
// Sets the given directory and all its ancestor directories as Python packages.

View File

@@ -65,7 +65,7 @@ type BaseProperties struct {
// (from a.b.c import ...) statement.
// if left unspecified, all the source/data files of current module are copied to
// "runfiles/" tree directory directly.
Pkg_path string `android:"arch_variant"`
Pkg_path *string `android:"arch_variant"`
// true, if the Python module is used internally, eg, Python std libs.
Is_internal *bool `android:"arch_variant"`
@@ -367,14 +367,14 @@ func (p *Module) GeneratePythonBuildActions(ctx android.ModuleContext) {
expandedData := ctx.ExpandSources(p.properties.Data, nil)
// sanitize pkg_path.
pkg_path := p.properties.Pkg_path
pkg_path := String(p.properties.Pkg_path)
if pkg_path != "" {
pkg_path = filepath.Clean(p.properties.Pkg_path)
pkg_path = filepath.Clean(String(p.properties.Pkg_path))
if pkg_path == ".." || strings.HasPrefix(pkg_path, "../") ||
strings.HasPrefix(pkg_path, "/") {
ctx.PropertyErrorf("pkg_path",
"%q must be a relative path contained in par file.",
p.properties.Pkg_path)
String(p.properties.Pkg_path))
return
}
if p.properties.Is_internal != nil && *p.properties.Is_internal {
@@ -557,3 +557,6 @@ func fillInMap(ctx android.ModuleContext, m map[string]string,
return true
}
var Bool = proptools.Bool
var String = proptools.String