Skip to content

Commit 65f7a10

Browse files
drernieclaude
andcommitted
Work around upstream packagePlugin Windows bug; bump to beta.14
The io.nextflow.nextflow-plugin gradle plugin wires `test` to depend on `assemble` (which transitively triggers `packagePlugin`). On Windows, `packagePlugin` fails with "character to be escaped is missing" because upstream uses `String.replaceAll('\\.', File.separator)` and `\` is the escape character in regex replacements. Filed upstream as nextflow-io/nextflow-plugin-gradle#20. Until that's fixed: - Sever the test->assemble dependency so `./gradlew test` (and therefore `make test` in CI) runs on Windows. `make assemble`, `make package`, and `make release` still pull in `packagePlugin` on platforms where it works. - Bump to 1.0.0-beta.14 (latest) — same Windows bug, but worth being on the most recent release otherwise. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 2ad1400 commit 65f7a10

1 file changed

Lines changed: 13 additions & 5 deletions

File tree

build.gradle

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010

1111
plugins {
12-
id 'io.nextflow.nextflow-plugin' version '1.0.0-beta.6' // pinned to migration-guide baseline
12+
id 'io.nextflow.nextflow-plugin' version '1.0.0-beta.14'
1313
}
1414

1515
// Plugin version: bump here to release a new version.
@@ -24,10 +24,18 @@ dependencies {
2424
implementation 'commons-io:commons-io:2.19.0'
2525
}
2626

27-
// QuiltSpecification reads the generated MANIFEST.MF from build/tmp/jar/ to
28-
// initialise the plugin manager, so make sure the jar task runs first.
29-
tasks.named('test') {
30-
dependsOn 'jar'
27+
// The io.nextflow.nextflow-plugin gradle plugin wires `test` to depend on
28+
// `assemble` (which transitively runs `packagePlugin`). On Windows,
29+
// `packagePlugin` fails with "character to be escaped is missing" because
30+
// the upstream task uses `String.replaceAll(..., File.separator)` and `\`
31+
// is an escape character in regex replacements
32+
// (see https://github.com/nextflow-io/nextflow-plugin-gradle/issues/20).
33+
// Until that upstream bug is fixed, we sever the test->assemble link so the
34+
// test suite can run on Windows. `make assemble` / `make package` /
35+
// `make release` still trigger packagePlugin on platforms where it works.
36+
tasks.named('test') { task ->
37+
task.setDependsOn(task.getDependsOn().findAll { it != tasks.assemble && it != 'assemble' })
38+
task.dependsOn 'jar'
3139
useJUnitPlatform()
3240
// Required to run Nextflow / Groovy reflection-heavy tests on JDK 9+.
3341
jvmArgs([

0 commit comments

Comments
 (0)