Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Add make install rule to make dev work easier #126

Closed
wants to merge 3 commits into from

Conversation

awgymer
Copy link
Collaborator

@awgymer awgymer commented Oct 23, 2023

Implements the make install rule from nf-prov.

Switches to using NXF_PLUGINS_DIR as install location (based on Nextflow logic for deriving that location) but can be overridden on command line like all make variables.

@nvnieuwk
Copy link
Collaborator

I'm not sure I really like having the development version in my plugins folder. I agree the setup could be made a lot easier though. Maybe we can find a compromise?

@awgymer
Copy link
Collaborator Author

awgymer commented Oct 24, 2023

Yeah I don't know if this is perfect, in theory you don't have to use it though. I removed the docs for the old style setup, but actually there is no reason if you would prefer to keep that as the "preferred" method (other than no one could make it work in the pressure of the hackathon 😂 ) and this can just be an alternative!

@bentsherman may have more thoughts on the long-term viability of this method as I stole it from him!

@nvnieuwk
Copy link
Collaborator

Can you maybe re-add a subsection detailing the old way? I do like your way though, but it can cause some problems, so providing an alternative can be nice?

@awgymer
Copy link
Collaborator Author

awgymer commented Oct 24, 2023

Updated the docs to restore the original method (although we should try to address why people had issues with it) and add the install option as an alternative with warning

@nvnieuwk
Copy link
Collaborator

Thanks @awgymer! I agree that the new install method should be the priority with the other one as backup

@bentsherman
Copy link
Member

At some point I will document this approach in the nf-hello repo for posterity. But could you also create an issue for the error you were encountering with the normal approach? There may be an issue with the plugin boilerplate code and the Nextflow plugin system, unfortunately it is possible for them to get out of sync without our noticing

@awgymer
Copy link
Collaborator Author

awgymer commented Oct 27, 2023

I was following the instructions on the nf-validation website, I'm not sure if perhaps there are different instructions provided elsewhere I should have followed?

@bentsherman
Copy link
Member

The instructions are correct, I just wanted to see the error message so that I can look for potential issues in the Nextflow codebase

@awgymer
Copy link
Collaborator Author

awgymer commented Oct 27, 2023

So, after following the instructions on the nf-validation website I got:
Plugin 'nf-validation' does not implement any extension point

I did get some warnings when I compiled nextflow:

./gradlew exportClasspath
Downloading https://services.gradle.org/distributions/gradle-7.6.1-bin.zip
...........10%............20%...........30%............40%............50%...........60%............70%............80%...........90%............100%

Welcome to Gradle 7.6.1!

Here are the highlights of this release:
 - Added support for Java 19.
 - Introduced `--rerun` flag for individual task rerun.
 - Improved dependency block for test suites to be strongly typed.
 - Added a pluggable system for Java toolchains provisioning.

For more details see https://docs.gradle.org/7.6.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Task :buildSrc:groovydoc
Trying to override old definition of task fileScanner

> Task :nextflow:compileGroovy
Note: /Users/arthurgymer/workbench/nf-validation/nextflow/modules/nextflow/src/main/groovy/nextflow/sort/BigSort.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

> Task :plugins:nf-amazon:compileGroovy
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/arthurgymer/workbench/nf-validation/nextflow/plugins/nf-amazon/src/main/nextflow/cloud/aws/nio/S3FileSystemProvider.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.6.1/userguide/command_line_interface.html#sec:command_line_warnings

And then I ran:

/gradlew compileGroovy && ./launch.sh ../from-samplesheet-test-nf/main.nf --input ../from-samplesheet-test-nf/samplesheet.se.30.csv && grep 'Starting validation' -A1 .nextflow.log

BUILD SUCCESSFUL in 719ms
10 actionable tasks: 10 up-to-date
N E X T F L O W  ~  version 23.10.0
Launching `../from-samplesheet-test-nf/main.nf` [ecstatic_noether] DSL2 - revision: b0fdae856f
Plugin 'nf-validation' does not implement any extension point

Let me know if you want this info in an issue elsewhere

Copy link
Collaborator

@mirpedrol mirpedrol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM as an alternative way of installing it :)

@nvnieuwk
Copy link
Collaborator

This has been implemented in nf-schema, thanks for the suggestion!

@nvnieuwk nvnieuwk closed this Apr 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants