Closed waynr closed 8 years ago
Hi @waynr currently the project is waiting on some features to be implemented and released in mesos to be able to use this library (even from fairly trivial usage). The issues that are blocking the first release 0.1.0
can be tracked here: https://github.com/mesosphere/mesos-rxjava/milestones/0.1.0
You are correct that using a snapshot has the potential to introduce instability for a user, if they are referring exactly to 0.1.0-SNAPSHOT
. If however you want to have "pinned" jars, you can use the generated coordinate that is created when the artifacts are published. These artifacts are stable and won't change, for example if you use the following it will ensure that a specific snapshot is used:
<dependency>
<groupId>com.mesosphere.mesos.rx.java</groupId>
<artifactId>mesos-rxjava-protobuf-client</artifactId>
<version>0.1.0-20160428.002344-7</version>
</dependency>
Please also note that SNAPSHOT artifacts are not intended to be used in something else that is released, right now they are built for users that want to experiment or get their feet wet with the library. Snapshots are built for every merge to master, also making it challenging to release a brand new version instead of a snapshot.
@BenWhitehead I don't know if I believe in the stability of generated coordinates for SNAPSHOTs...how long have you been releasing SNAPSHOT coordinates to oss.sonatype.org? Looking at https://oss.sonatype.org/content/repositories/snapshots/com/mesosphere/mesos/rx/java/mesos-rxjava-client/0.1.0-SNAPSHOT/, I only see artifacts dating back to the beginning of April yet this repo has been worked on periodically since Oct/Nov. I could be wrong, but this is the reason I didn't pin to a generated artifact (not knowing what the repository cleanup policy is)
That being said, since you think that this library isn't ready for even trivial usage then I will wait to use it. Thanks for your thoughtful response!
Hi @waynr you're correct. I started doing work on the project back in november, but didn't have time to setup everything for artifact publishing until the beginning of April.
From the progress side of things, mesos 0.29.0 is supposed to have the fix for master redirection which I think is the biggest blocker to this being practical to use for a framework. If mesos doesn't do the redirects (or does them wrong, which was the case prior to 0.29.0 then it's really easy for a framework to fall over).
I believe the auth stuff is mesos is schedule for 0.29.0 as well so hopefully we'll be able to get the fixes in place and have a 0.1.0
released soonish.
Thanks for your interest in checking out the library.
Looks like 0.29 might be skipped in favor of direct to 1.0.0
I suggest to use jitpack.io
First add jitpack as a repository
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
and now reference a dependency in your pom.xml. You can use a commit hash as the version.
<dependency>
<groupId>com.github.mesosphere.mesos-rxjava</groupId>
<artifactId>mesos-rxjava-client</artifactId>
<version>b06c663b88bbbbf697f64bbddec85d87af373b9d</version>
</dependency>
Jitpack will build the project if necessary.
Snapshots are released with explicit timestamps for each merge to master. jitpack should not be necessary.
Release 0.1.0 is on maven central.
This is compatible with the semver definition of the
0.y.z
version numbers:So there is really no reason not to just explicitly state in README.md on this library that it follows semantic versioning and release as many incompatible
0.y.z
versions as you want.If you think about it, using SNAPSHOT versions is really the worst possible case for potential users of this library because if in my pom.xml I say "depend on 0.1.0-SNAPSHOT" there is nothing I can do to prevent two different builds my dependent project from using two different 0.1.0-SNAPSHOT (incompatible) versions.
Thanks for your consideration!