My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members

Eclipse Plugin for generating feature JNLP files of Eclipse RCP application

Using JET transformation eclipse plugin and defining feature/plugin dependencies of an Eclipse RCP application in a model.xml file the plug-in generates the required JNLP files for each feature

Instructions

------------

1.

Install "Java Emitter Templates (JET) SDK" from related Eclipse update site

2.

Checkout the Eclipse project under SVN trunk to your Eclipse workspace

3.

Build a model.xml file for your RCP application (see example below)

The model.xml file must describe the plug-in/feature dependencies of your Eclipse RCP application

It is recommended that you structure your RCP application features as outlined here

Example below uses assumes same structure

4.

Export your RCP application using "PDE Export Wizard" (Export->Deployable Features) to the folder specified in your model.xml file (exportFolder attribute of "root" node) in the same project under your Eclipse workspace that your model.xml file resides

Make sure the "Package as individual JAR archives" option is active (options in "JAR signing" and "Java Web Start" sections are not important, deactivate for safety

5.

Invoke "net.eliasbalasis.eclipse.rcp.jnlp.generator" JET transformation either as a "Run Configuration" or an Ant task (jet.transform) using your model.xml file as input

5.

Under the folder you exported your RCP application in step 4 you will see a file named main.jnlp and one for each deployed feature under "features" sub-folder

IMPORTANT

THE GENERATD .jnlp FILES MUST BE DEPLOYED TO A J2EE SERVER

AND

TREATED AS JSP PAGES, NOT AS NORMAL JNLP FILES

DEPLOY THE WHOLE "EXPORT" FOLDER AS IT IS

for Tomcat add the following declaration to your web.xml

<servlet-mapping>


<servlet-name>
jsp
</servlet-name>


<url-pattern>
.jnlp
</url-pattern>


</servlet-mapping>


Example of model.xml

(file name is symbolic)

(you can provide any name of your choice)

-----------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<root exportFolder="<exportFolder>" j2se="1.6+">
<main title="<title>" vendor="<vendor>" version="<version>">
<plugins>
<pluginref idRef="rcpLauncher">
</pluginref>
<pluginref idRef="product">
</pluginref>
</plugins>
<features>
<featureref idRef="wrapper">
</featureref>
</features>
<description>
</description>
<productid>
your.eclipse.rcp.product.id
</productid>
<applicationid>
your.eclipse.rcp.product.id
</applicationid>
</main>
<feature id="wrapper" name="Wrapper Feature" regex="${your feature}_.+[.]jar">
<plugins>
<pluginref idRef="product">
</pluginref>
</plugins>
<features>
<featureref idRef="rcp">
</featureref>
<featureref idRef="app">
</featureref>
</features>
</feature>
<feature id="app" name="Main Implementation" regex="your.feature_.+[.]jar">
<plugins>
<pluginref idRef="app">
</pluginref>
</plugins>
</feature>
<plugin id="product" regex="your.product.plugin_.+[.]jar">
</plugin>
<plugin id="main" regex="your.app.plugin_.+[.]jar">
</plugin>
<plugin id="rcp" regex="com.ibm.icu_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.commands_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.contenttype_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.databinding.beans_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.databinding.observable_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.databinding.property_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.databinding_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.expressions_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.jobs_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.runtime.compatibility.auth_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.core.runtime_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.app_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.common_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.ds_.+[.]jar">
</plugin>
<plugin id="rcpLauncher" regex="org.eclipse.equinox.launcher_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.carbon.macosx_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.cocoa.macosx.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.cocoa.macosx_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.linux.ppc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.linux.s390x_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.linux.s390_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.linux.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.linux.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.solaris.sparc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.gtk.solaris.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.motif.aix.ppc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.motif.hpux.ia64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.motif.hpux.PA_RISC_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.motif.linux.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.motif.solaris.sparc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.win32.win32.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.win32.win32.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.launcher.wpf.win32.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.preferences_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.registry_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.simpleconfigurator_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.equinox.util_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.help_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.jface.databinding_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.jface_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.osgi.services_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.osgi_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.rcp_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.carbon.macosx_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.cocoa.macosx.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.cocoa.macosx_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.linux.ppc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.linux.s390x_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.linux.s390_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.linux.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.linux.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.solaris.sparc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.gtk.solaris.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.motif.aix.ppc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.motif.hpux.ia64_32_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.motif.hpux.PA_RISC_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.motif.linux.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.motif.solaris.sparc_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.photon.qnx.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.win32.win32.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.win32.win32.x86_64_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.swt.wpf.win32.x86_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.ui.workbench_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.ui_.+[.]jar">
</plugin>
<plugin id="rcp" regex="org.eclipse.update.configurator_.+[.]jar">
</plugin>
</root>

Powered by Google Project Hosting