Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 335f594e authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Separate output from diagnostics in Starlark product configuration."

parents ad48e9cb e8652d4c
Loading
Loading
Loading
Loading
+5 −1
Original line number Original line Diff line number Diff line
@@ -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
+2 −2
Original line number Original line Diff line number Diff line
@@ -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):
+4 −0
Original line number Original line Diff line number Diff line
@@ -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.
 No newline at end of file
+24 −0
Original line number Original line Diff line number Diff line
@@ -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),
	}
	}