Man page - just-lock(1)
Packages contains this manual
Manual
JUST-LOCK
NAMESYNOPSIS
DESCRIPTION
OPTIONS
See also
NAME
just-lock - generate and maintain a multi-repository configuration file
SYNOPSIS
just-lock [ OPTION ]...
DESCRIPTION
Just-Lock is a tool that encompasses several functionalities related to generating and maintaining the just-mr-repository-config (5) of a Just project.
The main functionality of the tool is to import declared dependencies from other Just projects and generate a repository configuration which can directly be used by just-mr (1). The imported repositories are renamed in a way that no conflicts arise and in a way to remind for which repositories they come as a dependency. This extends thus the capabilities of existing tools such as just-import-git (1) by implicitly allowing multiple imports to take place and import sources other than Git repositories.
By default, the final configuration has the repositories deduplicated, by merging indistinguishable repositories, other than the "main" repository and explicitly stated ones, to a single repository. This mirrors the capability available standalone in just-deduplicate-repos (1).
The tool performs these operations based on a provided just-lock-config (5) input file and outputs the resulting configuration file at either a given provided location or at a location expected by just-mr (5).
OPTIONS
-h
,
--help
Output a usage message and exit.
-C
CONFIGFILE
Use the specified file as the input
just-lock-config
(5) file. If not specified, a file
with filename repos.in.json is searched for in the same
directories
as
just-mr
does when invoked with
--norc
when searching for its configuration file.
-o
CONFIGFILE
Use the specified file as the output
just-mr-repository-config
(5) file. If not specified,
a file is searched for in the same way
just-mr
does
when invoked with
--norc
. If none found, it is a file
with filename repos.json in the parent directory of the
input configuration file.
--local-build-root
PATH
Root for local CAS, cache, and build directories. The path
will be created if it does not exist already.
Default: path
".cache/just"
in userβs
home directory.
--just
PATH
Path to the
justbuild
binary in
PATH
or path
to the
justbuild
binary. Default:
"/usr/bin/justbuild"
.
-L
,
--local-launcher
JSON_ARRAY
JSON array with the list of strings representing the
launcher to prepend any commands being executed locally.
Default:
["env", "--"]
.
--git
PATH
Path to the git binary in
PATH
or path to the git
binary. Used when shelling out to git is needed.
Default:
"git"
.
--clone
JSON_MAP
JSON map from filesystem path to pair of repository name and
list of bindings.
For each map entry, the target repository, found by
following the bindings from a given start repository, after
all repositories have been imported, will have its workspace
root cloned in the specified filesystem directory and its
description in the output configuration made to point to
this clone.
The start repository names must be known, i.e., an initial
repository or declared import, and both the start and target
repositories will be kept during deduplication.
See also
git (1), just-lock-config (5), just-import-git (1), just-deduplicate-repos (1), just-mr-repository-config (5), just-mr (1)