alphapapa / alphapapa/makem.sh

Docs: Additional explanations

Open
#20 0 comments 0 reactions 1 assignee Claimed by @alphapapa View on GitHub
documentation
Dominant language
Shell
Stars
176
Forks
12
PR merge metrics
No merged PRs in 30d

Description

e.g. https://github.com/DamienCassou/ledger-import/pull/1#issuecomment-590010200

> By default, makem.sh uses your local Emacs configuration's packages, so e.g. it would load dependencies from ~/.emacs.d/elpa. That is useful sometimes, but it's not the best way to lint and test code, because, of course, it depends on your personal configuration.
>
> That's what the sandbox features are for. There are two ways to use the sandbox features:
>
> In temporary sandboxes. For example: ./makem.sh --sandbox lint. That will make a temporary sandbox directory, install the necessary dependencies and linters, run them, and then delete the temporary sandbox directory. This ensures that your personal config does not affect the output, and it always uses the latest versions of the linters and dependencies that are installed from ELPA and MELPA (e.g. the linters package-lint and relint; linters that are included with Emacs, like checkdoc, are used from your system's Emacs installation).
>
> In non-temporary sandboxes. For example, ./makem.sh --sandbox=.sandbox --install-deps --install-linters creates a new sandbox directory named .sandbox, installs the package's current dependencies and the linters, and then returns. Then you can run rules in that sandbox like ./makem.sh -s.sandbox lint (using the short option form). This avoids having to install dependencies every time. Note as well that Emacs version-specific sandboxes are created, so e.g. since I'm using Emacs 26.3, it would make a .sandbox/26.3 directory; if I later ran a snapshot version, it would make a .sandbox/27.0.50 directory (and I would need to use --install-deps --install-linters the first time I used that sandbox directory).
>
> You can also use the Makefile to run these rules, like make sandbox=.sandbox install-deps=t install-linters=t lint if you prefer that syntax.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.