[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipse-dev] Gerrit verification builds will fail, if MANIFEST.MF version update is required



On Wed, Oct 18, 2017 at 3:58 PM, Lars Vogel <lars.vogel@xxxxxxxxxxx> wrote:
@Mickael, could you give some details or the bug report in which this
feature was implemented?

Sure.
* Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=522223
* What it does: This is an extra Tycho mojo that runs as last step of the build of every artifact, and that checks the version of the newly built artifact and the versions of similar artifacts in baseline; and will fail if some typical versioning rules are broken.
* Story: We've been using it for a couple of years in JBoss Tools, with a good success. Alex, who was wasting a lot of time checking, fixing versions and blaming the culprits (often myself ;) motivated me to try to put it in Platform too, hoping it could save him and others several hours monthly. As it was already in my TODO list, but far away, I gladly moved it to #1.
* Challenges: Some additional things needed to be fixed on Tycho-side to make the comparison can work with Platform: mostly stuff related to signature files changing between same fully-qualified version of same bundle (which is actually a rule broken by Platform to have same fully-qualified version with different content, but this seems to be under control and not really avoidable).
* Value: And now it's there and it seems to do its job well for Platform, contributors get notified by a -1 from Hudson when they need to update a version and we should already see less and less issues on the "official" build as those are caught very early and made very visible. Alex is happy, I hope some other contributors will be too.
* Limitations and possible next steps: The mojo rules are very basic, they're not implemented using API Tools and cannot guarantee nor advise for Semantic Versioning. If we want to get deeper into this topic, it would require to have some mojos for API Tools ( https://bugs.eclipse.org/bugs/show_bug.cgi?id=399276 ), but this seems to be a relatively hard piece of work to implement, for a not-so-high value for Platform - it seems IMHO more valuable for some other projects in the ecosystem than for Platform, which already deals very well with versioning.

Cheers,