-
Notifications
You must be signed in to change notification settings - Fork 120
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
Deploy batch compiler milestones to maven central #1454
Comments
I think shipping non-released non-SNAPSHOT versions of potentially still buggy ecj versions to Maven central is probably not a good idea. Certainly one would need to pay more attention to the version qualifier being published because the released versions are published without a qualifier: |
It is quite usual to have https://stackoverflow.com/questions/3687208/what-does-m1-mean-in-a-maven-repository |
@iloveeclipse @akurtakov any progress here or anything we can do to push it forward? Given that important bugfixes and changes regarding Java 21 after the 2023-12 release but still these can't be used in a convenient way e.g. to be included in an upcoming Tycho 4.0.5 release. |
I haven't done anything on the topic nor even looked into it TBH. |
I have no problems to deploy M1, M2, M3 or RC versions to maven, but I have no clue what need to be done in general form release management point of view and especially to make sure it is clearly recognized as not stable version. |
In general we already have a script that deploy something to central and we have the credentials we even have instructions how to build the compiler with a special version here: Line 32 in 33ad538
So practically
A usual pattern is to add |
It is possible to "simply use" the SNAPSHOTS for those on the Java 21 bleeding edge? https://repo.eclipse.org/content/repositories/eclipse-snapshots/org/eclipse/jdt/ecj/3.37.0-SNAPSHOT/ Those are updated daily so will always include the latest bug fix (and the latest regression). And they already exist so one has to do anything. |
Maybe for a local build/project scope but not for a release
|
I don't want to belabor the point, but here are my concerns:
I would personally not feel so comfortable to discover that when upgrade to a new release of Tycho that I'm using a milestone quality version of ecj. That better be made really clear to the consumers because I would want to wait for a release that depends on releases... |
I would say having it on central alone does not improve the quality (where I don't have a reason to complain by the way), but broaden the audience that is able to easily test it. e.g. with Tycho it is already possible to try it out with a newer (or older ecj) but it is a bit inconvenient with a snapshot in general. If there are undiscovered regressions its for me more a matter of missing text-coverage.
It could also just be an instruction in the release notes (as we have of today) how to use such milestone ECJ for people needing higher java versions, also the Tycho snapshot builds can already include a milestone to have wider test-audience (but we need a stable release there as well). |
I also see that having more testers can only improve quality by early feedback. Whoever uses unstable versions should be aware about possible "side effects". |
Yes, making it more widely available for testing can only be a good thing. The versioning qualifier scheme generally should and does make people aware. The point I'm trying to make is that when I use a released version Tycho am I actually made aware that I am in fact providing early feedback/testing for an unreleased version of ecj? Probably not... In any case, none of these things are my decisions to make and I've said enough already. 😜 |
Broadening the audience of testers is definitely good, but I also agree that users should be aware that they are using a pre-release version. So the suggestion to let people configure that ecj pre-release version explcitly sounds like a good compromize. IIRC that's basically a special configuration of the tycho-compiler-plugin, isn't it? If it's not trivial it is probably a good idea to have documentation about that (if it not already exists). And as long as the ecj-bundle still uses the usual date-based qualifier in their Bundle-Version updates should still be possible. |
I added a new section to the FAQ: https://github.com/eclipse-tycho/tycho/wiki/Frequently-asked-questions#how-do-i-use-a-different-compiler-version |
Now that batch-compiler is a separate jar/project it would be great to at least deploy MILESTONES of the single jar to maven central, e.g. we can't ship Java 21 support unless the december release with Tycho what is a bit annoying.
So is there really any compelling reason to not do it (beside of we never did it before)?
WDYT @merks @iloveeclipse @akurtakov
The text was updated successfully, but these errors were encountered: