Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
...and move the storing logic to Execute directly. There is no need to pass additional parameters to the method to just perform a check inside, and after this removal there is no need to preserve a one-line method.
|
|
|
|
|
|
1. In reading remove additional buffer field and reuse the response's buffer;
2. In writing preserve the file descriptor alive.
|
|
|
|
...and use this functionality in ExecutionServer
|
|
...and get it from LocalCAS.
|
|
|
|
|
|
Deserialization from json is used in a single test only
|
|
1. Remove NodeProperties from CreateDirectory;
2. Set digest in CreateFileNode, CreateDirectoryNode.
|
|
+ invoke it only if there are symlinks to check
+ remove the corresponding runtime check since it is replaced by a compile-time check
|
|
...since this is more readable. And adjust the LocalCAS's uplinker creator.
|
|
! => not; && => and, || => or
|
|
|
|
... instead of hard-coding ["cqs"].
|
|
When switching from a target to the artifacts that are the inputs
of a particular action, the provides map is also switched to provide
additional (besides the inputs) information about the action, in
particular the command. Extend this provides map with the remaining
information, in particular the working directory.
|
|
The existing rules allow a shell test script to explicitly 'keep'
created files in the resulting output directory, to be accessible
to any dependent target, thus allowing a chaining of data across
test scripts. This field however excludes directories, whose
content would need to be added one file at a time to the 'keep'
field.
Add instead also a 'keep-dirs' field to ["shell/test", "script"]
rule which allows the explicit staging of given directory paths the
test is expected to generate.
|
|
... allowing to select only the keys in a specific subdir,
and move the them to top-level.
|
|
... instead of having a custom quoting function in the tests.
|
|
For the user it is more useful to see the actual error message,
provided by strerror(), than the pure error code.
|
|
|
|
|
|
... right after having successfully finished analysing the target.
As a side effect, we also get the statistics of the export targets
reported on analysis requests. As cached export targets project
artifacts to known ones, that information is highly relevant there.
|
|
... and drop the corresponding design document as implemented.
|
|
... also ensuring that the implict empty tree is added as input.
|
|
While our local action execution implicitly creates the specified
cwd with the first output file or directory, this behaviour is
not mandated by the remote-execution protocol. There, an action
definition has to ensure that cwd is a directory implied by the
input files. Achieve this, by adding an empty input directory
at cwd if this can be done without creating tree conflicts.
|
|
|
|
|
|
|
|
... following the remote-execution standard that all output paths (but
none of the input paths) are relative to the working directory.
Therefore, the executor has to do the path translation. For our
implementation of the API interface
- the local API now handles cwd correctly,
- the remote API forwards cwd correctly, and
- the git API continues to report actions as not implemented.
|
|
... for the working directory inside the action directory.
|
|
|
|
|
|
This is implemented already, however as part of the tree-conflict check.
|
|
directory
... instead of always having to execute actions in the top-level directory.
|
|
|
|
Also update the classes documentation accordingly.
|
|
|
|
...instead of separate local and remote instances.
For tests, where different implementations of the IExecutionApi
interface are used, ApiBundle instances are created by explicitly
setting the struct fields instead of using ApiBundle::Create.
|