Skip to content

Commit

Permalink
Merge #82
Browse files Browse the repository at this point in the history
82: More cli commands r=Shemnei a=Shemnei

# Added

- Added new `render` cli command to display resolved template dotfile ([#19](#19))
- Added new `verify` cli command to verify a given profile ([#19](#19))
- Added new `diff` cli command to print the potential diffs of a given profile ([#82](#82))
- Added new `man` cli command to generate man pages for the application ([#82](#82))
- Added new `completions` cli command to generate shell completions for the application ([#82](#82))
- Added `-q/--quite` cli flag to only display errors ([#42](#42))
- Added `--json-output/--yaml-output` cli argument to write the deployment status to files ([#47](#47))
- Added support for symlink creation in profiles ([#54](#54))
- Added path resolving of `~` and environment variables ([#48](#48))
- Added support for the `aliases` attribute in profiles

# Changed

- **BREAKING** The profile cli argument now must be given with the `-p/--profile` specifier ([#82](#82))
- Updated internal workings of the deployment process to make it more flexible ([#82](#82))
- Dotfiles are now sorted by descending priority to maybe reduce disk read/writes ([#27](#27))
- Improved aur package installation; Now includes man page and shell completions ([#82](#82))


Co-authored-by: Jonas Grawe <[email protected]>
  • Loading branch information
bors[bot] and Shemnei authored Nov 26, 2022
2 parents 6ba6d07 + 59f7b56 commit f05388e
Show file tree
Hide file tree
Showing 31 changed files with 3,506 additions and 1,528 deletions.
28 changes: 27 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,31 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Added new `render` cli command to display resolved template dotfile ([#19](https://github.com/Shemnei/punktf/issues/19))
- Added new `verify` cli command to verify a given profile ([#19](https://github.com/Shemnei/punktf/issues/19))
- Added new `diff` cli command to print the potential diffs of a given profile ([#82](https://github.com/Shemnei/punktf/pull/82))
- Added new `man` cli command to generate man pages for the application ([#82](https://github.com/Shemnei/punktf/pull/82))
- Added new `completions` cli command to generate shell completions for the application ([#82](https://github.com/Shemnei/punktf/pull/82))
- Added `-q/--quite` cli flag to only display errors ([#42](https://github.com/Shemnei/punktf/issues/42))
- Added `rust-toolchain.toml` file to pin rust version for better reproducible builds ([#81](https://github.com/Shemnei/punktf/pull/81))
- Added `--json-output/--yaml-output` cli argument to write the deployment status to files ([#47](https://github.com/Shemnei/punktf/issues/47))
- Added support for symlink creation in profiles ([#54](https://github.com/Shemnei/punktf/issues/54))
- Added path resolving of `~` and environment variables ([#48](https://github.com/Shemnei/punktf/issues/48))
- Added the `aliases` key to profiles which can be used instead of the file name when referencing a profile ([#33](https://github.com/Shemnei/punktf/issues/33))

### Changed

- **BREAKING** The profile cli argument now must be given with the `-p/--profile` specifier ([#82](https://github.com/Shemnei/punktf/pull/82))
- Made `punktf-cli` crate a workspace member ([#81](https://github.com/Shemnei/punktf/pull/81))
- Moved dependencies and some metadata to workspace ([#81](https://github.com/Shemnei/punktf/pull/81))
- Updated internal workings of the deployment process to make it more flexible ([#82](https://github.com/Shemnei/punktf/pull/82))
- Dotfiles are now sorted by descending priority to maybe reduce disk read/writes ([#27](https://github.com/Shemnei/punktf/issues/27))
- Improved aur package installation; Now includes man page and shell completions ([#82](https://github.com/Shemnei/punktf/pull/82))

## [1.0.2] - 2022-09-29

### Added

- Added new if expression syntax `{{@if !{{VARIABLE}}}}` for templates ([#67](https://github.com/Shemnei/punktf/pull/67))
- Added informational message when running `deploy` with the `dry-run` flag ([#61](https://github.com/Shemnei/punktf/pull/61))
- Added better error messages when profile parsing fails ([#62](https://github.com/Shemnei/punktf/pull/62))
Expand Down Expand Up @@ -43,7 +68,8 @@ Initial release

Initial alpha release

[Unreleased]: https://github.com/Shemnei/punktf/compare/v1.0.1...HEAD
[Unreleased]: https://github.com/Shemnei/punktf/compare/v1.0.2...HEAD
[1.0.2]: https://github.com/Shemnei/punktf/compare/v1.0.1...v1.0.2
[1.0.1]: https://github.com/Shemnei/punktf/compare/v1.0.0...v1.0.1
[1.0.0]: https://github.com/Shemnei/punktf/compare/v1.0.0-alpha...v1.0.0
[1.0.0-alpha]: https://github.com/Shemnei/punktf/releases/tag/v1.0.0-alpha
172 changes: 170 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 12 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,18 +9,25 @@ license = "MIT OR Apache-2.0"
keywords = ["dotfiles", "cli", "dotfile", "dotfiles-manager", "templating"]

[workspace.dependencies]
clap = { version = "4.0.26", features = ["derive", "env"] }
# Shared
color-eyre = { version = "0.6.2", default-features = false }
env_logger = { version = "0.9.3", default-features = false, features = ["termcolor", "atty"] }
log = "0.4.17"
serde = { version = "1.0.147", features = ["derive"] }
pretty_assertions = "1.3.0"
# Lib
thiserror = "1.0.37"
walkdir = "2.3.2"
unicode-width = "0.1.10"
cfg-if = "1.0.0"
pretty_assertions = "1.3.0"
# Members
punktf-lib = { version = "1.0.2", path = "crates/punktf-lib", features = ["profile-all"] }
shellexpand = "2.1.2"
# Cli
clap = { version = "4.0.25", features = ["derive", "env"] }
clap_mangen = "0.2.4"
clap_complete = "4.0.5"
env_logger = { version = "0.9.3", default-features = false, features = ["termcolor", "atty"] }
similar = { version = "2.2.1", features = ["text", "unicode", "inline"] }
console = "0.15.2"
punktf-lib = { version = "2.0.0", path = "crates/punktf-lib", features = ["profile-all"] }

[profile.dev]
opt-level = 0
Expand Down
Loading

0 comments on commit f05388e

Please sign in to comment.