Releases: exercism/v2-configlet
Add MixedCase exercise names for README generation
Some languages use MixedCase
for file names. This means that we will be able to make the template generate the actual command to run the tests for that particular exercise, rather than a generic example command using Foo or Hello World.
$ groovy ./{{ .Spec.MixedCaseName }}Spec.groovy
Make lint command more powerful
This adds two pieces of behavior to the lint
command:
- verify that each exercise has a test suite, by checking all the file paths in the exercise subtree against the
test_pattern
inconfig.json
. If the test pattern is missing, it defaults to the case-insensitive substring/test/i
. - verify that the maintainers config file
config/maintainers.json
is valid JSON
Add subcommand: uuid
This adds a new subcommand which will generate a fresh UUID to be used for an exercise in a track.
E.g.
$ configlet uuid
699d4aee-005e-4b80-f8f6-62af39c23c85952a7d5
For more details about the config.json
structure/format, see https://github.com/exercism/docs/blob/master/language-tracks/configuration/README.md
Implement subcommands: lint, generate
As of this release, there is no longer support for the command configlet .
or configlet path/to/track
. If you want the behavior that was previously accessible via the top-level command, you must now use the lint
subcommand explicitly:
configlet lint path/to/track
In addition to the lint
command which verifies the track configuration, there is now a second subcommand, generate
, which generates READMEs for the exercises in the track.
configlet generate path/to/track [--only $SLUG]
See the documentation for details.
Handle placeholder subcommand
We're going to be adding subcommands. This release allows configlet to work either with or without a subcommand.
Make error messages more expressive
This does not change the behavior in any way. It tweaks the error messages to provide a bit more guidance on what has gone wrong.
Remove support for deprecated track configurations
We no longer support:
- a "problems" key in the config (this is replaced by the "exercises" key)
- exercise implementations that live in the root directory (all exercises much be contained within the "exercises" directory)
We are no longer checking the "ignored" key in the config.
Support configurable solution paths
This adds support for an optional keysolution_pattern
in the track's config.json
file. The value is a string which is used to create a regular expression.
If the key is not present the default value of [Ee]xample
will be used.
Deprecate "problems" key
This uses the "exercises" key to define the configured problems, falling back to "problems" if "exercises" is missing.
Patch release - ignore root img directory
Ignore root img directory
We're putting track icons in each of the language track repositories, in 'img/icon.png'. Ignoring the img dir by default lets us avoid putting each of those img dirs in the config.json under the "ignore" key.