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

Commit 0a88ceb8 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

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

Merge "Separate output from diagnostics in Starlark product configuration." am: 335f594e am: ee05ac0d am: 54676e92

Original change: https://android-review.googlesource.com/c/platform/build/+/1836493

Change-Id: If5625f90cd3e0d7688af11705af7c020a82dfe0a
parents 3b16e4e9 54676e92
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),
	}
	}