summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2022-12-12tutorial/proto.org: update target and regenerate screen shotsKlaus Aehlig
... given that binaries now only have "private-proto" (as there are no public dependencies of a binary anyway). While there, also hint on the script for git imports, to simplify the setup of the example.
2022-12-09tutorial: add some clarifying commentsKlaus Aehlig
... on parts a first-time reader might (and actually did) stumble upon.
2022-12-09rules: Refactoring and minor improvementsOliver Reiche
Compared to the previous commit, the action graphs for just and its unit tests are unchanged. - Git hash of action graph for ["",""]: c6e75f17abd7ffaab6ff9bb725ad67ec0bf6c973 - Git hash of action graph for ["test/buildtool","TESTS"]: 8063dfb3dd7daa9ae01d95c177e14946f785c57e Refactor: - "local cflags" to "private-cflags" - "local defines" to "private-defines" - "link externals" to "private-ldflags" - "deps" to "private-deps" for (test) binaries - "proto" to "private-proto" for binaries Improvements: - consistent variable declaration order: OS, ARCH, HOST_ARCH, TARGET_ARCH, CC, CXX, CFLAGS, CXXFLAGS, ADD_CFLAGS, ADD_CXXFLAGS, AR, ENV, PATH - use fields close to their definition (in RULES) - use common expression for binaries and test binaries - split expression "flags" and "compiler" ... to separate ones for CC and CXX. - rename "transition" to "deps-transition" ... to avoid conflicts with other transitions. - support "defaults-transition" for CC expressions Implement: - "cflags" for libraries - "private-cflags" for (test) binaries - "private-defines" for test binaries - "private-ldflags" for test binaries - (public) "defines" for libraries
2022-12-09rules: Drop the ["CC", "header directory"]Oliver Reiche
... in favor of the "tree" built-in rule.
2022-12-08tutorial: Use newly introduced private-deps for fmtOliver Reiche
2022-12-07Built-in rules: add a tree ruleKlaus Aehlig
... so that for every construct supported in rules there is an analogous one as a built-in rule to allow ad-hoc constructions without having to write a rule (even though writing a rule is recommended for everything occuring more than once): - the "generic" rule allows an ad-hoc ACTION, - the "file_gen" rule allows an ad-hoc BLOB, - the "tree" rule allows an an ad-hoc TREE, and - the "configure" rule allows an ad-hoc configuration transition.
2022-11-23Document the configuration transition in configureKlaus Aehlig
The built-in rule configure carries out a full configuration transition. While this is useful in quite a few situations, care has to be taken to avoid conflicts on dependencies also used in other ways by the calling target. Document this more clearly in the documentation.
2022-11-17fix a typoAlberto Sartori
2022-11-16Make "config" accept a computed targetKlaus Aehlig
... and thus allowing the "business logic" in the configuration target (e.g., setting defaults and derived options) to be shared by many targets.
2022-11-14tutorial: hint on --dump-varsKlaus Aehlig
... when introducing export targets. In this way, the user has a way to take a meaningful decission on which variables to export.
2022-11-07tutorial: describe using pre-built dependenciesKlaus Aehlig
While building from source as certain advantages, there are also good reasons to use pre-installed dependencies. Document this in the tutorial to avoid wrong impressions readers might have otherwise.
2022-11-04fix a typoAlberto Sartori
2022-11-02tutorial/getting-started: Also introduce the concept of stagingKlaus Aehlig
Staging is quite a fundamental concept of just. Therefore, introduce it early in the tutorial. In this way, it also becomes obvious, why only targets are requested and files are not installed by default.
2022-11-02Tutorial getting-started: introduce -PKlaus Aehlig
... as an way of directly obtaining an artifact without an additional detour through the file system.
2022-11-02tutorial/getting-started: better explain object identifiersChristian Lütke Stetzkamp
When the tutorial references blob identifiers in the output, also immediately explain the syntax. Also emphasize the possible abbreviations made possible by b9880e8ecdce02f047dfb1d19de5f1ed07a82ac6 given that they are typically used in practise. Co-authored-by: Klaus Aehlig <aehlig@linta.de>
2022-10-20Tutorial: Adjust 'test/glob/rebuild/proto' sectionsOliver Reiche
2022-10-20Tutorial: Adjust 'Third-party' section to new changesOliver Reiche
2022-10-20Tutorial: Adjust 'Hello world' section to new changesOliver Reiche
2022-10-07Tutorial: add section on `just rebuild`Klaus Aehlig
2022-10-05Doc: Describe usage of 'configure' built-inOliver Reiche
2022-10-05Doc: Describe usage of 'env' expressionOliver Reiche
2022-08-26tutorial/test: demonstrate that the internals of the test are availableKlaus Aehlig
... by explaining how to install the test binary and manually interact with it. This also shows how to inspect an action for debugging.
2022-08-26tutorial/thrid-party-software: clarify tree refrenceKlaus Aehlig
... emphasizing that it constructs only a single artifact. In this way, we avoid confusion with globs (that are introduced later).
2022-08-24Glob tutorial: fix typos and white spaceKlaus Aehlig
2022-08-23Add a tutorial section explaining targets vs explicit source referencesKlaus Aehlig
2022-08-22Tutorial: Add minimalistic getting started sectionOliver Reiche
2022-08-19Tutorial: Use sh instead shell for improved renderingOliver Reiche
2022-08-19Add glob reference to source filesKlaus Aehlig
Like file or tree references, globs are restricted to the current module; in fact, by the way we evaluate them, even to the top-level directory of that module: a glob is a target having as artifacts and runfiles those entries of the top-level directory of the specified module that match the given pattern.
2022-08-05Added remote execution specification documentSascha Roloff
Co-authored-by: Alberto Sartori <alberto.sartori@huawei.com>
2022-07-28Upd tutorial to reflect new just-mr setup outputPaul Cristian Sarbu
2022-07-12rules documentation: mention use cases for providersKlaus Aehlig
While there, fix a few typos in the same document as well.
2022-06-28Generic: add support for out_dirsAlberto Sartori
Before this patch, the built-in "generic" type allowed for just output files, listed in the field "outs". Now, the type also supports output directories, listed in the "out_dirs" field. The output directories are created before the command is executed.
2022-06-24Tutorial: Add section about testsOliver Reiche
2022-06-22Tutorial: Updated proto sectionOliver Reiche
2022-06-20Document the concept of target-level cachingKlaus Aehlig
2022-06-20Disallow comparison of namesKlaus Aehlig
In our semantics, it was always intended that names are completely opaque and only used by passing them to functions providing information about a target. However, we never enforced that they not be compared for equality, even though we always had this in mind, and the computation of the target-level cache key was designed with this semantics in mind. Enforce this restriction now.
2022-06-20Tutorial: Regenerate screenshots with adjusted hashesOliver Reiche
2022-06-17Add tutorial on how to use proto buffers with justKlaus Aehlig
While we assume the reader already knows what proto buffers are, the tutorial introduces the concept of anonymous targets.
2022-06-14Tutorial: Add section about 3rd party softwareOliver Reiche
2022-06-13Tutorial: Update hello world tutorial screenshotsOliver Reiche
2022-06-09fix typosAlberto Sartori
2022-06-02Tutorial: Simplify hello world sectionOliver Reiche
... to initially use rules' predefined defaults.
2022-06-01user-defined rules: describe the TREE functionKlaus Aehlig
In the defining expression of a rule, the TREE function is also available. Document this.
2022-05-31"enumerate" expression: add padding to 10 charactersKlaus Aehlig
2022-05-30Built-in expressions: add enumerateKlaus Aehlig
Add a function transforming a list into a map. In this way, artifacts collected positionally in a list can easily be realized as a stage used for input to an action or output of a target.
2022-05-24Tutorial: Add hello world sectionOliver Reiche
2022-05-24concepts: describe configurationKlaus Aehlig
2022-05-20overview over the most important concepts of the toolKlaus Aehlig
2022-05-10Document built-in rulesKlaus Aehlig
2022-05-09Built-in "to_subdir": interpret input keys as pathKlaus Aehlig
... and detect conflicts araising this way. Also normalize the paths after staging them to the specified subdir.