Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mavenization of HTSJDK and other useful additions #115

Merged
merged 5 commits into from
Sep 19, 2014
Merged

Mavenization of HTSJDK and other useful additions #115

merged 5 commits into from
Sep 19, 2014

Conversation

nh13
Copy link
Member

@nh13 nh13 commented Sep 19, 2014

Please see pull-request #97. This differs as follows:

  • Squash commits from the individual committers.
  • LICENSE file is no longer present in the history.
  • Rebased on top of master.

As an aside, we release HTSJDK and Picard at the same time. Therefore, I would be grateful to understand what I need to do to start publishing the HTSJDK release. The release script we use can be found in Picard: https://github.com/broadinstitute/picard/blob/master/src/scripts/release_picard.sh

zyme and others added 5 commits September 19, 2014 16:17
Remove ranged versioned dependencies
Remove bcel and ant from maven dependencies
Add release profile, and move to maven-gpg-plugin instead of maven-jarsigner-plugin.
Adding oss-sonatype parent, XML version, and adding Nils Homer as Broad PoC for HTSJDK.
Adding dependency management section.
…ts. When the build fails due to minor, generally backwards-compatible version increments, the better solution would be to figure out why it fails and to fix it (e.g. for snappy-java). Feel free to tighten or expand these ranges.
@nh13 nh13 changed the title Nh pr 97 Mavenization of HTSJDK and other useful additions Sep 19, 2014
@nh13 nh13 self-assigned this Sep 19, 2014
@fnothaft
Copy link
Contributor

+1, thanks for doing the cleanup @nh13!

As for pushing the releases, you are setup in Sonatype OSS and use Travis for CI, correct? Here's two thoughts:

  • For pushing actual releases (e.g., via your script above) this is actually really easy. The build profile we've added in Maven should allow releases via a few targets. We keep our release scripts for ADAM here; you'd just need to add the one line that is in release.sh, which handles pushing the release to OSS Sonatype, tagging the repo as a release, and pushing to the git repo.
  • You should also push snapshot releases. You can do that via "mvn deploy" when running in Travis. We don't use Travis CI for ADAM, but here's the config file that I use to push snapshots to Sonatype for a side project of mine.

nh13 added a commit that referenced this pull request Sep 19, 2014
Mavenization of HTSJDK and other useful additions
@nh13 nh13 merged commit fccc3aa into master Sep 19, 2014
@nh13 nh13 deleted the nh_pr_97 branch September 19, 2014 20:48
@nh13
Copy link
Member Author

nh13 commented Sep 19, 2014

@fnothaft thanks for the clear explanation. I will merge this in, and the start work on Picard's release script and travis.yml.

@fnothaft
Copy link
Contributor

@nh13 no problem; I look forward to seeing the releases in Maven Central.

The one thing to add is that once you push the release to Sonatype, you need to log in and close/promote the release. This is pretty simple and is documented at Sonatype. You don't need to do anything for snapshot releases.

@cassiedoll
Copy link

Hey guys - just checking in to see if this awesome pom is going to make its way to maven central soon. Even just one static build (without any fancy auto updating) would be great!

@gdgib
Copy link

gdgib commented Jan 22, 2015

I'm wondering what the timeline on getting a copy of this into maven central might be. Any word on this? I know there's a lot of interest since the version there is quite old. I could happily handle the maven publishing, either directly or perhaps of a compatible fork if no one has time for this.

@holtgrewe
Copy link

I second @cassiedoll and @gdgib in that having a recent HTSJDK build on Maven central would be very useful. Currently, there is an inofficial release by the seqdoop people but that is built against an old version of cofoja which cannot be used in Java 8.

Is there a timeline for a (maybe static) upload to maven central?

@fnothaft
Copy link
Contributor

fnothaft commented Feb 2, 2015

+1, it'd be great to get this release on Maven Central since Cofoja blocks the use of Java 8. I'll echo @gdgib; specifically, I'd be glad to help with the release process.

@johnmu
Copy link

johnmu commented Feb 4, 2015

+1, I can also help with this!

@visze
Copy link

visze commented Feb 4, 2015

+1, need it!

@martenj
Copy link

martenj commented Feb 4, 2015

+1, me too!

@tdanford
Copy link

tdanford commented Feb 4, 2015

+1

1 similar comment
@antonkulaga
Copy link

+1

@julesjacobsen
Copy link

@laserson
Copy link

+1, please make this happen :)

@nh13
Copy link
Member Author

nh13 commented Feb 11, 2015

Hello folks,

thanks to Frank, others, and yourselves we have a release to Maven central. We will distribute binaries to github as well as publishing them to maven central. My apologies for some duplicated effort here but it has really helped having all your help and the community call to action to get this one done.

Enjoy!

The Picard Team.

@nh13 nh13 mentioned this pull request Feb 11, 2015
@gdgib
Copy link

gdgib commented Feb 11, 2015

Thank you so very much, I think I can safely say that we all really appreciate this effort.

@fnothaft
Copy link
Contributor

Agreed! Thank you very much @nh13!

@julesjacobsen
Copy link

Awesome news! Many thanks, this is much appreciated and comes just in time.

@holtgrewe
Copy link

@nh13 I really appreciate your work, thank you!

The uploaded files do not play well with Java 6. Is this intentional? The seqdoop version was compatible with Java 6.

@jacarey
Copy link
Contributor

jacarey commented Feb 12, 2015

@holtgrewe The htsjdk uploaded to sonatype was compiled for 1.7

It may take a little while for this to be uploaded to the repository. Please try again shortly and let me know if you are still having issues.

Thanks

@superbobry
Copy link
Contributor

The release on Maven Central seems to carry Scala as dependency. I wonder was this intentional? The master version of htsjdk doesn't have any Scala code.

@jacarey
Copy link
Contributor

jacarey commented Feb 20, 2015

Our sbt build file doesn't exclude the scala library

This will be fixed in the next build

@superbobry
Copy link
Contributor

I see, thanks.

@heuermh
Copy link
Contributor

heuermh commented Mar 24, 2015

It appears that picard 1.129 still has a compile-time dependency on testng

        <dependency>
            <groupId>org.testng</groupId>
            <artifactId>testng</artifactId>
            <version>6.8.8</version>
        </dependency>

Wasn't that resolved in #97?

@jacarey
Copy link
Contributor

jacarey commented Mar 24, 2015

That was the case with htsjdk. There is still a dependency on testng at compile time because of a mis-placed test file.
src/java/picard/vcf/filter/TestFilterVcf.java

@heuermh
Copy link
Contributor

heuermh commented Mar 24, 2015

I tried creating a pull request for that but the build fails

$ sbt
...
[info] downloading https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.1.4/httpcore-4.1.4.jar ...
[info]  [SUCCESSFUL ] org.apache.httpcomponents#httpcore;4.1.4!httpcore.jar (164ms)
[info] Done updating.
picard/build.sbt:90: error: value assemblyMergeStrategy is not a member of scala.xml.NodeBuffer
possible cause: maybe a semicolon is missing before `value assemblyMergeStrategy'?
assemblyMergeStrategy in assembly := {
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? i
[warn] Ignoring load failure: no project loaded.

Should I just create an issue instead?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet