summaryrefslogtreecommitdiff
path: root/src/buildtool/main
AgeCommit message (Collapse)Author
2024-06-25Pass ApiBundle to describeMaksim Denisov
2024-06-25Pass ApiBundle to add-to-cas and install-casMaksim Denisov
2024-06-25Pass ApiBundle to ServeApiMaksim Denisov
2024-06-25Pass ApiBundle to GraphTraverserMaksim Denisov
2024-06-25Instantiate LocalApi and BazelApi at onceMaksim Denisov
...to properly fallback to local api if needed.
2024-06-18Make ServeServerImpl a general class, not a singleton.Maksim Denisov
2024-06-18Make RemoteServeConfig a general struct, not a singletonMaksim Denisov
...and adjust interfaces.
2024-06-18Create an individual instance of RemoteServeConfig in justMaksim Denisov
...instead of initialization of the singleton. Use builder for creation and validity check.
2024-06-18Make ServeApi a general class, not a singletonMaksim Denisov
...and adjust interfaces.
2024-06-18Pass ServeApi to ServeServerImpl by referenceMaksim Denisov
...instead of using singleton calls.
2024-06-18Pass RemoteServeConfig to ServeServerImpl by referenceMaksim Denisov
...instead of using singleton calls.
2024-06-18Pass ServeApi by reference to the describe functionMaksim Denisov
...instead of using singleton calls.
2024-06-18Pass ServeApi as a field of context to the analysisMaksim Denisov
...instead of using singleton calls.
2024-06-18Use an extensible structure to pass arguments to the analysis.Maksim Denisov
2024-06-18Use RemoteServeConfig functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-06-18Use ServeApi functionality via Instance()Maksim Denisov
...to track changes during refactoring easier.
2024-06-07Remove unused codeMaksim Denisov
2024-06-06tc writing: allow different log levelKlaus Aehlig
... for failures instead of the binary strict_logging. In this way, we can log at log level Error in the serve instance, and for the client at level Warning or Info, depending on whether failure is expected (i.e., if targets are potentially taken from a serve endpoint) or not.
2024-06-06tc cache: abort writing if a dependent target is not availableKlaus Aehlig
After successful build of an export target target a cache entry is written. As those export targets have a dependency structure, care is taken to write them in correct order. Writing a cache entry for an export target requires knowledge of the analysis result of that target. Originally, all targets used to be analysed locally, so that information was available for every target that was not read from the local target cache already. However, with the introduction of serve endpoints, it can happen that a target was analyzed locally, but it depends on targets obtained from serve. In this case, we have to refrain from writing a target-level cache entry to keep the the consistency invariants of the target-level cache.
2024-05-17RepositoryConfig: Instance should not be changed once populatedPaul Cristian Sarbu
Once a RepositoryConfig instance gets populated, it must never be changed again. Therefore, all functions accepting these instances should only take them as pointers to const.
2024-05-08Start 1.4 development cycleKlaus Aehlig
2024-05-08Relase 1.3.0v1.3.0Klaus Aehlig
2024-05-02Release 1.3.0~beta1v1.3.0-beta1Klaus Aehlig
2024-05-02Small changes to allow gsl-lite supportPaul Cristian Sarbu
The gsl-lite implementation is slightly more picky in terms of type conversions and constness resolution in initializers, therefore small changes were needed.
2024-04-26analyse: fix reporting of internal errosKlaus Aehlig
... by taking the correct map to report which targets failed to be analysed and also report about rules that failed to be analysed.
2024-04-25just serve: Paths in config file should be location objectsPaul Cristian Sarbu
Also updates the tests and all relevant documentation accordingly.
2024-04-24just analyse: add --dump-result command line optionAlberto Sartori
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).
2024-04-23just describe: support retry argumentsKlaus Aehlig
... as also just describe can communicate to grpc endpoints.
2024-04-18Move retry-related CLI parts into separate librariesKlaus Aehlig
... to simplify reuse.
2024-04-16just: support writing the error blobs from serve into a json fileKlaus Aehlig
... 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.
2024-04-16Absent targets: support registering the serve failure logsKlaus Aehlig
... in a structured way to eventually support machine-readable access to the identifiers of the log files.
2024-04-10Support stderr log-limit restriciton for serveKlaus Aehlig
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.
2024-04-10Add command-line option to restrict log limit on stderrKlaus Aehlig
2024-04-10just serve: follow symlinks to the serve configKlaus Aehlig
... to simplify set ups where configuration files are provided as symbolic links to some central store.
2024-04-08Use properly included standard library types by defaultPaul Cristian Sarbu
2024-04-08Consistently guard all POSIX C includesPaul Cristian Sarbu
2024-04-02Move file chunker to storage.Maksim Denisov
2024-03-28just install-cas: add option --archiveKlaus Aehlig
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.
2024-03-28Add library to generate an archive from a local objectKlaus Aehlig
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-03-22Absent target: deduplicate serve calls asking for flexible variablesKlaus Aehlig
For an absent export target, the first step of analysis is to ask serve for the flexible variables. The answer to this request is, however, independent of the configuration for this target. So we can avoid calls by caching the answer in an additional map.
2024-03-22main: also served export targets are relevant export targetsKlaus Aehlig
... so also report at info level if we got export targets served.
2024-03-20Add local launcher to just-serve configKlaus Aehlig
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.
2024-03-20Add new subcommand add-to-casKlaus Aehlig
2024-03-20Add functionality to add local files to CASKlaus Aehlig
... and optionally upload them to a remote-execution endpoint.
2024-03-19serve target: Fix sharding inconsistenciesPaul Cristian Sarbu
When running in single node, serve endpoint should not even consider sharding. Additionally, garbage collection uplinking should also take the shard into account. For this purpose, a TargetCache instance now remembers if it was explicitly sharded and passed that information to the GarbageCollector for uplinking.
2024-03-19WriteTargetCacheEntries: Be explicit in logging location...Paul Cristian Sarbu
...by allowing a Logger instance to be provided. Also adds a flag in order for failed artifacts from builds orchestrated by the serve endpoint to be able to be reported as errors instead of warnings.
2024-03-19just analysis: Be explicit in logging locationPaul Cristian Sarbu
...by allowing a Logger instance to be provided.
2024-03-19just: Report non-zero served targets after analysisPaul Cristian Sarbu
2024-03-18parallelism: Do not spawn more threads than asked toPaul Cristian Sarbu
...in the tool proper, i.e., excepting tests.