diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d49f6be..bfc915a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: strategy: fail-fast: false matrix: - JAVA_VERSION: [8, 11, 17, 21] + JAVA_VERSION: [11, 17, 21] steps: - uses: actions/checkout@v4 diff --git a/.gitignore b/.gitignore index 5eb0a0c..5c34fb5 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,6 @@ .idea .nextflow* build/ +lib/ out/ work/ diff --git a/README.md b/README.md index 7439a41..7b9ecb8 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # nf-dotenv [![CI](https://github.com/fulcrumgenomics/nf-dotenv/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/fulcrumgenomics/nf-dotenv/actions/workflows/test.yml?query=branch%3Amain) -[![Nextflow](https://img.shields.io/badge/Nextflow%20DSL2-%E2%89%A522.10.2-blue.svg)](https://www.nextflow.io/) -[![Java Versions](https://img.shields.io/badge/java-8_|_11_|_17_|_21-blue)](https://github.com/fulcrumgenomics/nf-dotenv) +[![Nextflow](https://img.shields.io/badge/Nextflow%20DSL2-%E2%89%A524.01.0%E2%80%93edge-blue.svg)](https://www.nextflow.io/) +[![Java Versions](https://img.shields.io/badge/java-11_|_17_|_21-blue)](https://github.com/fulcrumgenomics/nf-dotenv) Automatically source [dotenv](https://hexdocs.pm/dotenvy/dotenv-file-format.html) files into your Nextflow scope. diff --git a/gradle.properties b/gradle.properties index f332058..963ac86 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,2 @@ -groovyVersion = 3.0.14 -nextflowVersion = 22.10.2 +groovyVersion = 4.0.18 +nextflowVersion = 24.01.0-edge diff --git a/nextflow b/nextflow index d49f02a..279c410 160000 --- a/nextflow +++ b/nextflow @@ -1 +1 @@ -Subproject commit d49f02aeb4c44287f64b2df7a5d25a5a073581f8 +Subproject commit 279c410b8de69627dbb7992e37e98ad36883c180 diff --git a/plugins/nf-dotenv/build.gradle b/plugins/nf-dotenv/build.gradle index c4de9dd..ec2c9f8 100644 --- a/plugins/nf-dotenv/build.gradle +++ b/plugins/nf-dotenv/build.gradle @@ -21,7 +21,7 @@ group = 'io.nextflow' java { toolchain { - languageVersion = JavaLanguageVersion.of(11) + languageVersion = JavaLanguageVersion.of(19) } } @@ -53,26 +53,23 @@ sourceSets { dependencies { // This dependency is exported to consumers, that is to say, it is found on their compile classpath. compileOnly "io.nextflow:nextflow:$nextflowVersion" - compileOnly 'org.slf4j:slf4j-api:1.7.10' - compileOnly 'org.pf4j:pf4j:3.4.1' + compileOnly 'org.slf4j:slf4j-api:2.0.12' + compileOnly 'org.pf4j:pf4j:3.10.0' // Plugin dependencies. implementation 'io.github.cdimascio:dotenv-java:3.0.0' // Test configuration. testImplementation "io.nextflow:nextflow:$nextflowVersion" - testImplementation "org.codehaus.groovy:groovy:$groovyVersion" - testImplementation "org.codehaus.groovy:groovy-nio:$groovyVersion" - testImplementation ("org.codehaus.groovy:groovy-test:$groovyVersion") { exclude group: 'org.codehaus.groovy' } - testImplementation ("cglib:cglib-nodep:3.3.0") - testImplementation ("org.objenesis:objenesis:3.1") - testImplementation ("org.spockframework:spock-core:2.0-M3-groovy-3.0") { exclude group: 'org.codehaus.groovy'; exclude group: 'net.bytebuddy' } - testImplementation ('org.spockframework:spock-junit4:2.0-M3-groovy-3.0') { exclude group: 'org.codehaus.groovy'; exclude group: 'net.bytebuddy' } - + testImplementation "org.apache.groovy:groovy:$groovyVersion" + testImplementation "org.apache.groovy:groovy-nio:$groovyVersion" + testImplementation ("org.apache.groovy:groovy-test:$groovyVersion") { exclude group: 'org.apache.groovy' } + testImplementation ("org.spockframework:spock-core:2.3-groovy-4.0") { exclude group: 'org.apache.groovy'; exclude group: 'net.bytebuddy' } + testImplementation ("org.spockframework:spock-junit4:2.3-groovy-4.0") { exclude group: 'org.apache.groovy'; exclude group: 'net.bytebuddy' } testImplementation(testFixtures("io.nextflow:nextflow:$nextflowVersion")) testImplementation(testFixtures("io.nextflow:nf-commons:$nextflowVersion")) - testImplementation("org.junit.jupiter:junit-jupiter:5.9.2") + testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") testRuntimeOnly("org.junit.platform:junit-platform-launcher") // See https://docs.gradle.org/4.1/userguide/dependency_management.html#sec:module_replacement diff --git a/plugins/nf-dotenv/src/resources/META-INF/MANIFEST.MF b/plugins/nf-dotenv/src/resources/META-INF/MANIFEST.MF index 02469f2..cfe0bf6 100644 --- a/plugins/nf-dotenv/src/resources/META-INF/MANIFEST.MF +++ b/plugins/nf-dotenv/src/resources/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Plugin-Id: nf-dotenv -Plugin-Version: 1.0.0 +Plugin-Version: 1.1.0 Plugin-Class: nextflow.dotenv.DotenvPlugin Plugin-Provider: nextflow -Plugin-Requires: >=22.10.2 +Plugin-Requires: >=24.01.0-edge diff --git a/plugins/nf-dotenv/src/test/nextflow/dotenv/DotenvTest.groovy b/plugins/nf-dotenv/src/test/nextflow/dotenv/DotenvTest.groovy index 539576d..683cefb 100644 --- a/plugins/nf-dotenv/src/test/nextflow/dotenv/DotenvTest.groovy +++ b/plugins/nf-dotenv/src/test/nextflow/dotenv/DotenvTest.groovy @@ -10,7 +10,9 @@ import org.pf4j.PluginDescriptorFinder import spock.lang.Shared import test.Dsl2Spec +import java.nio.file.Files import java.nio.file.Path +import java.util.jar.Manifest /** Unit tests for the nf-dotenv plugin that use virtual file systems and mocking to run. */ class DotenvTest extends Dsl2Spec{ @@ -28,9 +30,12 @@ class DotenvTest extends Dsl2Spec{ @Override protected PluginDescriptorFinder createPluginDescriptorFinder() { return new TestPluginDescriptorFinder() { - @Override - protected Path getManifestPath(Path pluginPath) { - return pluginPath.resolve('build/resources/main/META-INF/MANIFEST.MF') + protected Manifest readManifestFromDirectory(Path pluginPath) { + if (!Files.isDirectory(pluginPath)) return null + final manifestPath = pluginPath.resolve('build/resources/main/META-INF/MANIFEST.MF') + if (!Files.exists(manifestPath)) return null + final contents = Files.newInputStream(manifestPath) + return new Manifest(contents) } } } diff --git a/settings.gradle b/settings.gradle index bd20680..d8e9572 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0' + id 'org.gradle.toolchains.foojay-resolver-convention' version '0.8.0' } rootProject.name = 'nf-dotenv'