feat: Display full recipe with syntax highlighting (#166)
As I was re-arranging my recipe files, I needed a way to ensure that the
order of my recipe is correct without having to read through the
generated `Containerfile`. So I added a `-d`/`--display-full-recipe` arg
to `template` that will print out all of your modules in the order
defined by following the `from-file` property.
```
$> bluebuild template --help
Generate a Containerfile from a recipe
Usage: bluebuild template [OPTIONS] [RECIPE]
Arguments:
[RECIPE]
The recipe file to create a template from
Options:
-o, --output <OUTPUT>
File to output to instead of STDOUT
--registry <REGISTRY>
The registry domain the image will be published to.
This is used for modules that need to know where the image is being published (i.e. the signing module).
--registry-namespace <REGISTRY_NAMESPACE>
The registry namespace the image will be published to.
This is used for modules that need to know where the image is being published (i.e. the signing module).
-d, --display-full-recipe
Instead of creating a Containerfile, display the full recipe after traversing all `from-file` properties.
This can be used to help debug the order you defined your recipe.
-t, --syntax-theme <SYNTAX_THEME>
Choose a theme for the syntax highlighting for the Containerfile or Yaml.
The default is `mocha-dark`.
[possible values: mocha-dark, ocean-dark, ocean-light, eighties-dark, inspired-github, solarized-dark, solarized-light]
-s, --squash
Puts the build in a `squash-stage` and COPY's the results to the final stage as one layer.
WARN: This doesn't work with the docker driver as it has been deprecated.
NOTE: Squash has a performance benefit for the newer versions of podman and buildah.
-B, --build-driver <BUILD_DRIVER>
Select which driver to use to build your image
[possible values: buildah, podman, docker]
-v, --verbose...
Increase logging verbosity
-I, --inspect-driver <INSPECT_DRIVER>
Select which driver to use to inspect images
[possible values: skopeo, podman, docker]
-q, --quiet...
Decrease logging verbosity
-h, --help
Print help (see a summary with '-h')
```
Preview of Containerfile/Dockerfile syntax highlighting:

Preview of Yaml highlighting:

This commit is contained in:
parent
a7503d561e
commit
92150693d4
9 changed files with 477 additions and 9 deletions
|
|
@ -12,6 +12,7 @@ version = "0.8.4"
|
|||
[workspace.dependencies]
|
||||
anyhow = "1"
|
||||
chrono = "0.4.35"
|
||||
clap = { version = "4", features = ["derive", "cargo", "unicode"] }
|
||||
colored = "2.1.0"
|
||||
env_logger = "0.11"
|
||||
format_serde_error = "0.3.0"
|
||||
|
|
@ -54,7 +55,6 @@ pre-release-replacements = [
|
|||
blue-build-recipe = { version = "=0.8.4", path = "./recipe" }
|
||||
blue-build-template = { version = "=0.8.4", path = "./template" }
|
||||
blue-build-utils = { version = "=0.8.4", path = "./utils" }
|
||||
clap = { version = "4", features = ["derive", "cargo", "unicode"] }
|
||||
clap-verbosity-flag = "2"
|
||||
clap_complete = "4"
|
||||
clap_complete_nushell = "4"
|
||||
|
|
@ -71,6 +71,7 @@ users = "0.11.0"
|
|||
# Workspace dependencies
|
||||
anyhow.workspace = true
|
||||
chrono.workspace = true
|
||||
clap.workspace = true
|
||||
colored.workspace = true
|
||||
env_logger.workspace = true
|
||||
log.workspace = true
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue