Skip to content

Commit

Permalink
Merge branch 'just-buildsystem:master' into github-ci
Browse files Browse the repository at this point in the history
  • Loading branch information
oreiche authored Apr 3, 2024
2 parents a868245 + d8f7216 commit 6926694
Show file tree
Hide file tree
Showing 184 changed files with 2,931 additions and 478 deletions.
8 changes: 8 additions & 0 deletions doc/concepts/expressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,14 @@ those) argument(s) to obtain the final result.
- `"++"` The argument has to be a list of lists. The result is
the concatenation of those lists.

- `"+"` The argument has to be a list of numbers. The result is
their sum (where the sum of the empty list is, of course, the
neutral element 0).

- `"*"` The argument has to be a list of numbers. The result
is their product (where the producut of the empty list is, of
course, the neutral element 1).

- `"map_union"` The argument has to be a list of maps. The
result is a map containing as keys the union of the keys of
the maps in that list. For each key, the value is the value
Expand Down
29 changes: 14 additions & 15 deletions doc/future-designs/cas-objects-import.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,19 @@ the command-line `git` tool, a pure computation of the hashes _without_
generating a CAS entry might still be of interest and available as an option.
This is, however, not useful in typical situations.

### Auxillary change: `just install-cas --archive`

Build sources many times come in the form of archives, which allow efficient
storage and backup, and permit easy versioning of build dependencies. Also
build artifacts, for example resulting binaries (together with required headers
when building statically), are typically shipped as archives.

Therefore, the `just install-cas` command has an option to dump
an artifact, that has to be a tree, as an archive instead of as a
directory (or pretty-printed top-level contents). Remote CAS options
and file location (with stdout as default) are honored.


Auxiliary changes still to be implemented
-----------------------------------------

Expand All @@ -81,21 +94,7 @@ To mirror options available in `just-mr` repository descriptions,
we will also support options to either ignore, or fully resolve
symlinks in the generated Git trees.

### `just-mr` to support `archive` subcommand

Build sources many times come in the form of archives, which allow efficient
storage and backup, and permit easy versioning of build dependencies. Also
build artifacts, for example resulting binaries (together with required headers
when building statically), are typically shipped as archives.

The `just-mr` tool will therefore implement a new subcommand `archive` which,
given a tree identifier, with the understanding that the tree is available
locally (either in local CAS or the Git cache), will produce an archive from
the content of that tree.

The archive content will be written to standard output, thus allowing the usual
piping and redirection of binary streams. Optionally, the subcommand will be
able to write to a file instead.
### `just install-cas --archive` to support different archive types

By default, for reproducibility reasons, the archiving format will be a tarball.
Options will be added to produce other archive types, as supported by `just-mr`.
Loading

0 comments on commit 6926694

Please sign in to comment.