Skip to content

Commit 3b78358

Browse files
committed
Merge branch 'master' into feature/github-actions-release-job
2 parents 64e9e55 + dc8d474 commit 3b78358

24 files changed

Lines changed: 142 additions & 84 deletions

File tree

.github/workflows/build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,14 @@ jobs:
4343
COMMIT_MESSAGE="$(curl -s \
4444
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
4545
https://api.github.com/repos/${{ github.repository }}/commits/$COMMIT_SHA | jq -r '.commit.message' | head -n 1)"
46-
echo "Commit message=$(printf "%q" "$COMMIT_MESSAGE")"
47-
echo "commit_message=$(printf "%q" "$COMMIT_MESSAGE")" >> $GITHUB_OUTPUT
46+
echo "Commit message=$(printf "%s" "$COMMIT_MESSAGE")"
47+
echo "commit_message=$(printf "%s" "$COMMIT_MESSAGE")" >> $GITHUB_OUTPUT
4848
else
4949
echo "GitHub event=${{ github.event_name }}"
5050
# Extract only the first line of the commit message
5151
COMMIT_MESSAGE="$(git log -1 --pretty=format:'%s')"
52-
echo "Commit message=$(printf "%q" "$COMMIT_MESSAGE")"
53-
echo "commit_message=$(printf "%q" "$COMMIT_MESSAGE")" >> $GITHUB_OUTPUT
52+
echo "Commit message=$(printf "%s" "$COMMIT_MESSAGE")"
53+
echo "commit_message=$(printf "%s" "$COMMIT_MESSAGE")" >> $GITHUB_OUTPUT
5454
fi
5555
5656
- name: Setup env

build.gradle

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ allprojects {
100100
module("commons-logging:commons-logging") { replacedBy("org.slf4j:jcl-over-slf4j") }
101101
}
102102

103+
// JUnit Platform launcher required for Gradle 9.1+ when using useJUnitPlatform()
104+
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
105+
103106
// Documentation required libraries
104107
groovyDoc 'org.fusesource.jansi:jansi:2.4.0'
105108
groovyDoc "org.apache.groovy:groovy-groovydoc:4.0.28"
@@ -250,20 +253,43 @@ def getRuntimeConfigs() {
250253
// note: migrating to gradle 7 does not work any more
251254
//result = result + cfg.getOutgoing().getArtifacts().getFiles()
252255
}
253-
return result
256+
return result?.files ?: []
254257
}
255258

256259
/*
257260
* Save the runtime classpath
261+
* NOTE: This task uses a provider to delay execution, but still triggers configuration
262+
* resolution when the provider is evaluated. While not ideal for Gradle 9.1's strict
263+
* configuration resolution requirements, this approach works in practice for our use case.
258264
*/
259265
task exportClasspath {
260266
dependsOn allprojects.jar
267+
268+
// Use provider to delay configuration resolution until task execution
269+
def configurationFiles = provider {
270+
def libs = []
271+
272+
// Resolve configurations during provider evaluation (not ideal but functional)
273+
['nextflow','nf-commons','nf-httpfs','nf-lang','nf-lineage'].each { moduleName ->
274+
def moduleProject = project(":$moduleName")
275+
def cfg = moduleProject.configurations.getByName('runtimeClasspath')
276+
libs.addAll(cfg.files.collect { it.canonicalPath })
277+
}
278+
279+
// Add module jars
280+
['nextflow','nf-commons','nf-httpfs','nf-lang','nf-lineage'].each {
281+
libs << file("modules/$it/build/libs/${it}-${version}.jar").canonicalPath
282+
}
283+
284+
return libs.unique()
285+
}
286+
287+
inputs.files(configurationFiles)
288+
outputs.file('.launch.classpath')
289+
261290
doLast {
262-
def home = System.getProperty('user.home')
263-
def all = getRuntimeConfigs()
264-
def libs = all.collect { File file -> /*println file.canonicalPath.replace(home, '$HOME');*/ file.canonicalPath; }
265-
['nextflow','nf-commons','nf-httpfs','nf-lang','nf-lineage'].each {libs << file("modules/$it/build/libs/${it}-${version}.jar").canonicalPath }
266-
file('.launch.classpath').text = libs.unique().join(':')
291+
def libs = configurationFiles.get()
292+
file('.launch.classpath').text = libs.join(':')
267293
}
268294
}
269295

