diff --git a/Makefile b/Makefile index da30e81..ad40b01 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,10 @@ mm = endif clean: + rm -rf .nextflow* + rm -rf work + rm -rf build + rm -rf plugins/*/build ./gradlew clean compile: @@ -44,6 +48,9 @@ else ./gradlew ${mm}test --tests ${class} endif +assemble: + ./gradlew assemble + # # generate build zips under build/plugins # you can install the plugin copying manually these files to $HOME/.nextflow/plugins @@ -62,4 +69,4 @@ upload-plugins: ./gradlew plugins:upload publish-index: - ./gradlew plugins:publishIndex \ No newline at end of file + ./gradlew plugins:publishIndex diff --git a/README.md b/README.md index b2914f9..dc8bc09 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ To build and test the plugin during development, configure a local Nextflow buil 3. Compile the plugin alongside the Nextflow code: ```bash - make compile + make assemble ``` 4. Run Nextflow with the plugin, using `./launch.sh` as a drop-in replacement for the `nextflow` command, and adding the option `-plugins nf-hello` to load the plugin: diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e6e589..e411586 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/plugins/nf-hello/build.gradle b/plugins/nf-hello/build.gradle index 3c3203b..c051b00 100644 --- a/plugins/nf-hello/build.gradle +++ b/plugins/nf-hello/build.gradle @@ -50,7 +50,7 @@ sourceSets { } ext{ - nextflowVersion = '23.04.0' + nextflowVersion = '24.01.0-edge' } dependencies { @@ -61,14 +61,14 @@ dependencies { // add here plugins depepencies // test configuration - testImplementation "org.codehaus.groovy:groovy:3.0.17" - testImplementation "org.codehaus.groovy:groovy-nio:3.0.17" + testImplementation "org.apache.groovy:groovy:4.0.18" + testImplementation "org.apache.groovy:groovy-nio:4.0.18" testImplementation "io.nextflow:nextflow:$nextflowVersion" - testImplementation ("org.codehaus.groovy:groovy-test:3.0.17") { exclude group: 'org.codehaus.groovy' } + testImplementation ("org.apache.groovy:groovy-test:4.0.18") { exclude group: 'org.apache.groovy' } testImplementation ("cglib:cglib-nodep:3.3.0") testImplementation ("org.objenesis:objenesis:3.1") - testImplementation ("org.spockframework:spock-core:2.2-groovy-3.0") { exclude group: 'org.codehaus.groovy'; exclude group: 'net.bytebuddy' } - testImplementation ('org.spockframework:spock-junit4:2.2-groovy-3.0') { exclude group: 'org.codehaus.groovy'; exclude group: 'net.bytebuddy' } + 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 ('com.google.jimfs:jimfs:1.1') testImplementation(testFixtures("io.nextflow:nextflow:$nextflowVersion")) diff --git a/plugins/nf-hello/src/resources/META-INF/MANIFEST.MF b/plugins/nf-hello/src/resources/META-INF/MANIFEST.MF index c4b8f7f..b00204b 100644 --- a/plugins/nf-hello/src/resources/META-INF/MANIFEST.MF +++ b/plugins/nf-hello/src/resources/META-INF/MANIFEST.MF @@ -1,6 +1,6 @@ Manifest-Version: 1.0 Plugin-Id: nf-hello -Plugin-Version: 0.4.0 +Plugin-Version: 0.5.0 Plugin-Class: nextflow.hello.HelloPlugin Plugin-Provider: nextflow -Plugin-Requires: >=22.10.0 +Plugin-Requires: >=24.01.0-edge diff --git a/plugins/nf-hello/src/test/nextflow/hello/HelloDslTest.groovy b/plugins/nf-hello/src/test/nextflow/hello/HelloDslTest.groovy index d958680..e006a3a 100644 --- a/plugins/nf-hello/src/test/nextflow/hello/HelloDslTest.groovy +++ b/plugins/nf-hello/src/test/nextflow/hello/HelloDslTest.groovy @@ -1,5 +1,8 @@ package nextflow.hello +import java.nio.file.Files +import java.util.jar.Manifest + import nextflow.Channel import nextflow.plugin.Plugins import nextflow.plugin.TestPluginDescriptorFinder @@ -35,9 +38,18 @@ class HelloDslTest 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 input = Files.newInputStream(manifestPath) + return new Manifest(input) } } }