Bug 450868 - Switch qualifier replacement method for UML2 builds to lastModified
Summary: Switch qualifier replacement method for UML2 builds to lastModified
Status: REOPENED
Alias: None
Product: MDT.UML2
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows NT
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: UML2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-10 13:00 EST by Ed Willink CLA
Modified: 2014-11-11 09:28 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ed Willink CLA 2014-11-10 13:00:21 EST
The M3 version of org.eclipse.uml2.uml.resources is still 5.0.0 but has a new qualifier.

This is bad practice as can be anticipated if SR1 or SR2 introduces a 5.0.1 that will then be out of order.

Changed code should be either 5.0.100 or 5.1.0 or 6.0.0.
Comment 1 Kenn Hussey CLA 2014-11-10 13:19:06 EST
The code in org.eclipse.uml2.uml.resources has not changed. If/when it does in Luna SR2 or Mars, the version will be changed appropriately (to 5.0.2 or 5.0.100/5.1.0) per the usual convention.
Comment 2 Ed Willink CLA 2014-11-10 14:04:11 EST
If there is no change, you have a releng bug. The qualifier should be unchanged.
Comment 3 Kenn Hussey CLA 2014-11-10 15:47:08 EST
New qualifiers are produced for every UML2 build and have been for years. I agree that it’s not optimal; contributions welcome.
Comment 4 Ed Willink CLA 2014-11-10 17:51:43 EST
I think that versions are preserved by the prevailing repo, so if the new release job is a migration of the previous it continues rather than restarts.
Comment 5 Kenn Hussey CLA 2014-11-10 19:30:53 EST
I’m not sure what exactly you mean by “new release job”, but I had to switch to the ‘buildTImestamp’ qualifier replacement method several years ago when I ran into problems with the ‘lastModified’ alternative in Buckminster. Have you managed to use the latter consistently with success?

Note that the current approach should still result in correct updates, although it may result in updating more things than strictly needed (with the same content).
Comment 6 Ed Willink CLA 2014-11-11 02:19:37 EST
(In reply to Kenn Hussey from comment #5)
>I ran into problems with the ‘lastModified’ alternative in Buckminster. Have
> you managed to use the latter consistently with success?

We've been using

qualifier.replacement.*=generator:lastModified
generator.lastModified.format='v'yyyyMMdd-HHmm

unchanged for over four years.

For the last two years I have done an eager +0.0.100 to avoid accidental update failures so may not have noticed problems.

When we merged our +1 and +3 builds to do a preemptive +1 build despite a +2 dependency on Xtext with a follow up no-change +3 rebuild, I needed the +1 and +3 builds to be comparable and unchanged. They were apart from the old-fashioned use of about.ini and about.mappings which are auto-edited thereby giving you auto-different builds. So your changed versions may have at least trivially different content. Eliminating about.ini and about.mappings may solve your problems. The consequence is that the displayed description for features in the Help->Installed Contents changes slightly. Instead of your internally mutated version, you can fall back onto a platform autogenerated version. Compare OCL and UML2 feature descriptions.
Comment 7 Ed Willink CLA 2014-11-11 04:54:59 EST
(In reply to Kenn Hussey from comment #5)
> I’m not sure what exactly you mean by “new release job”

If you have a build job named xxx-luna, then you can either rename to xxx-mars or create a new job named xxx-mars. Renaming should preserve continuity, whereas creating a new job may be discontinuous unless you take care to do a build referencing the old repo before migrating to a new reference repo.