vtsyvina / CliqueSNV

MIT License
21 stars 5 forks source link

Tagged release and bioconda package? #9

Closed tomkinsc closed 3 years ago

tomkinsc commented 3 years ago

I'm interested in making a conda recipe for CliqueSNV so a package for it can be made available for easy installation via the bioconda channel. A couple questions: 1) would that be OK? (it's under open license, so I'm primarily asking if it is ready for distribution), and 2) Are there plans to tag a release on this repository? Doing so would be helpful for versioning of the conda package.

bioconda is an open community, and the original authors of software are also welcome to submit packages (more info on how to do so here: https://bioconda.github.io/contributor/index.html )

vtsyvina commented 3 years ago

Hello

1) Yes, it's a great idea

2) I just tagged the latest version 1.5.5. Is it how you expect it to be? (never used tags here before). If yes, then I'll tag future releases as well

tomkinsc commented 3 years ago

Thank you, that's great. Software versioning varies, and so too do expectations. The main rationale for building packages based on tags is that they're a way to ensure the resulting package has the version expected (rather than, say, a build from what the latest source happens to be when a conda package is built or what is included in an explicitly-specified cryptic commit hash). Conda recipes can either pulling a pre-built binary/bytecode, or build from source. Sometimes folks also include the built file as part of the tagged release (can be uploaded when tagged on the web version of GitHub); GATK is one example—the "assets" of each release includes the source as well as a zip with the built jar file. In this case it looks like this repo includes the built jar file for CliqueSNV, so the "source" package with the repository contents will contain it.

As long as the jar file exists at https://github.com/vtsyvina/CliqueSNV/blob/${TAG}/clique-snv.jar, referencing by tag will work. Otherwise if it would make more sense to build from source, it may be helpful to include build instructions in the README.md file. It looks like CliqueSNV uses a Maven-based build process, but I'd be guessing at what I would need to do to build it.

vtsyvina commented 3 years ago

I just added "How to build" in the README.

Yes, I update the jar file at https://github.com/vtsyvina/CliqueSNV/blob/${TAG}/clique-snv.jar for each release

tomkinsc commented 3 years ago

Thanks for adding the build instructions—easy enough!

I opened a pull request to add a package for CliqueSNV to bioconda. based on the jar file.

Once the PR is merged, CliqueSNV will be available to install via conda install -c bioconda cliquesnv (full (bio)conda setup instructions here).