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
<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>