Age | Commit message (Collapse) | Author |
|
This allows to simply specify the direct dependencies desired
to be absent at import where the dependency structure is handled
anyway, rather than afterwards reconstructing which repositories
should be absent.
|
|
Also updates the tests and all relevant documentation accordingly.
|
|
The result of the analysis is a JSON object containing the keys
`"artifacts"`, `"runfiles"`, and `"provides"`. This JSON object, by
default, is logged. However, it might be useful to process the data
contained in it, while, for example, developing new rules.
This patch adds a new command line option (`--dump-result`), reserved
to the subcommand `analyse`, to dump the analysis result to the given
file or stdout (if `-` is given).
|
|
|
|
|
|
... as also just describe can communicate to grpc endpoints.
|
|
|
|
... using the same mechanism that just uses. As just-mr now also
does quite some grpc calls, e.g., fetching distribution files from
the remote-execution endpoint and negociating roots with the serve
endpoint, it may now also be affected by a bad network or a service
temporarily be unavailable.
|
|
... so that they are available in machine-readable form. In this
way, all logs can automatically be collected without the need of
parsing human-targeted error messages.
|
|
As `just serve` is used like a daemon it can be desirable to restrict
stderr, e.g., to only errors, while keeping a detailled log of the
activity in a file.
|
|
|
|
|
|
|
|
With "remote-execution properties" a primary property, there is no need
anymore to repeat the property as part of the "just args".
|
|
Trees are first-class objects for justbuild. To allow interoperation
with other tools, it is necessary to provide those objects in a
standard format; for directories, those are archives. Hence procive
a corresponding option.
|
|
As just serve can simultaneously act as remote-execution endpoint,
it has to accept in its configuration all the necessary information,
in particular, the local launcher. Add it.
|
|
|
|
... to clean up what can be done without losing cache information.
|
|
|
|
|
|
As these subcommands can access the serve endpoint, it is not
enough anymore to just know the remote-execution endpoint, but one
must also try to connect to it. Thus, the client-side
authentication arguments need to be supported and read.
The just.1 man page is also updated accordingly.
|
|
|
|
When importing a repository via just-import-git, allow to
specify the value for the "inherit env" property for the
repository just being imported.
|
|
When fetching git repositories, just-mr routinely shells out to
git. In this case, allow the user to specify via "inherit env",
which environment variables from the host environment should be
made available in this action. Typical variables to inherit are
ones providing credentials, like SSH_AUTH_SOCK. As the repository
description specifies the commit that will be taken, and hence the
resulting tree, correctness is not affected by the environement
leaking in here.
|
|
... as, for absent repositories, we need to get the description from
the serve end point. As a consequence, also support -r and --compatible,
as the remote-execution endpoint needs to fit with the one for the
serve endpoint.
|
|
... as even this command now adds entries to CAS, e.g., the shard
for the target-level cache. Also, this command block gc by keeping
a lock (also in the local build root).
|
|
While just-mr does not use remote-execution properties, it is
still useful to have those as a separate entry in the rc file. With
rc-file delegation, this gives committed rc files an easy way to
specify the image to be used without having to set all the remaining
arguments for the various just subcommands in "just args".
|
|
|
|
|
|
... to pull in rc files from different locations, given by
location objects.
|
|
Our fetch and launch tool is parametric in the tool to be launched.
Reflect this in the documentation and do not pretend it to be the
name "just" hard coded. While there, also fix the hard-coded name
"git" in the documentation of the default value.
|
|
The just-serve config already honors specific fields to obtain the
information on how to authenticate to the remote-execution endpoint.
However, those have not yet been described in the man page yet. Do
this now.
|
|
|
|
While parsing the configuration file, if the key `"execution
endpoint"` is present, the following three keys are evaluated as well:
- "max-attempts"
- "initial-backoff-seconds"
- "max-backoff-seconds"
|
|
Three new command line options have been added:
- `--max-attempts`
- `--initial-backoff-seconds`
- `--max-backoff-seconds`
|
|
When just-mr acts as a launcher, for most subcommand options the
"just args" entry in the rc files provides a convenient way to set
them. However, some options take a file as argument; for those it can
be desirable to set them without assuming a fixed file-system layout
and instead refer to logical roots, in particular the work space.
for the ones that refer to files, it is often desirable to have a potential
reference to the work space. Add this functionality.
|
|
... those are actually given as location objects, not as plain paths.
|
|
|
|
...options from the generated help messages, as these are not used
for the install-cas subcommand.
This also updates the man page accordingly, where the dispatch file
was marked as supported, as well as update any test affected by
these changes.
|
|
|
|
|
|
|
|
|
|
The `just serve` command defaults to also provide the remote-execution
endpoint if none is specified. The `just build` implicitly uses the
serve endpoint as remote-execution endpoint if no other endpoint is
specified. In this way, the serve endpoint has become the universal
endpoint for simple set ups. Simplify that usage further by providing
a short command-line option.
|
|
|
|
|
|
... ensuring that just-mr passes on the specified environment
variables (and only those) to the tree-generating action.
|
|
|
|
Using absent repositories depends on a just-serve endpoint. As
such, it is not a datum of the project, but one of the available
infrastructure. As the latter can change independently of the
project, it is desriable to have the option to specify those pieces
of information in separate files.
|
|
As we have, with "remote execution", a command-independent option to
set the remote-execution endpoint that also gets forwarded, a typical
configuration would specify the endpoint there.
|