Version 0.2.19
The main focus in this release has been to clean up the workspace structure by moving keys to where they belong (issue 315). This clean up of the workspace structure was introduced to simplify future maintenance of the tool. It unfortunately broke the Test Runner contract (tests has been added, so this hopefully will not happen again). The good part is that the improved inner workspace structure will make it easier to implement test runners in the future. We decided to skip the idea of storing project and brick configuration in separate files because it made it harder to edit it and get an overview (they can still be found in :projects
and :bricks
in workspace.edn).
Important: If you use a test runner other than the built-in one, make sure to use at least 0.8.4 of the Kaocha test runner, and 0.4.0 of the External test runner.
Issues and PRs
- Clean up the workspace structure (changes are listed here), issue 315.
- Update Edamame dependency to 1.4.25, to make it work with Clojure 1.12 Alpha 7.
- Link to affected 3rd party test runners in docstring, PR 426.
- Restore global test configuration, PR 427.
Other changes
- Reintroduced the global
:test
key in:settings
in the workspace structure (taken from workspace.edn), see versions (bug fix). - Make sure we also update libraries for the development project when we execute
poly libs :update
(bug fix). - Changed lib name prefix from "poly" to "polylith" in the polylith workspace itself, to minimise the risk of name clashes for the users of the clj-poly library.
- Added
check
andtest
functions to the clj-poly library, documented here. - Custom data can be stored in the reserved
:custom
key at the root of workspace.edn and under each project and brick, see custom configuration. - The test-runners example project was added. It uses the Kaocha and External test runners, and is executed before we make a release (from create-example) to reduce the risk that we break the Test Runner API in the future.
- Removed the migrate command, that can migrate a workspace from the old format where each brick didn’t store its own deps.edn file (created by 0.1.0-alpha9 or earlier). Use 0.2.18 if you still need to migrate old workspaces.
- Print a deprecation message if the shorter form of "create component/project/workspace" is used, e.g.
create c name:mycomp
. - Print a deprecation message if
::
is used (that looks up the workspace root). This feature will be removed in the future, and the reason is that it’s no longer needed since we introduced the shell command. - Make sure we can create a workspace, even if it exists a non-polylith deps.edn file at the root.
Doc updates
- Fixed three broken images on the Testing page.
- Show snapshot number, e.g.
0.2.19-SNAPSHOT #7
for the badge at the top of the start page for snapshot releases. - Added a warning that you should use a more unique prefix (lib name) for your bricks in project
deps.edn
files, if the code is exposed outside the workspace, e.g. as a library. Thanks Imre Kószó for pointing this out! - Added a tip on how to refresh your workspace from a shell.
- Added a note that old workspaces can be read by the tool (both from exported files and from disk).
- Added Leveraging Polylith to improve consistency, reduce complexity and increase changeability to the list of blog posts. These can also be accessed by the doc command.
- Added Demo Rama Electric to the list of example systems.
- Converted this documentation from next-release.txt to AsciiDoc.