Closed haubi closed 7 months ago
Wouldn't this slight behaviour change deserve some version bump somewhere?
Given there are only nightly build for the 3.0.0 version and no releases, it's not really clear what if anything incremented:
https://download.eclipse.org/cbi/updates/tpd/nightly/latest
Eventually after 5 builds, all the older versions are gone, so what could any consumer do with the version?
Given there are only nightly build for the 3.0.0 version and no releases, it's not really clear what if anything incremented:
https://download.eclipse.org/cbi/updates/tpd/nightly/latest
Eventually after 5 builds, all the older versions are gone, so what could any consumer do with the version?
At least wondering a little less about changed behaviour when the version number has changed. Actually, even if there's lack of manpower for proper release management, at least we can increase the revision numbers, no?
It's really, really, easy to produce milestones and releases, but no one ever asked so I assume no one really cares about that. For other projects I use Oomph's version tool so that if something changes it tells you to change the version and has quick fixes for it. So none of this is a lot of work., if anyone cares. But there's no point in doing work if everyone happily consumes nightly builds with the latest. In the end versions matter most to downstream bundles that use these bundles, but I think this stuff is mostly and end-user tool...
Well... we do (have to) care, and we actually take nightly snapshots as "releases", and the publishing/archiving of those "releases" we do within SDC Server, where we still have need for these "releases" of TargetPlatform DSL to be around: 2.1.1.201410251450 3.0.0.201809052136 3.0.0.201902111444 3.0.0.202301141839
I see!
Is there something wrong with Jenkins ATM?
It's failing like this:
15:04:10 [ERROR] /home/jenkins/agent/workspace/targetplatform-dsl_PR-145/scm/org.eclipse.cbi.targetplatform.model/META-INF/MANIFEST.MF [7:0]: Unqualified OSGi version 3.1.0.qualifier must match unqualified Maven version 3.0.0-SNAPSHOT for SNAPSHOT builds The pom version must be modified if the feature/bundle version is modified.
I'm traveling tomorrow, won't have time for a proper review until the weekend. Probably it's a good idea to create a release repository for the 3.0.0 version without these changes first. What do you think?
Probably it's a good idea to create a release repository for the 3.0.0 version without these changes first. What do you think?
Whatever this exactly means: Yes, sounds meaningful!
I'm traveling tomorrow, won't have time for a proper review until the weekend.
Never mind, I'm offline for the rest of March anyway.
@Bananeweizen @hannesN
Do you guys haven an opinion about:
E.g., here is an example of a project milestones and releases in their update site:
https://download.eclipse.org/nebula/updates/
Here's documentation about the structure:
https://eclipse.dev/justj/?page=tools#p2-anatomy
The point is that if a release is produced, the repository will exist permanently whereas all the nightly builds are effectively transient...
A release repository is a must have. We could then use it in a specific pom to generate the target from the tpd (as it seems not possible to do it in the project main pom).
And the next step would be to have the ".tpd -> .target" transformation directly in the Tycho target-platform-configuration Mojo.
Regarding change: It looks okay to me. First I was surprised reading about this bug. I had never experienced it, although of course we use javax and jakarta stuff in different versions. However, we had started using maven dependencies even before they were supported in this DSL (wrapping them via https://github.com/reficio/p2-maven-plugin), so we avoided it without knowing. :)
For versioning and releasing: I'd be really happy with that, as I'm a big fan of "everything as code" as well as "reproducible builds". Until now my personal strategy has been to version the generated file, so even with the TPD support potentially vanishing, there would be no desaster. And in the past, the TPD format has been compatible over a long time, so even older files would work fine in newer versions of the TPD conversion. Therefore I didn't put a high priority to this until now, but I would of course enjoy it.
And if we are already doing a kind of planning here: I would also like to do some modernization of the code. E.g. lift it from Java 8 to 17, and make versions generally more strict. Right now it doesn't even compile in Java 21 (due to Xtend cross compilation ambigitious with new methods), etc. I guess it would be best to raise separate issue for discussing that, as the release activities should best be applied before such incompatible changes.
@Bananeweizen
So I think we (I) should produce a release for the current state before many any other significant changes. All the things you describe could go into 3.1.0 then, right?
I did the first milestone build so the repository now has (and always will have) this:
https://download.eclipse.org/cbi/updates/tpd/milestone/latest
Publishing a release effectively involves mirroring the artifacts from this repository to a permanent location.
So unless someone thinks something else should be in the 3.0.0 release and is not already in the milestone/latest I could publish a release anytime...
So unless someone thinks something else should be in the 3.0.0 release and is not already in the milestone/latest I could publish a release anytime...
Sounds good to me, since it just gives a fixed point to the ever moving baseline of the past. If I understood you right, releasing the next (and next, and next...) version would be rather simple (because of automation), so there is not much benefit from waiting for more PRs, IMO.
Yes it's must a matter of choosing the type of build:
The management of the update sites is completely automatic. Even the milestones are cleaned up once a milestone with a higher version is published.
So if someone says, "I want to produce a release update site now" it would take < 10 minutes; < 5 if there is always a milestone that one wants to promote to a release, as is the case now.
@Bananeweizen
I think all the cleanups are done. I made one final change to get ride of the deprecation warnings and build this milestone
https://download.eclipse.org/cbi/updates/tpd/milestone/S202403241316/index.html
If I hear nothing that speaks against making this the 3.0.0 release by the end of the day tomorrow (March 25th), I will promote this to a release...
Thanks, @merks . I also have zero warnings now in Eclipse. I have just some of the remote tests failing, but that's to be expected with our company proxy. I'll check later if I can find some fix for that.
I've produced the release repo and did a first commit with the version increments. Then I cherry picked the commit with the actual implementation changes which are now part of the PR:
https://github.com/eclipse-cbi/targetplatform-dsl/pull/155
So this PR is now obsolete.
Regarding version overrides: