All notable changes to this project will be documented in this file, which follows the conventions of keepachangelog.com. This project adheres to Semantic Versioning.
...
deps-on now supports a :transitive option to show all transitive
dependents, not just direct ones. Each entry shows the linking dependency
that connects it to the tree.
#108deps-of now correctly filters out external dependencies in non-transitive
mode, showing only internal subprojects.deps-of now correctly parses the :transitive option from the command line.each :parallel <threads> by
synchronizing namespace loading. These errors existed before, but were made
much more likely to occur by to #102.
#103each :parallel <threads> would run tasks
sequentially for the first 10 seconds. #102:clean-targets will automatically be updated with absolute paths to support running
the clean task as part of lein monolith each.
#99with-dependency-set, that allows running a task with a
dependency set defined in the metaproject.
#97:managed-dependencies rather than concatenating with the metaproject
:managed-dependencies.
#97:jar-exclusions in the calculation.
#95:monolith/dependency-set key.
#93lein monolith changed :debug will now print lots of extra
information about what fingerprint values have changed and why.
#89lein monolith show-fingerprints command will print out detailed
information about the fingerprint calculations for one or more projects,
compared to an existing mark.
#91master branch to main.:project-dirs pattern can now support recursive subdirectories with
a double-wildcard .../** syntax.
#85lint task now only considers dependency names and versions for
detecting conflicts, which should improve the signal-to-noise ratio.
#73unlink task will now only remove internal checkouts by default. It also
accepts an :all option to remove external checkouts, as well as a list of
project names to specifically unlink.
#66
#80each task provides a command to resume execution, the arguments
will be properly quoted for shells.
#27
#72each task is now compatible with composite profiles.
#29
#77each is used with :parallel, task aliases are now correctly resolved
before iteration starts.
#36
#74:inherit-raw and :inherit-leaky-raw to
list keys which should be inherited without interpretation from the
metaproject. This is useful for inheriting source paths without them being
canonicalized.
#68
#75each task supports a new :silent option, which will suppress task
output for successful projects. This can be useful in large CI builds where
the output is only consulted in the event of failure.
#37
#81each :endure iteration, the stack
trace is printed immediately instead of swallowing the error.each :output iteration, the stack
trace is printed in the output file in addition to the combined output.
#56do are resolved before parallel execution, which should ensure
they are fully loaded before they are called.:parallel and
:output options in the each subtask.graph subtask supports an :image-path option to explicitly specify the
graph image output, as well as a :dot-path option to also write the raw dot
definition for the graph.deps subtask supports listing all project dependencies in the monorepo.
The output should be suitable for other tooling to consume.:monolith/fingerprint-seed value as a way to force
fingerprint invalidations when desired.puget for colorized output and canonical printing. This
avoids pulling in fipp which is problematic to use in Leiningen on Java 9+.
#49LEIN_MONOLITH_COLOR
environment variable to no, false, or off.graph subtask to take specific targeting options.
#43each subtask couldn't be composed with subsequent tasks if it had no
work to do. #44each subtask no longer fails when zero projects are selected.each subtask supports :refresh and :changed to perform incremental
runs over the projects.changed, mark-fresh, and clear-fingerprints subtasks inspect and
manipulate the underlying fingerprints used to perform incremental runs.link could try to link a project to itself and fail. #41link subtask accepts a list of projects to target, allowing you to
select which checkout links get created.graph subtask could throw an exception when clusters exist at the root
of the metaproject. #31:inherit-leaky vector to generate a leaky
profile for inclusion in subprojects' built artifacts.This release marks the first stable major release of the plugin. Actual feature
changes are small, but lein-monolith has seen enough production use to be
considered a mature project.
:output option to each task allows saving individual subproject output
to separate files under the given directory.each now use the subproject's root as the working directory,
rather than the monolith root. #21info task supports targeting options.with-all task supports targeting options.:subtree targeting option.each task supports additional dependency closure selection options,
including :in <projects>, :upstream, :upstream-of <projects>,
:downstream, and :downstream-of <projects>.:project-selectors can be provided to each in order to chain the
filters applied to the targeted projects.:subtree option to each is deprecated.:report option to the each task to print out detailed timing once
each completes.each :parallel <threads> option to run tasks on subprojects
concurrently. Tasks still run in dependency order, but mutually independent
projects are run simultaneously on a fixed-size thread pool.each to print a completion message after subproject tasks finish
running. This improves output during parallel execution.each task supports an :endure option to continue iteration in the
event of subproject failures. This supports better CI usage for testing.each task now adds a :monolith/index key to project maps passed to
the project-selector function to enable mod-distribution logic.each weren't output in the continuation command.:deep option to the link task to link checkouts for all transitive
dependencies.each iteration.with-all is used in a subproject.This release contains a breaking change in how the plugin is configured! All
options are now contained in a required metaproject at the repository root
instead of a separate monolith.clj file.
This should also be much faster to run due to lazily initializing subprojects instead of loading them all before running any commands.
:resource-paths from each subproject.:monolith/inherit key
in subprojects and :monolith {:inherit [...]} in the metaproject.lint subtask runs the dependency conflict checks which previously ran
during every merged profile task.each task supports :skip <project> and :select <filter> options.:monolith key in a project no longer automatically includes the
merged profile; instead, it is used for general plugin configuration.each :subtree would show the wrong number of total
subprojects while printing its progress.Initial project release
Can you improve this documentation? These fine people already did:
Greg Look, Daniel Cardenas, Brandon Vincent, Alex Engelberg, Drew Inglis & Stephen GerkinEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |