-
Notifications
You must be signed in to change notification settings - Fork 17
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: update REAMD and documentation
- Loading branch information
1 parent
d6e8a6d
commit fede6bf
Showing
9 changed files
with
204 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,79 @@ | ||
# cargo-packager | ||
|
||
Rust executable packager, bundler and updater. | ||
Rust executable packager, bundler and updater. A tool and library to generate installers or app bundles for your executables. | ||
It also has a comptabile updater through [cargo-packager-updater](https://docs.rs/cargo-packager-updater). | ||
|
||
## Installation | ||
## CLI | ||
|
||
``` | ||
### Installation | ||
|
||
```sh | ||
cargo install cargo-pacakger --locked | ||
``` | ||
|
||
## Usage | ||
### Usage | ||
|
||
``` | ||
```sh | ||
cargo pacakger | ||
``` | ||
|
||
## Configuration | ||
### Supported pacakges | ||
|
||
- macOS | ||
- DMG (.dmg) | ||
- Bundle (.app) | ||
- Linux | ||
- Debian package (.deb) | ||
- AppImage (.AppImage) | ||
- Windows | ||
- NSIS (.exe) | ||
- MSI using WiX Toolset (.msi) | ||
|
||
### Configuration | ||
|
||
By default, `cargo-pacakger` reads configuration from `Packager.toml` or `pacakger.json` if exists, and from `package.metadata.packager` table in `Cargo.toml`. | ||
You can specify a custom configuration file using `-c/--config` flag. All configuration options could be either a single config or array of configs. | ||
You can also specify a custom configuration file using `-c/--config` cli argument. | ||
All configuration options could be either a single config or array of configs. | ||
|
||
For full list of configuration options, see https://docs.rs/cargo-packager/latest/cargo-packager/struct.Config.html | ||
|
||
You could also use the schema from GitHub releases to validate your configuration or have auto completions in your IDE. | ||
|
||
### Building your application before packaging | ||
|
||
By default, `cargo-packager` doesn't build your application, it only looks for it inside the directory specified in `config.out_dir` or `--out-dir` cli arg, | ||
However, `cargo-pacakger` has an option to specify a shell command to be executed before packaing your app, `beforePackagingCommand`. | ||
|
||
### Cargo profiles | ||
|
||
By default, `cargo-packager` looks for binaries built using the `debug` profile, if your `beforePackagingCommand` builds your app using `cargo build --release`, you will also need to | ||
run `cargo-pacakger` in release mode `cargo packager --release`, otherwise, if you have a custom cargo profile, you will need to specify it using `--profile` cli arg `cargo pacakger --profile custom-release-profile`. | ||
|
||
For more information, checkout the available [configuration options](https://docs.rs/cargo-packager/latest/cargo-packager/struct.Config.html) and for a list of available CLI | ||
commands and arguments, run `cargo packager --help`. | ||
|
||
## Examples | ||
|
||
The [`examples`](./examples/) directory contains a number of varying examples, if you want to build them all run `cargo r -p cargo-pacakger -- --release` in the root of this repository. Just make sure to have the tooling for each example installed on your system. You can find what tooling they require by checking the README in each example. The README also contains a command to build this example alone if you wish. | ||
|
||
Examples list (non-exhaustive): | ||
|
||
- [`tauri`](./examples/tauri/) | ||
- [`wry`](./examples/wry/) | ||
- [`dioxus`](./examples/dioxus/) | ||
- [`egui`](./examples/egui/) | ||
- [`deno`](./examples/deno/) | ||
- [`slint`](./examples/slint/) | ||
|
||
## Library | ||
|
||
This crate is also published to crates.io as a library that you can integrate into your tooling, just make sure to disable the default-feature flags. | ||
|
||
```sh | ||
cargo add cargo-packager --no-default-features | ||
``` | ||
|
||
#### Feature flags | ||
|
||
- **`cli`**: Enables the CLI specifc features and dependencies. Enabled by default. | ||
- **`tracing`**: Enables `tracing` crate integration. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,77 @@ | ||
# cargo-packager | ||
Rust executable packager, bundler and updater. A tool and library to generate installers or app bundles for your executables. | ||
It also has a comptabile updater through [cargo-packager-updater](https://docs.rs/cargo-packager-updater). | ||
|
||
Rust executable packager and bundler CLI and library. | ||
## CLI | ||
|
||
## Installation | ||
### Installation | ||
|
||
``` | ||
```sh | ||
cargo install cargo-pacakger --locked | ||
``` | ||
|
||
## Usage | ||
### Usage | ||
|
||
``` | ||
```sh | ||
cargo pacakger | ||
``` | ||
|
||
## Configuration | ||
### Supported pacakges | ||
|
||
- macOS | ||
- DMG (.dmg) | ||
- Bundle (.app) | ||
- Linux | ||
- Debian package (.deb) | ||
- AppImage (.AppImage) | ||
- Windows | ||
- NSIS (.exe) | ||
- MSI using WiX Toolset (.msi) | ||
|
||
### Configuration | ||
|
||
By default, `cargo-pacakger` reads configuration from `Packager.toml` or `pacakger.json` if exists, and from `package.metadata.packager` table in `Cargo.toml`. | ||
You can specify a custom configuration file using `-c/--config` flag. | ||
You can also specify a custom configuration file using `-c/--config` cli argument. | ||
All configuration options could be either a single config or array of configs. | ||
|
||
For full list of configuration options, see https://docs.rs/cargo-packager/latest/cargo-packager/struct.Config.html | ||
|
||
You could also use the schema from GitHub releases to validate your configuration or have auto completions in your IDE. | ||
|
||
### Building your application before packaging | ||
|
||
By default, `cargo-packager` doesn't build your application, it only looks for it inside the directory specified in `config.out_dir` or `--out-dir` cli arg, | ||
However, `cargo-pacakger` has an option to specify a shell command to be executed before packaing your app, `beforePackagingCommand`. | ||
|
||
### Cargo profiles | ||
|
||
By default, `cargo-packager` looks for binaries built using the `debug` profile, if your `beforePackagingCommand` builds your app using `cargo build --release`, you will also need to | ||
run `cargo-pacakger` in release mode `cargo packager --release`, otherwise, if you have a custom cargo profile, you will need to specify it using `--profile` cli arg `cargo pacakger --profile custom-release-profile`. | ||
|
||
For more information, checkout the available [configuration options](https://docs.rs/cargo-packager/latest/cargo-packager/struct.Config.html) and for a list of available CLI | ||
commands and arguments, run `cargo packager --help`. | ||
|
||
## Examples | ||
|
||
The [`examples`](../../examples/) directory contains a number of varying examples, if you want to build them all run `cargo r -p cargo-pacakger -- --release` in the root of this repository. Just make sure to have the tooling for each example installed on your system. You can find what tooling they require by checking the README in each example. The README also contains a command to build this example alone if you wish. | ||
|
||
Examples list (non-exhaustive): | ||
|
||
- [`tauri`](../../examples/tauri/) | ||
- [`wry`](../../examples/wry/) | ||
- [`dioxus`](../../examples/dioxus/) | ||
- [`egui`](../../examples/egui/) | ||
- [`deno`](../../examples/deno/) | ||
- [`slint`](../../examples/slint/) | ||
|
||
## Library | ||
|
||
This crate is also published to crates.io as a library that you can integrate into your tooling, just make sure to disable the default-feature flags. | ||
|
||
```sh | ||
cargo add cargo-packager --no-default-features | ||
``` | ||
|
||
#### Feature flags | ||
|
||
- **`cli`**: Enables the CLI specifc features and dependencies. Enabled by default. | ||
- **`tracing`**: Enables `tracing` crate integration. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters