diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index aa3b251df1..b662268936 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -50,6 +50,7 @@ export default defineConfig({ { text: 'go', link: '/dev-tools/backends/go' }, { text: 'npm', link: '/dev-tools/backends/npm' }, { text: 'pipx', link: '/dev-tools/backends/pipx' }, + { text: 'spm', link: '/dev-tools/backends/spm' }, { text: 'ubi', link: '/dev-tools/backends/ubi' }, ] } diff --git a/docs/dev-tools/backends/cargo.md b/docs/dev-tools/backends/cargo.md index ea2f896559..b645a6c167 100644 --- a/docs/dev-tools/backends/cargo.md +++ b/docs/dev-tools/backends/cargo.md @@ -3,7 +3,7 @@ You may install packages directly from [Cargo Crates](https://crates.io/) even if there isn't an asdf plugin for it. -The code for this is inside of the mise repository at [`./src/forge/cargo.rs`](https://github.com/jdx/mise/blob/main/src/forge/cargo.rs). +The code for this is inside of the mise repository at [`./src/backend/cargo.rs`](https://github.com/jdx/mise/blob/main/src/backend/cargo.rs). ## Dependencies diff --git a/docs/dev-tools/backends/go.md b/docs/dev-tools/backends/go.md index e6338d5662..b6c52b4bb5 100644 --- a/docs/dev-tools/backends/go.md +++ b/docs/dev-tools/backends/go.md @@ -3,7 +3,7 @@ You may install packages directly via [go install](https://go.dev/doc/install) even if there isn't an asdf plugin for it. -The code for this is inside of the mise repository at [`./src/forge/go.rs`](https://github.com/jdx/mise/blob/main/src/forge/go.rs). +The code for this is inside of the mise repository at [`./src/backend/go.rs`](https://github.com/jdx/mise/blob/main/src/backend/go.rs). ## Dependencies diff --git a/docs/dev-tools/backends/index.md b/docs/dev-tools/backends/index.md index cc649fd7c5..019ac46e40 100644 --- a/docs/dev-tools/backends/index.md +++ b/docs/dev-tools/backends/index.md @@ -7,10 +7,11 @@ In addition to asdf plugins, you can also directly install CLIs with some packag * [Go](/dev-tools/backends/go) * [NPM](/dev-tools/backends/npm) * [Pipx](/dev-tools/backends/pipx) +* [SPM](/dev-tools/backends/spm) * [Ubi](/dev-tools/backends/ubi) * [More coming soon!](https://github.com/jdx/mise/discussions/1250) ::: tip If you'd like to contribute a new backend to mise, they're not difficult to write. -See [`./src/forge/`](https://github.com/jdx/mise/tree/main/src/forge) for examples. +See [`./src/backend/`](https://github.com/jdx/mise/tree/main/src/backend) for examples. ::: diff --git a/docs/dev-tools/backends/npm.md b/docs/dev-tools/backends/npm.md index acded46dff..2455fcbe1b 100644 --- a/docs/dev-tools/backends/npm.md +++ b/docs/dev-tools/backends/npm.md @@ -3,7 +3,7 @@ You may install packages directly from [npmjs.org](https://npmjs.org/) even if there isn't an asdf plugin for it. -The code for this is inside of the mise repository at [`./src/forge/npm.rs`](https://github.com/jdx/mise/blob/main/src/forge/npm.rs). +The code for this is inside of the mise repository at [`./src/backend/npm.rs`](https://github.com/jdx/mise/blob/main/src/backend/npm.rs). ## Dependencies diff --git a/docs/dev-tools/backends/pipx.md b/docs/dev-tools/backends/pipx.md index 6e0c7a5d36..300e9aa9ad 100644 --- a/docs/dev-tools/backends/pipx.md +++ b/docs/dev-tools/backends/pipx.md @@ -7,7 +7,7 @@ You may install python packages directly from: - Github - Http -The code for this is inside of the mise repository at [`./src/forge/pipx.rs`](https://github.com/jdx/mise/blob/main/src/forge/pipx.rs). +The code for this is inside of the mise repository at [`./src/backend/pipx.rs`](https://github.com/jdx/mise/blob/main/src/backend/pipx.rs). ## Dependencies diff --git a/docs/dev-tools/backends/spm.md b/docs/dev-tools/backends/spm.md new file mode 100644 index 0000000000..ad1f1f8234 --- /dev/null +++ b/docs/dev-tools/backends/spm.md @@ -0,0 +1,44 @@ +# SPM Backend + +You may install executables managed by [Swift Package Manager](https://www.swift.org/documentation/package-manager) directly from Github releases. + +The code for this is inside of the mise repository at [`./src/backend/spm.rs`](https://github.com/jdx/mise/blob/main/src/backend/spm.rs). + +## Dependencies + +This relies on having `swift` installed. You can install it according to the [instructions](https://www.swift.org/install). + +> [!NOTE] +> If you have Xcode installed and selected in your system via `xcode-select`, Swift is already available through the toolchain embedded in the Xcode installation. + +## Usage + +The following installs the latest version of `tuist` +and sets it as the active version on PATH: + +```sh +$ mise use -g spm:tuist/tuist +$ tuist --help +OVERVIEW: Generate, build and test your Xcode projects. + +USAGE: tuist +... +``` + +The version will be set in `~/.config/mise/config.toml` with the following format: + +```toml +[tools] +"spm:tuist/tuist" = "latest" +``` + +### Supported Syntax + +| Description | Usage | +| --------------------------------------------- | --------------------------------------------------------- | +| Github shorthand for latest release version | `spm:tuist/tuist` | +| Github shorthand for specific release version | `spm:tuist/tuist@4.15.0` | +| Github url for latest release version | `spm:https://github.com/tuist/tuist.git` | +| Github url for specific release version | `spm:https://github.com/tuist/tuist.git@4.15.0` | + +Other syntax may work but is unsupported and untested. diff --git a/docs/dev-tools/backends/ubi.md b/docs/dev-tools/backends/ubi.md index 581e458d4d..d54f91d7b8 100644 --- a/docs/dev-tools/backends/ubi.md +++ b/docs/dev-tools/backends/ubi.md @@ -2,7 +2,7 @@ You may install Github Releases and URL packages directly using [ubi](https://github.com/houseabsolute/ubi) backend. -The code for this is inside of the mise repository at [`./src/forge/ubi.rs`](https://github.com/jdx/mise/blob/main/src/forge/ubi.rs). +The code for this is inside of the mise repository at [`./src/backend/ubi.rs`](https://github.com/jdx/mise/blob/main/src/backend/ubi.rs). ## Dependencies