Skip to content

Commit

Permalink
tools: initialize useful dotslash tools
Browse files Browse the repository at this point in the history
Signed-off-by: Austin Seipp <[email protected]>
  • Loading branch information
thoughtpolice committed Aug 16, 2024
1 parent 5eab5c8 commit 0b8ef2b
Show file tree
Hide file tree
Showing 2 changed files with 87 additions and 0 deletions.
44 changes: 44 additions & 0 deletions tools/bin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# `dotslash` executables

This directory contains various [DotSlash](https://github.com/facebook/dotslash)
executables: portable executables that are downloaded on demand.

DotSlash lets us have our tools available on any platform without the need to
install them, in a version-controllable and repeatable way that doesn't bloat
repositories. This helps make sure developers can have consistent environments,
if they wish to opt in.

- [Install DotSlash](https://dotslash-cli.com/docs/installation/)
- TL;DR cargo users: `cargo install dotslash`
- TL;DR nix users: `nix profile install nixpkgs#dotslash`
- TL;DR everyone else: [Download the latest release](https://github.com/facebook/dotslash/releases)

> [!TIP]
> DotSlash files are most useful for cross-platform tools we want to provide
> _developers_ on _all_ platforms &mdash; including Windows! Some other tools
> may also be provided by e.g. Nix or Cargo.
Once `dotslash` is somewhere in your `$PATH`, add these files to your `$PATH`
too:

```bash
export PATH=$(jj root)/tools/bin:$PATH
```

Then tools like `diffedit3` will work with a small one-time startup penalty to
download the executable.

If you're curious, just open any of the DotSlash files in this directory in
your EDITOR; they are merely simple JSON files.

## Windows users

Windows users need to invoke the path to the dotslash file with the `dotslash`
command:

```
dotslash .\tools\bin\diffedit3
```

This is a technical limitation that will be alleivated in the future (once the
`windows_shim` for DotSlash is released.)
43 changes: 43 additions & 0 deletions tools/bin/diffedit3
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/usr/bin/env dotslash

{
"name": "diffedit3",
"platforms": {
"macos-aarch64": {
"size": 2285223,
"hash": "blake3",
"digest": "2b4fdb0587aece5658030b68dc7271973b5c731e0c2493efd3aa87ff3f445a61",
"format": "tar.gz",
"path": "diffedit3",
"providers": [
{
"url": "https://github.com/ilyagr/diffedit3/releases/download/v0.4.0/diffedit3-v0.4.0-aarch64-apple-darwin.tar.gz",
}
]
},
"windows-x86_64": {
"size": 1900470,
"hash": "blake3",
"digest": "462c4fc77655e0688e5317fcdc2a4a6af326b7f04912fc8c7489028b56e50a59",
"format": "zip",
"path": "diffedit3.exe",
"providers": [
{
"url": "https://github.com/ilyagr/diffedit3/releases/download/v0.4.0/diffedit3-v0.4.0-x86_64-pc-windows-msvc.zip"
}
]
},
"linux-x86_64": {
"size": 3498501,
"hash": "blake3",
"digest": "84557e1409e0e4c76d80ff0758ab5995ec40dd7a151bfdef7858c54d71d43d9a",
"format": "tar.gz",
"path": "diffedit3",
"providers": [
{
"url": "https://github.com/ilyagr/diffedit3/releases/download/v0.4.0/diffedit3-v0.4.0-x86_64-unknown-linux-musl.tar.gz"
}
]
}
}
}

0 comments on commit 0b8ef2b

Please sign in to comment.