Bug 352384 - Add ignore-problems to facet.core.runtimes supported extension point
Summary: Add ignore-problems to facet.core.runtimes supported extension point
Status: NEW
Alias: None
Product: WTP Common Tools
Classification: WebTools
Component: Faceted Project Framework (show other bugs)
Version: 3.2.4   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Konstantin Komissarchik CLA
QA Contact: Konstantin Komissarchik CLA
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2011-07-18 14:58 EDT by Tim deBoer CLA
Modified: 2012-02-04 10:36 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tim deBoer CLA 2011-07-18 14:58:47 EDT
In a fully componentized world, support for servers and programming models comes in three parts:
 1. the programming model plugins (e.g. support for JEE).
 2. the server adapter.
 3. the glue that says server X supports programming model Y and knows how to publish & interact with Y on X.

Ideally, the #3 "glue plugin" would only be installed when #1 and #2 are already installed. However, this isn't always practical since #1 and #2 could be completely independant (e.g. from different update sites/schedules), and you don't want #3 to be a completely independant install for the user.

In this case, it's often easier to install a 'dormant' #3 along with the server adapter, which only takes effect when #1 becomes available. In this case, #3 would use optional package imports so that it is truely dormant and does not cause any problems during install if #1 is not present.

In the "glue plugin", you'll typically have something like the following facet extension point:

  <extension point="org.eclipse.wst.common.project.facet.core.runtimes">
    <supported>
      <runtime-component
        id="com.xyz.glue"
        version="1.0"/>
      <facet
        id="jst.ejb"
        version="2.1,3.0"/>
    </supported>
  </extension>

However, if you do this and #1 is not present, you see an error like the following in the .log whenever the IDE starts: "Project facet jst.ejb has not been defined. It is used in plugin com.xyz.glue".

In bug 197557 and others, the ignore-problems attribute was added to avoid cases like this where it is 'expected' that facets may not be available. Any solution I'm missing? Otherwise, I think we need to add the same ignore-problems to this extension point to avoid spurious .log entries.
Comment 1 Konstantin Komissarchik CLA 2011-08-02 18:32:28 EDT
Would you be willing to create a patch for this?