Search code examples
eclipsemavenjenkinstycho

Eclipse plugin builds should not generate new version of the plugin if nothing has changed


Below is the set up of our project:

  1. Project is a multi module maven project
  2. Maven and tycho is used to build the plugins
  3. Jenkins is used as the CI server and run nightly builds.
  4. Each plugin manifest contains 1.0.0.qualifier as the version number. The qualifier tag is replaced by the time stamp after the build.
  5. Git as the version control system

With the above set up, when the nightly build runs, the plugins get a new version number, even though nothing has changed in the source code of the plugin.What this does is that it produces a lot of redundant versions of the plugin and it becomes a problem when we provide the output of the nightly builds as a update site. Eclipse unnecessarily downloads all the plugins in the update site because the time stamp has changed and it considers all of them as new versions even though nothing has changed in terms of functionality or content for most plugins from the previous versions.

Based on the above explanation, is there a way to prevent generation of new version of the plugins with the nightly builds, may be by configuration change in Jenkins or using a feature in tycho or in Maven etc. The version should be updated automatically with the nightly build for the plugins that have changed(either source code or configuration)


Solution

  • A new feature in Tycho 0.16.0 might help. See http://wiki.eclipse.org/Tycho/Reproducible_Version_Qualifiers