Saturday, April 3, 2010

Feature based launching

Recently we made an conscious effort for making features first class citizens in target definitions. As a part of that effort PDE introduced Feature based launching. This is available in 3.6 M6 build.

Till now there was only a not so elegant way to self-host using features - Feature-based self-hosting. This has now been deprecated.

Feature-based launching


An eclipse application can now also be launch just by picking the feature to launch with. This will be very helpful as in most scenarios as we have plug-ins grouped under features and we will want to have all plug-ins in a feature launched.


(This is M7 look. M6 look differs only with an extra version column)

How will it work?
It will work much like plug-ins only. However, few important points.

  1. The checkbox "Use feature from workspace if available" if self-explanatory. When checked, workspace feature will be used (instead one from target) to find the required plug-ins.
  2. Plug-in Location can be Default, Workspace or External (that is, Target Platform). Default means the value will be Workspace or External as selected using "Default Plug-in Location" option under "Restore Defaults" button.
  3. Plug-in Location means the location from where the plug-ins of a certain feature will be resolved. Thus, a feature might be getting picked from Target but its plug-ins can be picked from the Workspace instead.
  4. "Add Required Features" will only add (select) those features to the launch config which are mentioned as dependent features in feature manifest. It will not try to see if the dependent plug-ins map to any feature.
  5. Dependent plug-ins will be implicitly added to the launch. These are the plug-ins which do not belong to any feature and but the plug-ins of the selected features depend on them. e.g. com.ibm.icu
  6. These implicit plug-ins will be picked from same location from where the dependent plug-ins were picked from. If a finer control is needed then good old plug-in based launch is more suited.
Do report bugs if you find anything is not working as mentioned or expected.

4 comments:

  1. feature based launch configs and target platforms are great, but I noticed:

    * I'm getting the features with no problems from software installed into the IDE

    * if I install some features from software sites into the Target Platform, then I cannot select features - wether in launch configs nor in Features if I want to add a Dependency to another Feature which should be part of the TargetPlatform

    or are the feature informations still lost if I install Features from Software Sites, because the TP only picks the included plugins ?

    ReplyDelete
  2. As of writing this (I20100330-0800), Target Platform does support managing the software installed from sites as features. They appear in launch configs as well.

    http://download.eclipse.org/eclipse/downloads/drops/S-3.6M6-201003121448/eclipse-news-M6.html#PDE

    Can you please file a bug report with the exact/detailed use case?

    ReplyDelete
  3. ...will do some tests with the I-Build 20100330 and if there are still problems to get all features, I'll file a bug.
    ekke

    ReplyDelete
  4. did tests using I-Build, under win-32, win-64, linux-64, osx-cocoa-64: doesn't work

    opened bugzilla https://bugs.eclipse.org/bugs/show_bug.cgi?id=308244

    perhaps I misunderstood something

    ekke

    ReplyDelete