FYI: SNAPSHOT versions

39 views
Skip to first unread message

Tako Schotanus

unread,
Oct 4, 2016, 10:08:44 AM10/4/16
to ceylon-dev
Hi people,

Just a heads up about issue https://github.com/ceylon/ceylon/issues/6127 which is about SNAPSHOT versions. This issue has been completed and we've just merged the code to master.

The main reason for SNAPSHOT versions is to make sure the modules we generate during development never conflict with the modules we create for an official Ceylon release. So during development all modules will have `-SNAPSHOT` appended to their version to distinguish them from their final version. (As a side-effect it will also make it much easier to find all instances of versions when they need to be changed)

But the switch wasn't a trivial one because of the OSGi information we generate for our modules. Specifically the versions that OSGi supports are not compatible with the versions we support and use for Ceylon. (We're mostly compatible with Maven's versioning). So we first had to come up with a way to unambiguously convert Ceylon versions to OSGi versions.

So please be alert for any strange behaviour you might suddenly be seeing that might be caused by this change. We tested thoroughly but we might have missed something.

Also, David will follow up with a mail explaining what you have to do if you had already installed a version 1.3.1 plugin in your Eclipse.

Cheers,
-Tako

David Festal

unread,
Oct 4, 2016, 10:41:32 AM10/4/16
to ceylo...@googlegroups.com
Hi all,

Due to changes in the way OSGI version qualifiers are generated for Ceylon modules and Ceylon distribution artifacts,
people who have already installed a 1.3.1 development plugin in Eclipse will encounter problems to update to new components based on the new SNAPSHOT version.

The reason is that the generated OSGI qualifier will be seen as older than the previous one. This problem will only happen once, due to the switch to the new versioning scheme.

The solution is simple: uninstall the Ceylon components, restart, and install them again, as I show in more details below.


So when trying to update the 1.3.1 Ceylon plugin, you should see the following screen:




Note that all the bundles from the 'Ceylon IDE Runtime Bundles' category are shown without the update icon.

If you still click on 'Next', you will get the following error message:

 

So in order to uninstall the previous 1.3.1 Ceylon components, go to the 'Installation Details' dialog:

 

select the Ceylon components and uninstall them.

Then restart and you will be able to install the new components based on the last master with the SNAPSHOT version.

Cheers,

David.   
--
You received this message because you are subscribed to the Google Groups "ceylon-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ceylon-dev+...@googlegroups.com.
To post to this group, send email to ceylo...@googlegroups.com.
Visit this group at https://groups.google.com/group/ceylon-dev.
To view this discussion on the web visit https://groups.google.com/d/msgid/ceylon-dev/CAOJRyvpG-XfBzssLR8Zkrrdz7fEwF8%3DPS36SAMdy6GKNWFvmeQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Bastien Jansen

unread,
Oct 4, 2016, 12:47:14 PM10/4/16
to ceylo...@googlegroups.com
Same thing for those who are updating Ceylon IDE for IntelliJ from Jenkins:


Now that we have snapshots, I can use better version numbers with automatic updates from dev versions to releases.

Old versions looked like this: 

* snapshots == 1.3.1-v20161004012345
* releases == 1.3.1-v20161004012345 😕

New versions look like this:

* snapshots == 1.3.1-SNAPSHOT-v20161004012345
* releases == 1.3.1, 1.3.1-1, 1.3.1-2, 1.3.2 etc

If you are using nightly builds, you’ll have to force the IDE to use an ‘older’ version of the plugin (because in theory 1.3.1-SNAPSHOT-v20161004012345 < 1.3.1-v20161004012345):

* go to Preferences > Plugins > Install plugin from disk… and chose the file you just downloaded
* restart the IDE

This has to be done only once. Automatic updates from snapshots to releases and releases to snapshots will work according to the update repositories configured in your IDE.
As a bonus, we will now have meaningful versions (previously we had 1.3.0-201609301555 instead of 1.3.0-1 for example).

Bastien


Le 4 oct. 2016 à 16:41, David Festal <david.fes...@gmail.com> a écrit :

Hi all,

Due to changes in the way OSGI version qualifiers are generated for Ceylon modules and Ceylon distribution artifacts,
people who have already installed a 1.3.1 development plugin in Eclipse will encounter problems to update to new components based on the new SNAPSHOT version.

The reason is that the generated OSGI qualifier will be seen as older than the previous one. This problem will only happen once, due to the switch to the new versioning scheme.

The solution is simple: uninstall the Ceylon components, restart, and install them again, as I show in more details below.


So when trying to update the 1.3.1 Ceylon plugin, you should see the following screen:

<UpdateProblem-1.png>


Note that all the bundles from the 'Ceylon IDE Runtime Bundles' category are shown without the update icon.

If you still click on 'Next', you will get the following error message:

<UpdateProblem2.png> 

So in order to uninstall the previous 1.3.1 Ceylon components, go to the 'Installation Details' dialog:

<UpdateProblem3.png> 
Reply all
Reply to author
Forward
0 new messages