Jump to: navigation, search

WTP Capabilities Helios

Revision as of 13:38, 6 May 2010 by David williams.us.ibm.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Introduction

This documents some sample capability definitions provided by the Web Tools Platform. They are called "sample" because many products or adopters will want to create their own, to fit in with their product and/or other capabilities they define. The description here, though, is used in the Java EE IDE package produced as part of the EPP package downloads.

Bundles

Our sample capabilities are provided in four bundles, corresponding to the 4 major deliverables of tool collections we have. These are not delivered in any of our zip files, but are put in the common repository for the Simultaneous Release, for easy consumption by EPP builds. Adopters can use the bundles if they'd like, but in many cases would be easier to copy/paste the contents of the plugin.xml files, to fit their product.

org.eclipse.wtp.javascript.capabilities - JavaScript
org.eclipse.wtp.xml.capabilities - XML Related Editors and Tools
org.eclipse.wtp.web.capabilities - Web Development (non Java, e.g. HTML, CSS, etc)
org.eclipse.wtp.jee.capabilities - Java EE Development


CVS Location

If adopters would like to get the projects from CVS, to read the plugin.xml definitions, for example, They are located in the webtools repository, at /cvsroot/webtools, in the following modules. The "plugin" links below point to the plugin.xml, as a convenience to those preferring just to get the text and copy/paste into your own product's capability definitions.

sourceediting/plugins/org.eclipse.wtp.javascript.capabilities (plugin.xml)
sourceediting/plugins/org.eclipse.wtp.xml.capabilities (plugin.xml)
sourceediting/plugins/org.eclipse.wtp.web.capabilities (plugin.xml)
jeetools/plugins/org.eclipse.wtp.jee.capabilities (plugin.xml)


How to fetch from common repository

The bundles are (will be, in M7) in the common helios repository and can be fetched from there in a couple of different ways.

Note below that where the repository is referred to as

http://download.eclipse.org/releases/helios/

this is to mean the goal for M7, and the final Helios Release. As of this writing, currently, they are in /releases/staging.

P2 Maps

In theory (I say in theory since untested, and doubt I will be anytime soon) consumers using the PDE batch build could include references to the repository bundles using "p2 format" map files, such as

plugin@org.eclipse.wtp.javascript.capabilities,1.1.0=p2IU,id=org.eclipse.wtp.javascript.capabilities,version=1.1.0,repository=http://download.eclipse.org/releases/helios
plugin@org.eclipse.wtp.xml.capabilities,1.1.0=p2IU,id=org.eclipse.wtp.xml.capabilities,version=1.1.0,repository=http://download.eclipse.org/releases/helios
plugin@org.eclipse.wtp.web.capabilities,1.1.0=p2IU,id=org.eclipse.wtp.web.capabilities,version=1.1.0,repository=http://download.eclipse.org/releases/helios
plugin@org.eclipse.wtp.jee.capabilities,1.1.0=p2IU,id=org.eclipse.wtp.jee.capabilities,version=1.1.0,repository=http://download.eclipse.org/releases/helios


Mirroring individual bundles

p2 mirror applications and ant task can be used to get specific bundles from a repository. The follow example would need to be adjusted for your system and needs.


<project default="testrepo" basedir=".">
	<target name="testrepo">
		<p2.mirror verbose="true">
			  <repository location="file:/caprepo" name="A test capability bundle repository" />
			  <source>
			    <repository location="http://download.eclipse.org/releases/staging/" /> 
			  </source>
			<iu id="org.eclipse.wtp.javascript.capabilities" />
                        <iu id="org.eclipse.wtp.xml.capabilities" />
                        <iu id="org.eclipse.wtp.web.capabilities" />
                        <iu id="org.eclipse.wtp.jee.capabilities" /> 
                        <slicingoptions followStrict="true" includeFeatures="false" includeNonGreedy="false" includeOptional="false" />
		</p2.mirror>
	</target>
</project>

Mirroring the feature

This is not possible. The bundles are put directly in the repository, without being in a feature, simply so they can be retrieved for others builds or products, but so that end-users could not easily install them accidentally in any 'ol IDE, since that would normally either have no effect, be incorrect, or interfere with other capability definitions.

Putting capabilities together in a product definition

To actually make use of these sample capability definitions, an adopter or product needs to "bind" them, "enable" them, and fit them into some preference page for capabilities.

And example of how this is done for the Java EE IDE for the EPP package, can be see in the webtools.releng/plugins/org.eclipse.wtp.epp.package.capabilities module, primarily its plugin.xml file.

Progressive Discover Trigger Points

WTP does not currently provide any "progressive discovery" trigger points.

Known limitations

There are currently no capabilities defined for JSF or JPA Tool functions.