-
Notifications
You must be signed in to change notification settings - Fork 189
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
Allow some kind of "releaseBuildVersion" #603
Comments
Note that 1 limitation of CI Friendly versions is that they assume all modules will use the same value for those properties. While it can be interesting for some cases, it's not how most Eclipse project like to deal with their qualifiers. |
I think this could still be archived, see the example from the documentation here:
Each module can have its own |
Ah, that's pretty interesting. However is this module-specific |
I have not tested it, but think it should must run as an |
I'm just thinking that if we make revision be the qualifier, we may be able to put |
For current behavior you could use |
I would like to have the exact same version in (consumer) pom and MANFEST.MF, so basically I'd like to get rid of -SNAPSHOT and replace it with the value of the expanded qualifier. Ideally, I'd like to have that in an "expressive" way, that appears in Maven, not as a hook that alters the consumer pom GAV as it's really unexpected in most cases, |
For that purpose one could argue to not using the qualifier at all and simply manage the full version by hand (as we already require an increment on each change). Anyways it would be handy to have {sha1} been populated by jgit plugin, but as said I havent investigated how these CI-Versions works inside maven. |
I have now digged a bit into how maven works here and the version is interpolated at the Modelbuilding stage (that's where Tycho-pomless intercept to generate a model from the eclipse meta-data). I think we can intercept here, but one should keep in mind that there is not much setup yet. One could also intercept in the graphbuilding stage as this is where things come to action and no component has actually seen the version. That said, it might be more promising to migrate to a pomless build and replace the |
Some more observations:
So the bottom line is, we should be able to calculate and inject the qualifier in the new build-extension I'm just a bit uncertain if it is a good idea. Eclipse currently enforces me to change the micro version already if there is a change in the current release-cycle. I think it wont harm to force it to change it on any change as mostly projects already use the |
Eclipse Project wouldn't accept a workflow or a tool that requires to bump version on every change. |
Here is some discussion/concerns https://bugs.eclipse.org/bugs/show_bug.cgi?id=382482 |
I personally think it's pretty good and it's not specific to Tycho but valuable to wider Maven and consistent with what Maven is trying to achieve with "Ci-Friendly" versions. Maven has opened itself to properties allowing to dynamically set the Maven version (just like .qualifier has allowed in OSGi/PDE world for 2 decades), so it seems like the more natural way to deal with dynamic version here would be to leverage this feature, and since -as you mentioned- JGit can work without Tycho, it can be a |
I have opened apache/maven#674 for that so if you think you can bring that forward that would be a perquisite. |
I think the requirements here are covered by #611. If something is missing, we'll then open new issues. |
Currently we have a strict rule that
.qualifier
enforces-SNAPSHOT
versions that is not always desirable.We have two cases for example:
x.y.z
but the bundle should still have qualifiers-SNAPSHOT
or notFor option two the workflow might be as follows:
x.y.z-SNAPSHOT
in my poms-Drevision=x.y.z
and deploy my stuffx.y.(z+1)-SNAPSHOT
(or what ever suffice)The text was updated successfully, but these errors were encountered: