Releases: Knetic/wisk
More strict parameters
Fixes
- Fixed bug which prevented
-l
flag from listing any placeholders that existed in file/folder names. Previously it erroneously only showed placeholders in the contents of files.
Changes
- When a parameter exists in a template, but isn't specified by the user, default behavior has been changed to not create the project. It deletes anything it generated and informs the user that the parameters were unspecified. The new
-b
flag can be used to allow replacement of missing parameters with "blanks", or empty strings. - Postgeneration script is now only called after missing/incorrect parameter messaging has been handled. This changes the order of output from the program.
This release is not contract compatible with prior releases, since it changes order of output and expectations around parameter existence.
Remote Integration
Features
- Now supports fetching remote archives via HTTP, including with Basic Auth.
- Now supports
project.createdDate
as a default parameter (set to RFC 3339 date format) - Now supports force-deletion of output directories if they pre-exist (
-d
used with-f
)
Implements #19 #20 #21 #22. As usual, this is contract-compatible with previous releases.
Added manpage
The relevant usage of the tool is now included in a manpage. The *.deb and *.rpm packages attached to this release install the manpage automatically. For people building from source, or downloading an executable without using a package manager, the manpage is in the docs/
folder of this repo.
- Fixes #18
User-safety features
Directory registration
New Things
- #11 Can now register directories directly, you do not need to create a zip archive in advance
Iterative placeholders
New Things
- Implemented "iterative placeholders", which accept a list of strings and join them in the generated file.
- Implemented "content placeholders", which can join lists of values with more than just simple separators between them.
- Implemented "recursive placeholders", which can create things like nested module declarations
- Added java maven/ant samples.
- Made "project.name" equal to the basename of the generated directory by default (can be overridden with parameter switch).
- Implemented "missing parameter" warning, so it's clear which parameters were not specified during generation.
Bugs
- Ensured "_postGenerate.sh" is removed from generated directory
- Parameter list is now whitespace-trimmed, so that
-p "foo=bar; baz=quux"
==-p "foo=bar;baz=quux"
Issues resolved
Skeletons made for previous releases will work the same in this release, unless they use very specific placeholder-like tags.
Hotfix for postgeneration working directory
- Fixed a bug where post-generation script would execute in the template directory, instead of the generated project directory.
Usability improvements
- Projects can now be generated from *.zip skeletons (so that skeletons can be more easily shared and transferred)
- zip skeletons can be "registered" on a per-user basis, so that users can snapshot the skeleton once and afterwards refer to it without needing to know its exact path.
- Post-generation scripts implemented, so that users can do things like git-init a newly generated project.
- More samples added
Initial release
Provides all major functionality of creating projects from templates, replacing placeholders in file names/dir names + file contents. Preserves file modes.