You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add --ignore-changes option for filtering changes by file patterns
- Add `--ignore-changes` CLI flag accepting comma-separated regexp patterns
- Filter out commits where all changed files match ignore patterns
- Support workspace-level `:ignore-changes` in `:kmono/workspace` config
- Support per-package `:ignore-changes` override in `:kmono/package` config
- Precedence order: CLI > per-package > workspace
- Per-commit filtering: each commit is individually evaluated against patterns
The precedence order is: CLI `--ignore-changes` > per-package `:ignore-changes` > workspace `:ignore-changes`.
235
+
200
236
These tools and others can be used to build sophisticated build and release pipelines for kmono workspaces.
201
237
202
238
## API Documentation
@@ -263,6 +299,7 @@ configuration accepts the following properties:
263
299
| `:repl-aliases` | `[keyword?]` | `nil` | A set of `deps` aliases to include when running `kmono repl` |
264
300
| `:aliases` | `[keyword?]` | `nil` | A set of `deps` aliases to include for all kmono workspace commands by default |
265
301
| `:package-aliases` | `[keyword?]` | `nil` | A set of namespaced [alias globs](#alias-globs) that describe the aliases of packages within the workspace to include in the classpath |
302
+
| `:ignore-changes` | `[string?]` | `nil` | A list of regexp patterns for file paths to ignore when determining package changes (used with `--changed` / `--changed-since`) |
266
303
267
304
Example:
268
305
@@ -271,7 +308,9 @@ Example:
271
308
{:kmono/workspace {:group com.example
272
309
:packages #{"./(packages|modules)/**"}
273
310
;; Include any `:test` aliases from all (`*`) packages in the workspace
274
-
:package-aliases [:*/test]}
311
+
:package-aliases [:*/test]
312
+
;; Ignore doc-only changes when using --changed
313
+
:ignore-changes [".*\\.md$" "LICENSE"]}
275
314
276
315
:paths ["src" "resources"]
277
316
@@ -285,9 +324,10 @@ Packages in the workspace can optionally provide their own configuration metadat
| `:group` | `symbol?` | `nil` | The mvn group to use for this package. If not specified, the `:group` specified in the root `:kmono/workspace` configuration will be used. |
289
-
| `:name` | `string? \| symbol?` | `$dir` | The name of the package. If not set the name of the parent directory containing the packages'`deps.edn` file will be used as the package name |
290
-
|`:excluded`|`boolean?`|`false`| Whether or not this package is excluded from the project workspace |
327
+
| `:group` | `symbol?` | `nil` | The mvn group to use for this package. If not specified, the `:group` specified in the root `:kmono/workspace` configuration will be used. |
328
+
| `:name` | `string? \| symbol?` | `$dir` | The name of the package. If not set the name of the parent directory containing the packages'`deps.edn` file will be used as the package name |
329
+
|`:excluded`|`boolean?`|`false`| Whether or not this package is excluded from the project workspace |
330
+
|`:ignore-changes`|`[string?]`|`nil`| Override the workspace-level `:ignore-changes` patterns for this package |
291
331
292
332
Example
293
333
@@ -296,7 +336,9 @@ Example
296
336
{:kmono/package {;; Maven artifacts group
297
337
:group com.example
298
338
;; Override the default package name
299
-
:name example-lib}
339
+
:name example-lib
340
+
;; Override workspace-level ignore-changes for this package
0 commit comments