Merge "Separate output from diagnostics in Starlark product configuration."
This commit is contained in:
@@ -200,7 +200,11 @@ ifndef RBC_PRODUCT_CONFIG
|
|||||||
$(call import-products, $(current_product_makefile))
|
$(call import-products, $(current_product_makefile))
|
||||||
else
|
else
|
||||||
rbcscript=build/soong/scripts/rbc-run
|
rbcscript=build/soong/scripts/rbc-run
|
||||||
rc := $(shell $(rbcscript) $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) >$(OUT_DIR)/rbctemp.mk || echo $$?)
|
rc := $(shell $(rbcscript) $(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT) >$(OUT_DIR)/rbctemp.mk 2>$(OUT_DIR)/rbctemp.stderr || echo $$?)
|
||||||
|
rbcerrors := $(file <(OUT_DIR)/rbctemp.stderr)
|
||||||
|
ifneq (,$(rbcerrors))
|
||||||
|
$(info $(rbcerrors))
|
||||||
|
endif
|
||||||
ifneq (,$(rc))
|
ifneq (,$(rc))
|
||||||
$(error product configuration converter failed: $(rc))
|
$(error product configuration converter failed: $(rc))
|
||||||
endif
|
endif
|
||||||
|
@@ -462,11 +462,11 @@ def _mkerror(file, message = ""):
|
|||||||
|
|
||||||
def _mkwarning(file, message = ""):
|
def _mkwarning(file, message = ""):
|
||||||
"""Prints warning."""
|
"""Prints warning."""
|
||||||
print("%s: warning: %s" % (file, message))
|
rblf_log(file, "warning", message, sep = ':')
|
||||||
|
|
||||||
def _mkinfo(file, message = ""):
|
def _mkinfo(file, message = ""):
|
||||||
"""Prints info."""
|
"""Prints info."""
|
||||||
print(message)
|
rblf_log(message)
|
||||||
|
|
||||||
|
|
||||||
def __mkparse_pattern(pattern):
|
def __mkparse_pattern(pattern):
|
||||||
|
@@ -87,3 +87,7 @@ Returns *True* if *text* matches *pattern*.
|
|||||||
Runs `sh -c "`*command*`"`, reads its output, converts all newlines into spaces, chops trailing newline returns this
|
Runs `sh -c "`*command*`"`, reads its output, converts all newlines into spaces, chops trailing newline returns this
|
||||||
string. This is equivalent to Make's
|
string. This is equivalent to Make's
|
||||||
`shell` builtin function. *This function will be eventually removed*.
|
`shell` builtin function. *This function will be eventually removed*.
|
||||||
|
|
||||||
|
#### rblf_log(*arg*,..., sep=' ')
|
||||||
|
|
||||||
|
Same as `print` builtin but writes to stderr.
|
@@ -259,6 +259,28 @@ func structFromEnv(env []string) *starlarkstruct.Struct {
|
|||||||
return starlarkstruct.FromStringDict(starlarkstruct.Default, sd)
|
return starlarkstruct.FromStringDict(starlarkstruct.Default, sd)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func log(thread *starlark.Thread, fn *starlark.Builtin, args starlark.Tuple, kwargs []starlark.Tuple) (starlark.Value, error) {
|
||||||
|
sep := " "
|
||||||
|
if err := starlark.UnpackArgs("print", nil, kwargs, "sep?", &sep); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
for i, v := range args {
|
||||||
|
if i > 0 {
|
||||||
|
fmt.Fprint(os.Stderr, sep)
|
||||||
|
}
|
||||||
|
if s, ok := starlark.AsString(v); ok {
|
||||||
|
fmt.Fprint(os.Stderr, s)
|
||||||
|
} else if b, ok := v.(starlark.Bytes); ok {
|
||||||
|
fmt.Fprint(os.Stderr, string(b))
|
||||||
|
} else {
|
||||||
|
fmt.Fprintf(os.Stderr, "%s", v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Fprintln(os.Stderr)
|
||||||
|
return starlark.None, nil
|
||||||
|
}
|
||||||
|
|
||||||
func setup(env []string) {
|
func setup(env []string) {
|
||||||
// Create the symbols that aid makefile conversion. See README.md
|
// Create the symbols that aid makefile conversion. See README.md
|
||||||
builtins = starlark.StringDict{
|
builtins = starlark.StringDict{
|
||||||
@@ -273,6 +295,8 @@ func setup(env []string) {
|
|||||||
"rblf_regex": starlark.NewBuiltin("rblf_regex", regexMatch),
|
"rblf_regex": starlark.NewBuiltin("rblf_regex", regexMatch),
|
||||||
// To convert makefile's $(shell cmd)
|
// To convert makefile's $(shell cmd)
|
||||||
"rblf_shell": starlark.NewBuiltin("rblf_shell", shell),
|
"rblf_shell": starlark.NewBuiltin("rblf_shell", shell),
|
||||||
|
// Output to stderr
|
||||||
|
"rblf_log": starlark.NewBuiltin("rblf_log", log),
|
||||||
// To convert makefile's $(wildcard foo*)
|
// To convert makefile's $(wildcard foo*)
|
||||||
"rblf_wildcard": starlark.NewBuiltin("rblf_wildcard", wildcard),
|
"rblf_wildcard": starlark.NewBuiltin("rblf_wildcard", wildcard),
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user