Age | Commit message (Collapse) | Author |
|
Those rules call a foreign build system in a single action. Obviously,
those actions are quite different compared to normal build actions;
at the very least, they require more time and resources and generally
also spawn more than a single process. We already support scaling
up the action time out. Now support also adding additional execution
properties, so that they can be schedulded to dedicated workers
or endpoints.
|
|
|
|
... which is configured using a new defaults field
"include_scanner", a tool (script/binary) that generates
a new include tree without unused headers. Example
implementations are provided.
|
|
... to match what the rule actually does.
|
|
|
|
The parsing logic was buggy:
- quotation was not properly taken into account
- multiple keys provided as "@KEY1@${KEY2}@KEY3@" were not correctly parsed
- #cmakedefine KEY1 "@KEY2@" was not correctly parsed: in this case, only @KEY2@ must be expanded, provided variable KEY1 is defined
- only lines containing the magic string were processed
|
|
* rules/oss:
config_file: Support PATH from defaults
|
|
|
|
... versions prior to 0.5.11.
|
|
|
|
|
|
|
|
... instead of composing a shell command doing a cd first.
|
|
Now that justbuild 1.4 is available, the workaround of defining
"nub_left" in terms of "reverse" and "nub_right" is no longer
necessary.
|
|
|
|
Now that justbuild 1.4 is available, the workaround of defining
"nub_left" in terms of "reverse" and "nub_right" is no longer
necessary.
|
|
|
|
|
|
... by honoring "modified-transitions" when determining the headers
of the direct dependencies.
|
|
|
|
... containing the names of artifacts (files or directories) that
are from the target itself of the runfiles of direct dependencies.
This allows tools to check some form of strict dependency structure.
|
|
|
|
|
|
|
|
|
|
|
|
... as otherwise we will use the same string in two ways: literal and as a value
to the expanded, making proper quoting impossible. Moreover, it is not
necessary to expand TOOLCHAIN: pointers into the toolchain can be passed
through the "bin dirs" part of the toolchain.
|
|
dependencies
|
|
|
|
dependencies
|
|
|
|
|
|
When a shared library is built that depends on other shared libraries, it
instructs its consumers via the "run-link-args" to link only against this
library and not also against its dependencies.
|
|
When a shared library has static-library dependencies, it is linked against
these static libraries including all their link arguments. Thus, the
"link-deps" as well as the "link-args" provider of the shared library should be
empty.
|
|
|
|
... as using the built-in "[]" directly is cleaner and equally
readable.
|
|
|
|
... provided the configuration variable "LINT" is set.
|
|
|
|
... and honor those in ["lint", "targets"].
|
|
|
|
|
|
|
|
... collecting test results similar to the way "install" rules
are typically used; however in such a way that the provider "lint"
is forwarded.
|
|
|
|
While there, also properly transition "srcs" and "private-hdrs"
to the host version.
|
|
In case many "targets" are given, the field "lint" will contain
all the concatenation of the provider "lint" of the given targets.
There is, however, not need to lint the same file in the same
context twice, so deduplicate the targets first. While this does
not change the amount of lint actions carried out (as equal actions
are handled only once anyway), it keeps the summary clean by not
having dulicate entries.
|
|
|
|
|
|
If the configuration variable "LINT" is set, also provide information
on compile actions and header files (with preprocessing as described
command, in particular also providing the correct flags) in correct
dependency context. In this way, lint rules can request the needed
information for performing their checks.
|