docs/install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ New versions of Nextflow are released regularly. See {ref}`updating-nextflow-pag
1212

1313
## Requirements
1414

15-
Nextflow requires Bash 3.2 (or later) and [Java 17 (or later, up to 24)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) to be installed. To see which version of Java you have, run the following command:
15+
Nextflow requires Bash 3.2 (or later) and [Java 17 (or later, up to 25)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) to be installed. To see which version of Java you have, run the following command:
1616

1717
```{code-block} bash
1818
:class: copyable

gradle/wrapper/gradle-wrapper.jar

311 Bytes
Binary file not shown.

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

gradlew

Lines changed: 6 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

gradlew.bat

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

launch.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ fi
6666
JAVA_VER=$(echo "$JAVA_VER" | awk '/version/ {gsub(/"/, "", $3); print $3}')
6767
major=${BASH_REMATCH[1]}
6868
minor=${BASH_REMATCH[2]}
69-
version_check="^(17|18|19|20|21|23|24)"
69+
version_check="^(17|18|19|20|21|23|24|25)"
7070
if [[ ! $JAVA_VER =~ $version_check ]]; then
7171
echo "Error: cannot find Java or it's a wrong version -- please make sure that Java 17 or higher is installed"
7272
exit 1
7373
fi
7474
JVM_ARGS+=" -Dfile.encoding=UTF-8 -XX:+TieredCompilation -XX:TieredStopAtLevel=1"
7575
JVM_ARGS+=" --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.nio.file.spi=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.base/sun.nio.fs=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED --add-opens=java.base/sun.net.www.protocol.file=ALL-UNNAMED --add-opens=java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED --add-opens=java.base/java.util.regex=ALL-UNNAMED"
76-
[[ "$JAVA_VER" =~ ^(24) ]]&& JVM_ARGS+=" --enable-native-access=ALL-UNNAMED --sun-misc-unsafe-memory-access=allow"
76+
[[ "$JAVA_VER" =~ ^(24|25) ]]&& JVM_ARGS+=" --enable-native-access=ALL-UNNAMED --sun-misc-unsafe-memory-access=allow"
7777
[[ $NXF_ENABLE_VIRTUAL_THREADS == 'true' ]] && [[ "$JAVA_VER" =~ ^(19|20) ]] && JVM_ARGS+=" --enable-preview"
7878
[[ "$JAVA_VER" =~ ^(21) ]] && [[ ! "$NXF_ENABLE_VIRTUAL_THREADS" ]] && NXF_ENABLE_VIRTUAL_THREADS=true
7979

modules/nextflow/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
plugins {
2-
id "com.gradleup.shadow" version "8.3.5"
2+
id "com.gradleup.shadow" version "8.3.8"
33
}
44
apply plugin: 'groovy'
55
apply plugin: 'application'
@@ -87,11 +87,12 @@ shadowJar {
8787
configurations = [project.configurations.runtimeClasspath, project.configurations.lineageImplementation]
8888
archiveClassifier='one'
8989
manifest {
90-
attributes 'Main-Class': "$mainClassName"
90+
attributes 'Main-Class': application.mainClass.get()
9191
}
9292
mergeServiceFiles()
9393
mergeGroovyExtensionModules()
9494
transform(com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer) {
9595
resource = 'META-INF/extensions.idx'
9696
}
9797
}
98+

modules/nextflow/src/main/groovy/nextflow/script/ScriptMeta.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ class ScriptMeta {
256256
final result = new HashSet(definitions.size() + imports.size())
257257
// local definitions
258258
for( def item : definitions.values() ) {
259-
if( item instanceof WorkflowDef )
259+
if( item instanceof WorkflowDef && item.name )
260260
result.add(item.name)
261261
}
262262
// processes from imports

0 commit comments

Comments
 (0)