Q7

PDE inside AUT does not see injected features

Details

  • Type: Bug Bug
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 1.3.12
  • Fix Version/s: 1.3.x
  • Component/s: None
  • Labels:
    None
  • Test Mode:
    Manual

Description

Steps to reproduce:

  1. Run AUT with injection of any feature
  2. In AUT create a feature-based PDE launch configuration
  3. List of available features shows features which are present in AUT install path, but does not show injected features (though plugins from injected features are available).

Activity

Hide
komaz added a comment - 21/Apr/14 7:36 PM

According to PDE code, list of features in UI is retrieved by ExternalFeatureModelManager, need to investigate how to provide extra features to it.

Show
komaz added a comment - 21/Apr/14 7:36 PM According to PDE code, list of features in UI is retrieved by ExternalFeatureModelManager, need to investigate how to provide extra features to it.
Hide
komaz added a comment - 27/May/14 8:01 PM

The same issue can be reproduced without Q7:

  1. Take any Eclipse SDK
  2. Create a new target platform with added repositories, containing plug-ins and features
  3. Launch runtime Eclipse (just by creating and launching new Eclipse Application launch configuration)
  4. Runtime Eclipse obviously has all plug-ins from extra features in target platform
  5. In Runtime Eclipse create a new Eclipse Application launch configuration, switch to Plugins tab, select "features selected below" in combo – no extra features listed, only features from install location.

I digged through a corresponding PDE code and looks like the responsible piece of code is located at org.eclipse.pde.internal.core.ExternalFeatureModelManager#initialize() method. This code builds a list of feature models, which is further used in launch configuration dialog UI. And it seems that it is possible to pass extra locations here via org.eclipse.pde.core plug-in preferences – there's a preference key org.eclipse.pde.internal.core.ICoreConstants#ADDITIONAL_LOCATIONS, which can be specified to pass a list of extra feature paths. However I couldn't find a code which sets a corresponding preference anywhere.

So as an experiment I created a preferences context, which sets this key to some "valid" location and all those extra features were displayed in launch configurations dialog. However that's not a complete solution, neither a proper workaround yet, as these additional locations should be set automatically by Q7 launcher and we need to make sure that PDE launcher correctly works with these additional features (i.e. that selecting/unselecting this feature truly affects launching). Also we need to check that a corresponding PDE code is roughly the same across various AUT versions.

Show
komaz added a comment - 27/May/14 8:01 PM The same issue can be reproduced without Q7:
  1. Take any Eclipse SDK
  2. Create a new target platform with added repositories, containing plug-ins and features
  3. Launch runtime Eclipse (just by creating and launching new Eclipse Application launch configuration)
  4. Runtime Eclipse obviously has all plug-ins from extra features in target platform
  5. In Runtime Eclipse create a new Eclipse Application launch configuration, switch to Plugins tab, select "features selected below" in combo – no extra features listed, only features from install location.
I digged through a corresponding PDE code and looks like the responsible piece of code is located at org.eclipse.pde.internal.core.ExternalFeatureModelManager#initialize() method. This code builds a list of feature models, which is further used in launch configuration dialog UI. And it seems that it is possible to pass extra locations here via org.eclipse.pde.core plug-in preferences – there's a preference key org.eclipse.pde.internal.core.ICoreConstants#ADDITIONAL_LOCATIONS, which can be specified to pass a list of extra feature paths. However I couldn't find a code which sets a corresponding preference anywhere. So as an experiment I created a preferences context, which sets this key to some "valid" location and all those extra features were displayed in launch configurations dialog. However that's not a complete solution, neither a proper workaround yet, as these additional locations should be set automatically by Q7 launcher and we need to make sure that PDE launcher correctly works with these additional features (i.e. that selecting/unselecting this feature truly affects launching). Also we need to check that a corresponding PDE code is roughly the same across various AUT versions.

People

  • Assignee:
    komaz
    Reporter:
    komaz
Vote (0)
Watch (0)

Dates

  • Created:
    21/Apr/14 7:33 PM
    Updated:
    24/Oct/14 12:28 AM