Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between pages "Equinox Slingshot" and "Callisto Build and Update Tips and Tricks"

(Difference between pages)
 
 
Line 1: Line 1:
The following are some random thoughts on the path forward for managing components in Eclipse/OSGi.
+
On this page, please add any little tidbits that help with the versioning, site management, etc., that are not part of other documents.  
  
Existing technologies of interest:
 
* Update Manager (of course :-)
 
* OSGi Bundle Repository
 
* Maven
 
* DMS
 
* UbiServ
 
  
 +
=== Automatically versioning features appropriately ===
  
 +
I haven't tried it yet, but in
 +
[[https://bugs.eclipse.org/bugs/show_bug.cgi?id=125801#c9 | bug 125801]
 +
Andrew Niefer mentions that
  
 +
<p><cite>
 +
When using ".qualifier", the resulting feature version can take the form of
 +
1.2.3.qualifier_suffix, where qualifier will come from the cvs tag, or date the
 +
same as for plugins.  suffix will be generated based on the qualifiers of the
 +
contained plugins.
 +
<br /><br />
 +
Whether or not to append the _suffix to the version is controlled by the
 +
property "generateFeatureVersionSuffix" in the builder's build.properties.  The
 +
default value is false.
 +
</cite>
 +
</p>
  
 +
I personally feel that <code>generateFeatureVersionSuffix</code> should be the default, but since it isn't, thought I'd document here.
  
'''Mechanisms'''
+
This is important since a feature's qualifier needs to not just change accourding to its own changes, but also needs to reflect the "most changed" plugin it contains.
Component management needs some supporting mechanisms that are not currently present in Eclipse/OSGi.
+
* overrides - the ability to have a "container" override values in the manifests etc. of the elements it contains.
+
  
* alien configuration managment
+
=== Do not use underscore in version qualifiers ===
  
* selectors - the ability to identify particular elements of a list as relevant only in particular scenarios or environments.  The Feature os= ws= etc attributes are an example. If the current environment does not match those values then the associated feature element is ignored. This mechanism should be generalized.
+
I think this will all work better post M5, but certainly on 3.1.x streams, and underscore is converted to a hyphen in some places, and will at first seeem to work, but then there's problems associating source with its code, etc., so ... use with care, if not outright avoid. See [[https://bugs.eclipse.org/bugs/show_bug.cgi?id=89428 | bug 89428]] for some dicussions.
  
 +
=== Use the platform releng tool ===
  
 +
To update your map files automatically while releasing your plug-ins, the releng tool found as a download way at the bottom of the platform download page is quite helpful.  The instructions are sparse, but it's fairly straightforward (right-click a project and select Team -> Release...).
  
 +
When using .qualifier at the end of your Bundle-Version manifest entries, your plug-ins will be versioned according to the tags entered in your map files automatically when using the release engineering tool with the PDE basebuilder.
  
Issues
+
=== Guide to understanding versioning ===
* Translations - Features need translation but they do not support fragments.  Further, update is not able to download translations for features prior to the feature being downloaded.  This makes sense as the  translation of features on sites
+
  
- Source management
+
Just because this page cannot be linked enough, look here for detailed information on when and how to apply new version numbers to your plug-ins and features: [[http://www.eclipse.org/eclipse/platform-core/documents/plugin-versioning.html Plug-in Versioning]]
 
+
- provisioning sites
+
- has to be easy to  
+
 
+
* Features - Features are different.  We end up with different infrastructure and different ways of expressing dependencies etc. It may be useful to treat everything as a bundle.  That is not to say that features go away but rather their implementation merges with bundles.
+
 
+
 
+
Provisioning
+
 
+
Agent
+
 
+
Feature/metamodel
+
 
+
 
+
 
+
Scenarios
+
 
+
- PDE
+
 
+
- Install
+
 
+
- Update
+
 
+
- Remote management
+
 
+
- Build
+

Revision as of 12:37, 24 February 2006

On this page, please add any little tidbits that help with the versioning, site management, etc., that are not part of other documents.


Automatically versioning features appropriately

I haven't tried it yet, but in [| bug 125801 Andrew Niefer mentions that

When using ".qualifier", the resulting feature version can take the form of 1.2.3.qualifier_suffix, where qualifier will come from the cvs tag, or date the same as for plugins. suffix will be generated based on the qualifiers of the contained plugins.

Whether or not to append the _suffix to the version is controlled by the property "generateFeatureVersionSuffix" in the builder's build.properties. The default value is false.

I personally feel that generateFeatureVersionSuffix should be the default, but since it isn't, thought I'd document here.

This is important since a feature's qualifier needs to not just change accourding to its own changes, but also needs to reflect the "most changed" plugin it contains.

Do not use underscore in version qualifiers

I think this will all work better post M5, but certainly on 3.1.x streams, and underscore is converted to a hyphen in some places, and will at first seeem to work, but then there's problems associating source with its code, etc., so ... use with care, if not outright avoid. See [| bug 89428] for some dicussions.

Use the platform releng tool

To update your map files automatically while releasing your plug-ins, the releng tool found as a download way at the bottom of the platform download page is quite helpful. The instructions are sparse, but it's fairly straightforward (right-click a project and select Team -> Release...).

When using .qualifier at the end of your Bundle-Version manifest entries, your plug-ins will be versioned according to the tags entered in your map files automatically when using the release engineering tool with the PDE basebuilder.

Guide to understanding versioning

Just because this page cannot be linked enough, look here for detailed information on when and how to apply new version numbers to your plug-ins and features: [Plug-in Versioning]

Back to the top