You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+49-19Lines changed: 49 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,11 +4,18 @@
4
4
5
5
`locksmith` is a utility to generate `renv.lock` file containing all dependencies of given set of R packages.
6
6
7
-
Given the input list of git repositories containing the R packages, as well as a list of R package repositories (e.g. in a package manager, CRAN, BioConductor etc.), `locksmith` will try to determine the list of all dependencies and their versions required to make the input list of packages work. It will then save the result in an `renv.lock`-compatible file.
7
+
Given the input list of git repositories containing the R packages, as well as a list of R package
8
+
repositories (e.g. in a package manager, CRAN, BioConductor etc.), `locksmith` will try to determine
9
+
the list of all dependencies and their versions required to make the input list of packages work.
10
+
It will then save the result in an `renv.lock`-compatible file.
11
+
12
+
For additional information about `renv.lock`, please refer to the [`renv` documentation](https://rstudio.github.io/renv/articles/renv.html).
8
13
9
14
## Installation
10
15
11
-
Simply download the project for your distribution from the [releases](https://github.com/insightsengineering/locksmith/releases) page. `locksmith` is distributed as a single binary file and does not require any additional system requirements.
16
+
Simply download the project for your distribution from the
17
+
[releases](https://github.com/insightsengineering/locksmith/releases) page. `locksmith` is
18
+
distributed as a single binary file and does not need any additional system requirements.
12
19
13
20
Alternatively, you can install the latest version by running:
14
21
@@ -18,7 +25,8 @@ go install github.com/insightsengineering/locksmith@latest
18
25
19
26
## Usage
20
27
21
-
`locksmith` is a command line utility, so after installing the binary in your `PATH`, simply run the following command to view its capabilities:
28
+
`locksmith` is a command line utility, so after installing the binary in your `PATH`, simply run the
In order to download the packages from GitHub or GitLab repositories, please set the environment variables containing the Personal Access Tokens.
49
+
In order to download the packages from non-public GitHub or GitLab repositories, please set the environment
50
+
variables containing the Personal Access Tokens.
41
51
42
52
* For GitHub, set the `LOCKSMITH_GITHUBTOKEN` environment variable.
43
53
* For GitLab, set the `LOCKSMITH_GITLABTOKEN` environment variable.
@@ -46,12 +56,15 @@ By default `locksmith` will save the resulting output file to `renv.lock`.
46
56
47
57
## Configuration file
48
58
49
-
If you'd like to set the above options in a configuration file, by default `locksmith` checks `~/.locksmith`, `~/.locksmith.yaml` and `~/.locksmith.yml` files.
59
+
If you'd like to set the above options in a configuration file, by default `locksmith` checks
60
+
`~/.locksmith`, `~/.locksmith.yaml` and `~/.locksmith.yml` files.
50
61
51
-
If any of these files exist, `locksmith` will use options defined there, unless they are overridden by command line flags or environment variables.
62
+
If any of these files exist, `locksmith` will use options defined there, unless they are overridden
63
+
by command line flags or environment variables.
52
64
53
-
You can also specify custom path to configuration file with `--config <your-configuration-file>.yml` command line flag.
54
-
When using custom configuration file, if you specify command line flags, the latter will still take precedence.
65
+
You can also specify custom path to configuration file with `--config <your-configuration-file>.yml`
66
+
command line flag. When using custom configuration file, if you specify command line flags,
For `locksmith` in order to generate an `renv.lock` with binary R packages, it is necessary to provide URLs to binary repositories in `inputRepositories`/`inputRepositoryList`.
102
+
For `locksmith` in order to generate an `renv.lock` with binary R packages,
103
+
it is necessary to provide URLs to binary repositories via `inputRepositories`/`inputRepositoryList`.
78
104
79
105
Examples illustrating the expected format of URLs to repositories with binary packages:
80
106
@@ -113,23 +139,27 @@ As a result, the configuration file could look like this:
This project is built with the [Go programming language](https://go.dev/).
129
157
130
158
### Development Environment
131
159
132
-
It is recommended to use Go 1.21+ for developing this project. This project uses a pre-commit configuration and it is recommended to [install and use pre-commit](https://pre-commit.com/#install) when you are developing this project.
160
+
It is recommended to use Go 1.21+ for developing this project. This project uses a pre-commit
161
+
configuration and it is recommended to [install and use pre-commit](https://pre-commit.com/#install)
0 commit comments