diff --git a/README b/README
deleted file mode 100644
index 700f8c5..0000000
--- a/README
+++ /dev/null
@@ -1,21 +0,0 @@
-jetty-repo
-----------
-Goal: shortest path to publishing the jetty jars in a p2-repository.
-No external dependency in the produced repository, no mirroring of any jars unrelated to jetty.
-During the build tycho requires that all dependencies be resolved transitively.
-We depend on orbit and the platform repositories for this.
-
-Using maven-tycho as it can publish artifacts located in maven repositories into p2-repositories.
-Single feature that contains all the jetty jars. That feature is only useful to be able to have tycho publish the jetty-jars.
-
-
-Changing version
-----------------
-NEW_VERSION=7.2.0
-mvn -Dtycho.mode=maven org.sonatype.tycho:tycho-versions-plugin:set-version -DnewVersion=$NEW_VERSION-SNAPSHOT
-
-Then go edit the root pom.xml and change 
-<buildnumber>v20101020</buildnumber>
-to the actual qualifier.
-
-Also might need to edit a couple of files manually.
diff --git a/index-tpl.html b/index-tpl.html
index a40afa3..fb1092c 100644
--- a/index-tpl.html
+++ b/index-tpl.html
@@ -1,6 +1,6 @@
 <html>
 <head>
-	<title>Jetty Bundles ${jetty_version_used}</title>
+	<title>EclipseRTWebStarterKit - Jetty ${jetty_version_used} - Equinox ${platform}</title>
 	<base href="http://www.eclipse.org/" />
 	<meta name="keywords" content="Jetty, Servlets, Async, Web Server, Web Client, Eclipse RT, Eclipse Runtime" /> 
 	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
@@ -87,18 +87,28 @@
  
 </div>
 		<div id="midcolumn">
-			<h1>Jetty Bundles ${jetty_version_used}</h1>
+			<h1>Stable ${product_version_built}</h1>
                         <p><image src="/jetty/images/jetty-logo-80x22.png"/></p> 
 			<p>This page provides access to a particular Jetty release build.</p>
-                        <p>It was built on ${timestamp}.</p>
+                        <p>This EclipseWebStarterKit was built from:
+                          <ul>
+                            <li>Jetty ${jetty_version_used}</li>
+                            <li>Equinox ${platform}</li>
+                          </ul>
+                          It was built on ${timestamp}.
+                        </p>
 
-			<h2>Jetty Bundles</h2>
-			<p>This repository only contains the jetty bundles and their sources.</p>
-                        <p>It does not contain any dependencies nor does it contain default configuration files or equinox</p>
-                        <p>It is only useful for other builds to create a TargetPlatform or to download all the jetty jars at once</p>
-                        <p>If you are looking for the executable server packages they are built here: <a href="http://download.eclipse.org/jetty/updates/">EclipseRTWebStarterKit</a>.</p>
+			<h2>Jetty Server</h2>
+			<p>This is a ready-to-run server package. It's suitable for deployment as well as testing scenarios. Learn <a href="http://wiki.eclipse.org/Jetty#Getting_Started:_Download.2C_Install.2C_Configure.2C_Run">how to use this package</a>.</p>
 			<ul>
-				<li><code><a href="${software_site_url}"><!-- going to the next line is necessary for sed... -->
+				<li><code><a href="${product_file_href}">${product_file_name}</a></code><br/><small>(Cross-Platform)</small></li>
+				<li><code><a href="${product_file_zip_href}">${product_file_zip_name}</a></code><br/><small>(Cross-Platform)</small></li>
+			</ul>
+
+			<h2>Jetty Target Components</h2>
+			<p>This is the package you need for developing Jetty OSGi based server applications. It contains the complete source code and can only be used for target platforms.</p>
+			<ul>
+				<li><code><a href="${software_site_url}">
                                            ${software_site_url}</a></code><br/><small>(software site)</small></li>
 				<li><code><a href="${repository_archive_file_href}">${repository_archive_file_name}</a></code><br/><small>(zipped version)</small></li>
 			</ul>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/javax.servlet.jsp.glassfish.source/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/javax.servlet.jsp.glassfish.source/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/javax.servlet.jsp.glassfish.source/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/javax.servlet.jsp.glassfish.source/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/javax.servlet.jsp.glassfish.source/feature.properties
similarity index 96%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/javax.servlet.jsp.glassfish.source/feature.properties
index 6f1ce3c..4ce646b 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/javax.servlet.jsp.glassfish.source/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=JSP 2.1 API and Reference Implementation
+description=JSP-2.1 libraries: API and reference implementation.
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/javax.servlet.jsp.glassfish.source/feature.xml b/jetty-features/javax.servlet.jsp.glassfish.source/feature.xml
new file mode 100644
index 0000000..a9a3e15
--- /dev/null
+++ b/jetty-features/javax.servlet.jsp.glassfish.source/feature.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="javax.servlet.jsp.glassfish.source"
+      label="%featureName"
+      version="2.1.0.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <plugin
+         id="javax.servlet.source"
+         download-size="0"
+         install-size="0"
+         version="2.5.0"
+         unpack="false"/>
+   <plugin
+         id="com.sun.el.source"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.el.source"
+         download-size="0"
+         install-size="0"
+         version="2.1.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.servlet.jsp.jstl.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.servlet.jsp.source"
+         download-size="0"
+         install-size="0"
+         version="2.1.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.jasper.glassfish.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.taglibs.standard.glassfish.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jdt.core.compiler.batch.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/javax.servlet.jsp.glassfish.source/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/javax.servlet.jsp.glassfish.source/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/javax.servlet.jsp.glassfish.source/pom.xml
similarity index 76%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/javax.servlet.jsp.glassfish.source/pom.xml
index ce04e7f..05fee8f 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/javax.servlet.jsp.glassfish.source/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>javax.servlet.jsp.glassfish.source</artifactId>
   <packaging>eclipse-feature</packaging>
+  <version>2.1.0-SNAPSHOT</version>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/javax.servlet.jsp.glassfish/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/javax.servlet.jsp.glassfish/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/javax.servlet.jsp.glassfish/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/javax.servlet.jsp.glassfish/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/javax.servlet.jsp.glassfish/feature.properties
similarity index 96%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/javax.servlet.jsp.glassfish/feature.properties
index 6f1ce3c..4ce646b 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/javax.servlet.jsp.glassfish/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=JSP 2.1 API and Reference Implementation
+description=JSP-2.1 libraries: API and reference implementation.
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/javax.servlet.jsp.glassfish/feature.xml b/jetty-features/javax.servlet.jsp.glassfish/feature.xml
new file mode 100644
index 0000000..4409f5d
--- /dev/null
+++ b/jetty-features/javax.servlet.jsp.glassfish/feature.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="javax.servlet.jsp.glassfish"
+      label="%featureName"
+      version="2.1.0.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+      
+   <plugin
+         id="javax.servlet"
+         download-size="0"
+         install-size="0"
+         version="2.5.0"
+         unpack="false"/>
+
+   <plugin
+         id="com.sun.el"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.el"
+         download-size="0"
+         install-size="0"
+         version="2.1.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.servlet.jsp"
+         download-size="0"
+         install-size="0"
+         version="2.1.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.servlet.jsp.jstl"
+         download-size="0"
+         install-size="0"
+         version="1.2.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.jasper.glassfish"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.apache.taglibs.standard.glassfish"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jdt.core.compiler.batch"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/javax.servlet.jsp.glassfish/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/javax.servlet.jsp.glassfish/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/javax.servlet.jsp.glassfish/pom.xml
similarity index 77%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/javax.servlet.jsp.glassfish/pom.xml
index ce04e7f..6c34531 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/javax.servlet.jsp.glassfish/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>javax.servlet.jsp.glassfish</artifactId>
+  <version>2.1.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.all.dependencies/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.all.dependencies/build.properties
diff --git a/jetty-features/org.eclipse.jetty.all.dependencies/config-all.launch b/jetty-features/org.eclipse.jetty.all.dependencies/config-all.launch
new file mode 100644
index 0000000..1e00557
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.all.dependencies/config-all.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/New_configuration"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.osgi.tldbundles=org.apache.myfaces.core.impl"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,ch.qos.logback.core@default:default,org.eclipse.jetty.osgi.boot@default:default,org.eclipse.jetty.websocket@default:default,org.eclipse.osgi@-1:true,org.eclipse.jetty.osgi.boot.logback@default:false,org.eclipse.jetty.http@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.jetty.osgi.boot.warurl@default:default,org.eclipse.jetty.plus@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.osgi.services@default:default,javax.activation@default:default,slf4j.api@default:default,org.eclipse.jetty.ajp@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jetty.jndi@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlets@default:default,org.eclipse.equinox.http.servlet@default:default,javax.servlet.jsp@default:default,org.eclipse.jetty.util@default:default,javax.el@default:default,javax.transaction@default:false,org.apache.taglibs.standard.glassfish@default:default,org.eclipse.jetty.deploy@default:default,com.sun.el@default:default,org.apache.jasper.glassfish@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.annotations@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.objectweb.asm@default:default,javax.servlet@default:default,org.eclipse.equinox.launcher@default:default,log4j.over.slf4j@default:default,org.eclipse.jetty.security@default:default,org.eclipse.equinox.common@2:true,ch.qos.logback.classic@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.eclipse.jetty.continuation@default:default,javax.faces.jsf-api@default:default,javax.faces.jsf-impl@default:default,javax.servlet.jsp.jstl@default:default,org.eclipse.jetty.jmx@default:default,jcl.over.slf4j@default:default,javax.mail.glassfish@default:default"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="SunMojarraJsfExample@default:default"/>
+</launchConfiguration>
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.all.dependencies/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.all.dependencies/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.all.dependencies/feature.properties
similarity index 96%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.all.dependencies/feature.properties
index 6f1ce3c..376365c 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.all.dependencies/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty - all components's dependencies
+description=Jetty, the HTTP software component. Support for servlets, web applications, JSP-2.1 and more.
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.all.dependencies/feature.xml b/jetty-features/org.eclipse.jetty.all.dependencies/feature.xml
new file mode 100644
index 0000000..fbaad4b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.all.dependencies/feature.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.all.dependencies"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <requires>
+      <import feature="javax.servlet.jsp.glassfish"/>
+      <import feature="org.eclipse.jetty.slf4jlogback"/>
+      <import feature="org.eclipse.jetty.core"/>
+   </requires>
+
+   <plugin
+         id="javax.servlet"
+         download-size="0"
+         install-size="0"
+         version="2.5.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.servlet.source"
+         download-size="0"
+         install-size="0"
+         version="2.5.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.activation"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+   <plugin
+         id="javax.activation.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.annotation"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+   <plugin
+         id="javax.annotation.source"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+   <plugin
+         id="javax.security.auth.message"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+   <plugin
+         id="javax.security.auth.message.source"
+         download-size="0"
+         install-size="0"
+         version="1.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.mail.glassfish"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+   <plugin
+         id="javax.mail.glassfish.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="javax.transaction"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+   <plugin
+         id="javax.transaction.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+   <plugin
+         id="org.objectweb.asm"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+   <plugin
+         id="org.objectweb.asm.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.all.dependencies/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.all.dependencies/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.all.dependencies/pom.xml
similarity index 75%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.all.dependencies/pom.xml
index ce04e7f..56643af 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.all.dependencies/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <!--relativePath>../../../jetty-osgi</relativePath-->
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.all.dependencies</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.all/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.all/build.properties
diff --git a/jetty-features/org.eclipse.jetty.all/config-all.launch b/jetty-features/org.eclipse.jetty.all/config-all.launch
new file mode 100644
index 0000000..1e00557
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.all/config-all.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/New_configuration"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.osgi.tldbundles=org.apache.myfaces.core.impl"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,ch.qos.logback.core@default:default,org.eclipse.jetty.osgi.boot@default:default,org.eclipse.jetty.websocket@default:default,org.eclipse.osgi@-1:true,org.eclipse.jetty.osgi.boot.logback@default:false,org.eclipse.jetty.http@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.jetty.osgi.boot.warurl@default:default,org.eclipse.jetty.plus@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.osgi.services@default:default,javax.activation@default:default,slf4j.api@default:default,org.eclipse.jetty.ajp@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jetty.jndi@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlets@default:default,org.eclipse.equinox.http.servlet@default:default,javax.servlet.jsp@default:default,org.eclipse.jetty.util@default:default,javax.el@default:default,javax.transaction@default:false,org.apache.taglibs.standard.glassfish@default:default,org.eclipse.jetty.deploy@default:default,com.sun.el@default:default,org.apache.jasper.glassfish@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.annotations@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.objectweb.asm@default:default,javax.servlet@default:default,org.eclipse.equinox.launcher@default:default,log4j.over.slf4j@default:default,org.eclipse.jetty.security@default:default,org.eclipse.equinox.common@2:true,ch.qos.logback.classic@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.eclipse.jetty.continuation@default:default,javax.faces.jsf-api@default:default,javax.faces.jsf-impl@default:default,javax.servlet.jsp.jstl@default:default,org.eclipse.jetty.jmx@default:default,jcl.over.slf4j@default:default,javax.mail.glassfish@default:default"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="SunMojarraJsfExample@default:default"/>
+</launchConfiguration>
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.all/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.all/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.all/feature.properties
similarity index 96%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.all/feature.properties
index 6f1ce3c..f9a552b 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.all/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty - all components  no external dependencies
+description=Jetty, the HTTP software component. Support for servlets, web applications, JSP-2.1 and more.
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.all/feature.xml b/jetty-features/org.eclipse.jetty.all/feature.xml
new file mode 100644
index 0000000..6cb0ab3
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.all/feature.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.all"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <requires>
+      <import feature="javax.servlet.jsp.glassfish"/>
+      <import feature="org.eclipse.jetty.slf4jlogback"/>
+      <import feature="org.eclipse.jetty.core"/>
+      <!-- For some reason, if we don't do this activation is not part of the installed product and later PDE launch config complains that javax.mail.glassfish needs it -->
+      <import plugin="javax.activation"/>
+    </requires>
+
+   <plugin
+         id="org.eclipse.jetty.jaspi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.annotations"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.nested"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.plus"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.osgi.boot.jsp"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <!--plugin
+         id="org.eclipse.jetty.osgi.equinoxtools"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+	   unpack="false"/-->
+   <!-- still unable to plug the jetty jsp log into jasper's
+   it installs but does not work and later causes more issues. -->
+   <!--plugin
+         id="org.eclipse.jetty.jsp-2.1"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/-->
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.all/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.all/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.all/pom.xml
similarity index 76%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.all/pom.xml
index ce04e7f..0ecfc01 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.all/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <!--relativePath>../../../jetty-osgi</relativePath-->
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.all</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty-features/org.eclipse.jetty.bundles.f.source/README b/jetty-features/org.eclipse.jetty.bundles.f.source/README
new file mode 100644
index 0000000..e15647d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.bundles.f.source/README
@@ -0,0 +1,3 @@
+Copied from the jetty-bundles project to fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=332404
+Unfortunately this version of tycho is not able to republish a feature
+so we need to define the feature twice.
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.bundles.f.source/build.properties
similarity index 100%
rename from jetty.bundles.f.source/build.properties
rename to jetty-features/org.eclipse.jetty.bundles.f.source/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.bundles.f.source/epl-v10.html
similarity index 100%
rename from jetty.bundles.f.source/epl-v10.html
rename to jetty-features/org.eclipse.jetty.bundles.f.source/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.bundles.f.source/feature.properties
similarity index 98%
rename from jetty.bundles.f.source/feature.properties
rename to jetty-features/org.eclipse.jetty.bundles.f.source/feature.properties
index 6f1ce3c..dce4908 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.bundles.f.source/feature.properties
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty.bundles.f.source/feature.xml b/jetty-features/org.eclipse.jetty.bundles.f.source/feature.xml
similarity index 96%
rename from jetty.bundles.f.source/feature.xml
rename to jetty-features/org.eclipse.jetty.bundles.f.source/feature.xml
index cd554f6..817a683 100644
--- a/jetty.bundles.f.source/feature.xml
+++ b/jetty-features/org.eclipse.jetty.bundles.f.source/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jetty.bundles.f.source"
       label="%featureName"
-      version="7.5.0.qualifier"
+      version="7.4.5.qualifier"
       provider-name="%providerName">
 
    <description url="%descriptionURL">
@@ -87,26 +87,19 @@
          version="0.0.0"
          unpack="false"/>
 
-   <plugin
+   <!--plugin
          id="org.eclipse.jetty.jsp-2.1.source"
          download-size="0"
          install-size="0"
          version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jetty.nested.source"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
+         unpack="false"/-->
 
    <plugin
          id="org.eclipse.jetty.osgi.boot.source"
          download-size="0"
          install-size="0"
          version="0.0.0"
-         unpack="true"/>
+         unpack="false"/>
 
    <plugin
          id="org.eclipse.jetty.osgi.boot.jsp.source"
@@ -114,13 +107,13 @@
          install-size="0"
          version="0.0.0"
          unpack="false"/>
-
-   <plugin
+         
+   <!--<plugin
          id="org.eclipse.jetty.osgi.equinoxtools.source"
          download-size="0"
          install-size="0"
          version="0.0.0"
-         unpack="false"/>
+	   unpack="false"/>-->
 
    <plugin
          id="org.eclipse.jetty.osgi.boot.warurl.source"
@@ -137,6 +130,13 @@
          unpack="false"/>
 
    <plugin
+         id="org.eclipse.jetty.nested.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
          id="org.eclipse.jetty.plus.source"
          download-size="0"
          install-size="0"
@@ -144,7 +144,7 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.jetty.policy.source"
+         id="org.eclipse.jetty.policy"
          download-size="0"
          install-size="0"
          version="0.0.0"
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.bundles.f.source/license.html
similarity index 100%
rename from jetty.bundles.f.source/license.html
rename to jetty-features/org.eclipse.jetty.bundles.f.source/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.bundles.f.source/pom.xml
similarity index 84%
rename from jetty.bundles.f.source/pom.xml
rename to jetty-features/org.eclipse.jetty.bundles.f.source/pom.xml
index ce04e7f..dc67d2f 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.bundles.f.source/pom.xml
@@ -18,9 +18,10 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
   <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
   <packaging>eclipse-feature</packaging>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.core/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.core/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.core/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.core/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.core/feature.properties
similarity index 95%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.core/feature.properties
index 6f1ce3c..d3ef409 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.core/feature.properties
@@ -14,8 +14,10 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty - Core: servlets and webapps
+description=Jetty, the HTTP software component. Support for servlets and web applications.\n\
+Everything that only depends on JDK5 and servlet-2.5.\n\
+No JSP, annotations and jetty-plus support.
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +37,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +106,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty.bundles.f/feature.xml b/jetty-features/org.eclipse.jetty.core/feature.xml
similarity index 70%
rename from jetty.bundles.f/feature.xml
rename to jetty-features/org.eclipse.jetty.core/feature.xml
index 3f10a29..c4816c8 100644
--- a/jetty.bundles.f/feature.xml
+++ b/jetty-features/org.eclipse.jetty.core/feature.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <feature
-      id="org.eclipse.jetty.bundles.f"
+      id="org.eclipse.jetty.core"
       label="%featureName"
-      version="7.5.0.qualifier"
+      version="7.4.5.qualifier"
       provider-name="%providerName">
 
    <description url="%descriptionURL">
@@ -16,16 +16,15 @@
    <license url="%licenseURL">
       %license
    </license>
-
+   
+   <requires>
+      <import plugin="javax.servlet" version="2.5.0" match="compatible"/>
+      <import plugin="org.eclipse.osgi"/>
+      <import plugin="org.eclipse.osgi.services"/>
+   </requires>
+   
    <plugin
-         id="org.eclipse.jetty.ajp"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-           unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jetty.annotations"
+         id="org.eclipse.equinox.http.servlet"
          download-size="0"
          install-size="0"
          version="0.0.0"
@@ -67,13 +66,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.jetty.jaspi"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.jetty.jmx"
          download-size="0"
          install-size="0"
@@ -88,20 +80,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.jetty.jsp-2.1"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-         
-   <plugin
-         id="org.eclipse.jetty.nested"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.jetty.osgi.boot"
          download-size="0"
          install-size="0"
@@ -109,22 +87,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.jetty.osgi.boot.jsp"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jetty.osgi.equinoxtools"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         fragment="true"
-	   unpack="false"/>
-
-   <plugin
          id="org.eclipse.jetty.osgi.boot.warurl"
          download-size="0"
          install-size="0"
@@ -139,20 +101,6 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.jetty.plus"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.jetty.policy"
-         download-size="0"
-         install-size="0"
-         version="0.0.0"
-         unpack="false"/>
-
-   <plugin
          id="org.eclipse.jetty.rewrite"
          download-size="0"
          install-size="0"
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.core/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.core/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.core/pom.xml
similarity index 80%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.core/pom.xml
index ce04e7f..a21b6e3 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.core/pom.xml
@@ -18,10 +18,11 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.core</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty-features/org.eclipse.jetty.product/EclipseRTWebStarterKit.product b/jetty-features/org.eclipse.jetty.product/EclipseRTWebStarterKit.product
new file mode 100644
index 0000000..44de017
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/EclipseRTWebStarterKit.product
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="EclipseRT Web Starter Kit" uid="org.eclipse.rt.webstarterkit" version="3.7.0.qualifier" useFeatures="true" includeLaunchers="true">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-console</programArgs>
+      <vmArgs>-Declipse.ignoreApp=true
+-Dosgi.noShutdown=true
+-Djetty.home=.
+-Dlogback.configurationFile=./etc/logback.xml</vmArgs>
+      <vmArgsMac>-Djetty.home=../../.. 
+-Dlogback.configurationFile=../../../etc/logback.xml 
+-XstartOnFirstThread 
+-Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+   </launcherArgs>
+
+   <windowImages/>
+
+   <launcher name="rtweb">
+      <macosx icon="/org.eclipse.jetty.product/rt.icns"/>
+      <solaris/>
+      <win useIco="true">
+         <ico path="/org.eclipse.jetty.product/rt.ico"/>
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+   </vm>
+
+   <plugins>
+   </plugins>
+
+   <features>
+      <feature id="org.eclipse.equinox.server.core"/>
+      <feature id="org.eclipse.equinox.server.p2"/>
+      <feature id="org.eclipse.jetty.starterkit"/>
+   </features>
+
+   <configurations>
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.console" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.jetty.osgi.boot" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.jetty.osgi.httpservice" autoStart="true" startLevel="4" />
+   </configurations>
+
+</product>
diff --git a/jetty-features/org.eclipse.jetty.product/categories.xml b/jetty-features/org.eclipse.jetty.product/categories.xml
new file mode 100644
index 0000000..f82609d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/categories.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<site name="jetty site">
+   <feature url="features/org.eclipse.jetty.core_7.4.5.qualifier.jar" id="org.eclipse.jetty.core" version="7.4.5.qualifier">
+      <category name="EclipseRT Target Platform Components"/>
+   </feature>
+   <feature url="features/javax.servlet.jsp.glassfish_2.1.0.qualifier.jar" id="javax.servlet.jsp.glassfish" version="2.1.0.qualifier">
+   </feature>
+   <feature url="features/javax.servlet.jsp.glassfish.source_2.1.0.qualifier.jar" id="javax.servlet.jsp.glassfish.source" version="2.1.0.qualifier">
+   </feature>
+   <feature url="features/org.eclipse.jetty.slf4jlogback_7.4.5.qualifier.jar" id="org.eclipse.jetty.slf4jlogback" version="7.4.5.qualifier">
+   </feature>
+   <feature url="features/org.eclipse.jetty.slf4jlogback.source_7.4.5.qualifier.jar" id="org.eclipse.jetty.slf4jlogback.source" version="7.4.5.qualifier">
+   </feature>
+   <feature url="features/org.eclipse.jetty.all_7.4.5.qualifier.jar" id="org.eclipse.jetty.all" version="7.4.5.qualifier">
+   </feature>
+   <feature url="features/org.eclipse.jetty.all.dependencies_7.4.5.qualifier.jar" id="org.eclipse.jetty.all.dependencies" version="7.4.5.qualifier">
+   </feature>
+   <!--feature url="features/org.eclipse.jetty.bundles.f_7.4.5.qualifier.jar" id="org.eclipse.jetty.bundles.f" version="7.4.5.qualifier">
+   </feature-->
+   <feature url="features/org.eclipse.jetty.bundles.f.source_7.4.5.qualifier.jar" id="org.eclipse.jetty.bundles.f.source" version="7.4.5.qualifier">
+   </feature>
+   <feature url="features/org.eclipse.jetty.sdk_7.4.5.qualifier.jar" id="org.eclipse.jetty.sdk" version="7.4.5.qualifier">
+      <category name="EclipseRT Target Platform Components"/>
+   </feature>
+   <feature url="features/org.eclipse.jetty.sdk.support_7.4.5.qualifier.jar" id="org.eclipse.jetty.sdk.support" version="7.4.5.qualifier">
+   </feature>
+   
+   <!--
+   <feature url="features/org.eclipse.pde.junit.runtime_1.0.0.qualifier.jar" id="org.eclipse.pde.junit.runtime" version="1.0.0.qualifier">
+      <category name="EclipseRT Target Platform Components"/>
+   </feature>
+   <feature url="features/org.eclipse.pde.junit.runtime.standalone_1.0.0.qualifier.jar" id="org.eclipse.pde.junit.runtime.standalone" version="1.0.0.qualifier">
+      <category name="EclipseRT Target Platform Components"/>
+   </feature>
+   <feature url="features/org.eclipse.pde.junit.runtime.addon_1.0.0.qualifier.jar" id="org.eclipse.pde.junit.runtime.addon" version="1.0.0.qualifier">
+      <category name="EclipseRT Target Platform Components"/>
+   </feature>
+   -->
+   
+   <!--feature url="features/org.eclipse.jetty.tooling_7.4.5.qualifier.jar" id="org.eclipse.jetty.tooling" version="7.4.5.qualifier">
+      <category name="General Purpose Tools"/>
+   </feature-->
+   
+   <!-- See http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.helios.build/helios.build?root=Callisto&view=markup -->
+   <category-def name="EclipseRT Target Platform Components" label="EclipseRT Target Platform Components" description="This category identifies various Eclipse technology that is commonly used in runtime scenarios from RCP to embedded to server side. The components in this category are intended to be added to your Target Platform, rather than your IDE."/>
+   <!-- Using the category used by Java Workflow and others.. -->
+   <category-def name="General Purpose Tools" label="General Purpose Tools" description="Tools that can be used by a wide variety of developers."/>
+</site>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/EclipseRTWebStarterKit.target b/jetty-features/org.eclipse.jetty.product/jettyhome/EclipseRTWebStarterKit.target
new file mode 100644
index 0000000..f02a5e2
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/EclipseRTWebStarterKit.target
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.6"?>
+
+<target name="EclipseRT Jetty StarterKit">
+<locations>
+<location path="${workspace_loc:EclipseRTWebStarterKit}" type="Profile"/>
+</locations>
+</target>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/Start EclipseRT Web Starter Kit.launch b/jetty-features/org.eclipse.jetty.product/jettyhome/Start EclipseRT Web Starter Kit.launch
new file mode 100644
index 0000000..6df6e24
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/Start EclipseRT Web Starter Kit.launch
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/EclipseRT Web"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home=${workspace_loc:EclipseRTWebStarterKit} -Dlogback.configurationFile=${workspace_loc:EclipseRTWebStarterKit}/etc/logback.xml"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="org.eclipse.ecf.ssl@default:false,javax.servlet.jsp.jstl@default:default,org.eclipse.jetty.servlet@default:default,javax.servlet.jsp@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.ssl@default:false,javax.servlet@default:default,org.eclipse.jetty.security@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.jetty.jndi@default:default,ch.qos.logback.core@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.jetty.jmx@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.slf4j.jcl@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jetty.plus@default:default,com.sun.el@default:default,org.eclipse.core.jobs@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf@default:default,org.eclipse.jetty.server@default:default,org.eclipse.equinox.p2.ql@default:default,javax.transaction@default:false,org.eclipse.ecf.identity@default:default,org.apache.commons.codec@default:default,org.apache.taglibs.standard.glassfish@default:default,org.junit@default:default,org.apache.commons.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.osgi.util@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jetty.http@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.jetty.websocket@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.sat4j.core@default:default,ch.qos.logback.classic@default:default,javax.activation@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.ds@default:true,org.slf4j.jul@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.util@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.apache.commons.logging@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.jetty.annotations@default:default,org.eclipse.pde.junit.runtime@default:default,javax.el@default:default,org.hamcrest.core@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.metadata@default:default,org.sat4j.pb@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.xml@default:default,org.eclipse.jetty.deploy@default:default,org.slf4j.log4j@default:default,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.equinox.common@2:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.jdt.junit.runtime@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.jetty.osgi.boot.warurl@default:default,org.eclipse.jetty.servlets@default:default,org.apache.jasper.glassfish@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.p2.engine@default:default,javax.mail.glassfish@default:default,org.eclipse.jetty.util@default:default,org.slf4j.api@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.launcher.gtk.linux.x86@default:false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/contexts/README b/jetty-features/org.eclipse.jetty.product/jettyhome/contexts/README
new file mode 100644
index 0000000..91f4a49
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/contexts/README
@@ -0,0 +1,2 @@
+Default locations for standard context definitions.
+Those applications are unlikely to have access to the OSGi framework currently.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/dropins/README b/jetty-features/org.eclipse.jetty.product/jettyhome/dropins/README
new file mode 100644
index 0000000..5ff9a8b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/dropins/README
@@ -0,0 +1 @@
+Default locations for the bundles that are not managed by P2 and are loaded dynamically.
\ No newline at end of file
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.product/jettyhome/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.product/jettyhome/epl-v10.html
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/README b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/README
new file mode 100644
index 0000000..dbc9fa7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/README
@@ -0,0 +1,2 @@
+This folder contains the default jetty configurations file for the server.
+In production, it is likely to be a different folder outside of the jetty's bootstrap plugin.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jdbcRealm.properties b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jdbcRealm.properties
new file mode 100644
index 0000000..48104d8
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jdbcRealm.properties
@@ -0,0 +1,72 @@
+# 
+# This is a sample properties file for the org.eclipse.jetty.security.JDBCLoginService
+# implemtation of the UserRealm interface.  This allows Jetty users authentication 
+# to work from a database.
+#
+#   +-------+      +------------+      +-------+
+#   | users |      | user_roles |      | roles |
+#   +-------+      +------------+      +-------+
+#   | id    |     /| user_id    |\     | id    |
+#   | user  -------| role_id    |------- role  |
+#   | pwd   |     \|            |/     |       |
+#   +-------+      +------------+      +-------+
+#   
+# 
+# 'cachetime' is a time in seconds to cache positive database
+# lookups in internal hash table. Set to 0 to disable caching.
+# 
+#
+# For MySQL:
+# create a MYSQL user called "jetty" with password "jetty"
+#
+# Create the tables:
+# create table users 
+# (
+#     id integer primary key,
+#     username varchar(100) not null unique key,
+#     pwd varchar(20) not null
+# );
+# 
+# create table roles
+# (
+#     id integer primary key,
+#     role varchar(100) not null unique key
+# );    
+#
+# create table user_roles
+# (
+#     user_id integer not null,
+#     role_id integer not null,
+#     unique key (user_id, role_id),
+#     index(user_id)
+# );
+#
+# I'm not sure unique key with a first component of user_id will be
+# user by MySQL in query, so additional index wouldn't hurt.
+#
+# To test JDBC implementation:
+#
+# mysql> insert into users values (1, 'admin', 'password');
+# mysql> insert into roles values (1, 'server-administrator');
+# mysql> insert into roles values (2, 'content-administrator');
+# mysql> insert into user_roles values (1, 1);
+# mysql> insert into user_roles values (1, 2);
+#
+# Replace HashUserRealm in etc/admin.xml with JDBCUserRealm and
+# set path to properties file.
+#
+jdbcdriver = org.gjt.mm.mysql.Driver
+url = jdbc:mysql://localhost/jetty
+username = jetty
+password = jetty
+usertable = users
+usertablekey = id
+usertableuserfield = username
+usertablepasswordfield = pwd
+roletable = roles
+roletablekey = id
+roletablerolefield = role
+userroletable = user_roles
+userroletableuserkey = user_id
+userroletablerolekey = role_id
+cachetime = 300
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ajp.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ajp.xml
new file mode 100644
index 0000000..04a775e
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ajp.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Add a AJP listener on port 8009                           -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <Call name="addConnector">
+    <Arg>
+       <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector">
+         <Set name="port">8009</Set>
+       </New>
+    </Arg>
+  </Call>
+
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio-ssl.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio-ssl.xml
new file mode 100644
index 0000000..9c075e4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio-ssl.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.ssl.SslSocketConnector">
+	<Set name="Port">9443</Set>
+	<Set name="maxIdleTime">30000</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+        <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+        <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      </New>
+    </Arg>
+  </Call>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio.xml
new file mode 100644
index 0000000..66950ee
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-bio.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin configuration for Block socket connector                  -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- Use this connector if NIO is not available.  -->
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.bio.SocketConnector">
+            <Set name="port"><Property name="jetty.bio.port" default="8081"/></Set>
+            <Set name="maxIdleTime">50000</Set>
+            <Set name="lowResourceMaxIdleTime">1500</Set>
+          </New>
+      </Arg>
+    </Call>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-debug.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-debug.xml
new file mode 100644
index 0000000..0ffccb6
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-debug.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the DebugHandler                                          -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+    <Get id="oldhandler" name="handler"/>
+    <Set name="handler">
+      <New id="DebugHandler" class="org.eclipse.jetty.server.handler.DebugHandler">
+        <Set name="handler"><Ref id="oldhandler"/></Set>
+	<Set name="outputStream">
+	  <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
+	    <Arg type="String"><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.debug.log</Arg>
+	    <Arg type="boolean">true</Arg> <!-- append -->
+	    <Arg type="int">90</Arg> <!-- retain days -->
+	  </New>
+	</Set>
+      </New>
+    </Set>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-fileserver.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-fileserver.xml
new file mode 100644
index 0000000..de15b38
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-fileserver.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+
+<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="port">8080</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <Set name="handler">
+      <New class="org.eclipse.jetty.server.handler.HandlerList">
+        <Set name="handlers">
+	  <Array type="org.eclipse.jetty.server.Handler">
+	    <Item>
+	      <New class="org.eclipse.jetty.server.handler.ResourceHandler">
+	        <Set name="directoriesListed">true</Set>
+		<Set name="welcomeFiles">
+		  <Array type="String"><Item>index.html</Item></Array>
+		</Set>
+	        <Set name="resourceBase">.</Set>
+	      </New>
+	    </Item>
+	    <Item>
+	      <New class="org.eclipse.jetty.server.handler.DefaultHandler">
+	      </New>
+	    </Item>
+	  </Array>
+        </Set>
+      </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jaas.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jaas.xml
new file mode 100644
index 0000000..7513edb
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jaas.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<Configure id="Server" class="org.mortbay.jetty.Server">
+
+  
+    <!-- ======================================================== -->
+    <!-- java.security.auth.login.config System property          -->
+    <!-- This is usually a runtime parameter to the jvm, but      -->
+    <!-- it is placed here for convenience.                       -->
+    <!-- ======================================================== -->
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.security.auth.login.config</Arg>
+      <Arg><Property name="jetty.home" default="." />/etc/login.conf</Arg>
+    </Call>
+
+
+    <!-- ======================================================== -->
+    <!-- An example JAAS realm setup                              -->
+    <!-- For more information see the jetty wiki at               -->
+    <!--   http://http://docs.codehaus.org/display/JETTY/JAAS     -->
+    <!-- ======================================================== -->
+    <Set name="UserRealms">
+      <Array type="org.mortbay.jetty.security.UserRealm">
+        <Item>
+          <New class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
+           <Set name="Name">Test JAAS Realm</Set>
+           <Set name="LoginModuleName">xyz</Set>
+          </New>
+        </Item>
+      </Array>
+    </Set>
+    
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jmx.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jmx.xml
new file mode 100644
index 0000000..2d48b6c
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-jmx.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the JVM JMX Server                                    -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -DOPTIONS=jmx -jar start.jar etc/jetty-jmx.xml etc/jetty.xml  -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Initialize an mbean server                                  -->
+    <!-- =========================================================== -->
+    <Call id="MBeanServer" class="java.lang.management.ManagementFactory" name="getPlatformMBeanServer"/>
+
+    <!-- =========================================================== -->
+    <!-- Initialize the Jetty MBean container                        -->
+    <!-- =========================================================== -->
+    <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer">
+      <Arg><Ref id="MBeanServer"/></Arg>
+    </New>
+
+    <!-- Add to the Server to listen for object events -->
+    <Get id="Container" name="container">
+      <Call name="addEventListener">
+        <Arg><Ref id="MBeanContainer"/></Arg>
+      </Call>
+    </Get>
+
+    <!-- Add to the Server as a lifecycle -->
+    <!-- Only do this if you know you will only have a single jetty server -->
+    <Call name="addBean">
+      <Arg><Ref id="MBeanContainer"/></Arg>
+    </Call>
+
+    <!-- Add the static log -->
+    <Get id="Logger" class="org.eclipse.jetty.util.log.Log" name="log"/>
+    <Ref id="MBeanContainer">
+      <Call name="addBean">
+          <Arg><Ref id="Logger"/></Arg>
+      </Call>
+    </Ref>
+
+    <!-- optionally add a remote JMX connector 
+    <Call id="jmxConnector" class="javax.management.remote.JMXConnectorServerFactory" name="newJMXConnectorServer">
+      <Arg>
+        <New  class="javax.management.remote.JMXServiceURL">
+          <Arg>service:jmx:rmi:///jndi/rmi:///jettymbeanserver</Arg>
+        </New>
+      </Arg>
+      <Arg/>
+      <Arg><Ref id="MBeanServer"/></Arg>
+      <Call name="start"/>
+    </Call>
+    -->
+    
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-logging.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-logging.xml
new file mode 100644
index 0000000..adfe6d8
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-logging.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+
+<!-- =============================================================== -->
+<!-- Configure stderr and stdout to a Jetty rollover log file        -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty-logging.xml etc/jetty.xml      -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <New id="ServerLog" class="java.io.PrintStream">
+      <Arg>
+        <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
+          <Arg><Property name="jetty.home" default="."/>/logs/yyyy_mm_dd.stderrout.log</Arg>
+          <Arg type="boolean">false</Arg>
+          <Arg type="int">90</Arg>
+          <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
+          <Get id="ServerLogName" name="datedFilename"/>
+        </New>
+      </Arg>
+    </New>
+
+    <Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>
+    <Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
+    <Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>
+
+</Configure>
+
+
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-osgi-nested.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-osgi-nested.xml
new file mode 100644
index 0000000..67d84e9
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-osgi-nested.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server Nested                               -->
+<!-- inside another Servlet Container                                -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <Call name="addConnector">
+      <Arg>
+          <New id="NestedConnector" class="org.eclipse.jetty.nested.NestedConnector">
+            <Set name="statsOn">false</Set>
+            <Set name="forwarded">true</Set>
+            <Set name="forwardedHostHeader">x-forwarded_for</Set>
+            <Set name="forwardedCipherSuiteHeader">sslclientcipher</Set>
+            <Set name="forwardedSslSessionIdHeader">sslsessionid</Set>
+            <Call name="addLifeCycleListener">
+              <Arg>
+                <New class="org.eclipse.jetty.osgi.nested.NestedConnectorListener" id="NestedConnectorListener">
+                  <Set name="nestedConnector"><Ref id="NestedConnector"/></Set>
+                </New>
+              </Arg>
+            </Call>
+          </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Set handler Collection Structure                            --> 
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
+        <Set name="handlers">
+         <Array type="org.eclipse.jetty.server.Handler">
+           <Item>
+             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
+           </Item>
+           <Item>
+             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
+           </Item>
+           <Item>
+             <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
+           </Item>
+         </Array>
+        </Set>
+      </New>
+    </Set>
+
+    <!-- =========================================================== -->
+    <!-- Configure the deployment manager                            -->
+    <!--                                                             -->
+    <!-- Sets up 2 monitored dir app providers that are configured   -->
+    <!-- to behave in a similaraly to the legacy ContextDeployer     -->
+    <!-- and WebAppDeployer from previous versions of Jetty.         -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
+          <Set name="contexts">
+            <Ref id="Contexts" />
+          </Set>
+          <Call name="setContextAttribute">
+            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+            <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
+          </Call>
+          <!-- Providers of OSGi Apps -->
+          <Call name="addAppProvider">
+            <Arg>
+              <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider">
+              <!--
+                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+              -->
+                <Set name="scanInterval">5</Set>
+                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
+                <!-- comma separated list of bundle symbolic names that
+                    contain custom tag libraries (*.tld files)
+                    if those bundles don't exist or can't be loaded no errors or warning will be issued!
+                    this default value is to plug the tld files of the reference implementation of JSF -->
+                <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldsbundles"
+                     default="javax.faces.jsf-impl" /></Set>
+              </New>
+            </Arg>
+          </Call>
+          
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- extra options                                               -->
+    <!-- =========================================================== -->
+    <Set name="stopAtShutdown">true</Set>
+    <Set name="sendServerVersion">true</Set>
+    <Set name="sendDateHeader">true</Set>
+    <Set name="gracefulShutdown">1000</Set>
+    
+    <!-- jetty-jndi by default -->
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.initial</Arg>
+      <Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg>
+    </Call>
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.url.pkgs</Arg>
+      <Arg><Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi"/></Arg>
+    </Call>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-plus.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-plus.xml
new file mode 100644
index 0000000..7430d6f
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-plus.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure Jetty Plus features                                   -->
+<!--                                                                 -->
+<!-- This file sets up a WebAppDeployer to automatically deploy all  -->
+<!-- webapps in $jetty.home/webapps-plus at startup time, and to     -->
+<!-- enable all of them with Plus features (jndi etc).               -->
+<!--                                                                 -->
+<!-- You can instead configure individual webapps with Jetty Plus    -->
+<!-- features by using the ContextDeployer (configured in            -->
+<!-- $jetty.home/etc/jetty.xml), and ensuring that you set the       -->
+<!-- same set of classes listed below in the "plusConfig" as the     -->
+<!-- webapp's configurationClasses.                                  -->
+<!--                                                                 -->
+<!-- For more information about Jetty Plus, see the Jetty wiki at    -->
+<!-- http://docs.codehaus.org/display/JETTY/Jetty+Wiki               -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- =========================================================== -->
+  <!-- Example JAAS realm setup.                                   -->
+  <!-- The LoginModuleName must be exactly the same as in the      -->
+  <!-- login.conf file, and the realm Name must be the same as in  -->
+  <!-- the web.xml file.                                           -->
+  <!-- =========================================================== -->
+  <!-- 
+  <Call name="addLoginService">
+    <Arg>
+      <New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
+	      <Set name="name">xyzrealm</Set>
+	      <Set name="LoginModuleName">xyz</Set>
+	    </New>
+    </Arg>
+  </Call>
+  -->
+
+  <!-- =========================================================== -->
+  <!-- Configurations for WebAppContexts                           -->
+  <!-- Sequence of configurations to enable Plus features.         -->
+  <!-- =========================================================== -->
+  <Array id="plusConfig" type="java.lang.String">
+    <Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
+    <Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
+    <Item>org.eclipse.jetty.plus.webapp.Configuration</Item>
+    <Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.TagLibConfiguration</Item>
+  </Array>
+
+  <!-- =========================================================== -->
+  <!-- Deploy all webapps in webapps-plus                          -->
+  <!-- =========================================================== -->
+  <!-- Uncomment the following to set up a WebAppDeployer that will -->
+  <!-- deploy webapps from a directory called webapps-plus. Note    -->
+  <!-- that you will need to create this directory first!           -->
+  <!--
+    <Call name="addLifeCycle">
+      <Arg>
+        <New class="org.eclipse.jetty.deploy.WebAppDeployer">
+          <Set name="contexts"><Ref id="Contexts"/></Set>
+          <Set name="webAppDir"><Property name="jetty.home" default="."/>/webapps-plus</Set>
+          <Set name="parentLoaderPriority">false</Set>
+          <Set name="extract">true</Set>
+          <Set name="allowDuplicates">false</Set>
+          <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+          <Set name="configurationClasses"><Ref id="plusConfig"/></Set>
+          <Call name="setAttribute">
+            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+            <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
+          </Call>
+        </New>
+      </Arg>
+    </Call>
+   -->
+
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-proxy.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-proxy.xml
new file mode 100644
index 0000000..5bc46c3
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-proxy.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Proxy" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Server Thread Pool                                          -->
+    <!-- =========================================================== -->
+    <Set name="ThreadPool">
+      <!-- Default queued blocking threadpool 
+      -->
+      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
+        <Set name="minThreads">10</Set>
+        <Set name="maxThreads">50</Set>
+      </New>
+    </Set>
+
+
+    <!-- =========================================================== -->
+    <!-- Set connectors                                              -->
+    <!-- =========================================================== -->
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="host"><Property name="jetty.host" /></Set>
+            <Set name="port"><Property name="jetty.port" default="8888"/></Set>
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+	    <Set name="lowResourcesConnections">20000</Set>
+	    <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Servlets" class="org.eclipse.jetty.servlet.ServletHandler">
+        <Call name="addServletWithMapping">
+	  <Arg>org.eclipse.jetty.servlets.ProxyServlet</Arg>
+	  <Arg>/</Arg>
+	</Call>
+      </New>
+    </Set>
+    
+    <!-- =========================================================== -->
+    <!-- extra options                                               -->
+    <!-- =========================================================== -->
+    <Set name="stopAtShutdown">true</Set>
+    <Set name="sendServerVersion">true</Set>
+    <Set name="sendDateHeader">true</Set>
+    <Set name="gracefulShutdown">1000</Set>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-rewrite.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-rewrite.xml
new file mode 100644
index 0000000..da0eb7b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-rewrite.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the RewriteHandler                                        -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- configure rewrite handler                                   --> 
+    <!-- =========================================================== -->
+    <Get id="oldhandler" name="handler"/>
+
+    <Set name="handler">
+     <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
+      <Set name="handler"><Ref id="oldhandler"/></Set>
+      <Set name="rewriteRequestURI">true</Set>
+      <Set name="rewritePathInfo">false</Set>
+      <Set name="originalPathAttribute">requestedPath</Set>
+
+      <!-- Add rule to protect against IE ssl bug -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.MsieSslRule"/>
+        </Arg>
+      </Call>
+
+      <!-- protect favicon handling -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
+	    <Set name="pattern">/favicon.ico</Set>
+	    <Set name="name">Cache-Control</Set>
+	    <Set name="value">Max-Age=3600,public</Set>
+	    <Set name="terminating">true</Set>
+          </New>
+        </Arg>
+      </Call>
+
+
+      <!-- use legacy API for some rewrites -->
+      <Call name="addRewriteRule">
+	<Arg>/some/old/context/*</Arg>
+	<Arg>/test/dump/newcontext</Arg>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/dump/rewrite/*</Arg>
+	<Arg>/test/dump/rewritten</Arg>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/dump/rewrite/protect/*</Arg>
+	<Arg/>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/*</Arg>
+	<Arg/>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/*</Arg>
+	<Arg>/test</Arg>
+      </Call>
+
+      <!-- add a regex rule -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
+            <Set name="regex">/test/dump/regex/([^/]*)/(.*)</Set>
+            <Set name="replacement">/test/dump/$2/$1</Set>
+          </New>
+        </Arg>
+      </Call>
+     </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-setuid.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-setuid.xml
new file mode 100644
index 0000000..9a30af7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-setuid.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty SetUIDServer                                 -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty-setuid.xml etc/jetty.xml       -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.mortbay.setuid.SetUIDServer">
+  <Set name="startServerAsPrivileged">false</Set>
+  <Set name="umask">2</Set>
+  <Set name="uid">jetty</Set>
+  <Set name="gid">jetty</Set>
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ssl.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ssl.xml
new file mode 100644
index 0000000..f2ec1a4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-ssl.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
+
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
+	<Set name="Port"><Property name="jetty.port.ssl" default="8443" /></Set>
+	<Set name="maxIdleTime">30000</Set>
+        <Set name="Acceptors">2</Set>
+        <Set name="AcceptQueueSize">100</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+        <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+        <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      </New>
+    </Arg>
+  </Call>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-sslengine.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-sslengine.xml
new file mode 100644
index 0000000..9e787b0
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-sslengine.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.mortbay.jetty.Server">
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.mortbay.jetty.security.SslSelectChannelConnector">
+	<Set name="Port">8444</Set>
+	<Set name="maxIdleTime">30000</Set>
+        <Set name="Acceptors">2</Set>
+        <Set name="AcceptQueueSize">100</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+      </New>
+    </Arg>
+  </Call>
+        
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-stats.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-stats.xml
new file mode 100644
index 0000000..e0a0c7f
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-stats.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the Statistics Handler                                    -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <Get id="oldhandler" name="handler"/>
+
+    <Set name="handler">
+     <New id="StatsHandler" class="org.eclipse.jetty.server.handler.StatisticsHandler">
+      <Set name="handler"><Ref id="oldhandler"/></Set>
+     </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-win32-service.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-win32-service.xml
new file mode 100644
index 0000000..20287ce
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-win32-service.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.mortbay.jetty.Server">
+
+    
+    <Call name="addLifeCycle">
+      <Arg>
+        <New class="org.mortbay.jetty.win32service.Win32Service">
+          <Set name="server"><Ref id="Server"/></Set>
+        </New>
+      </Arg>
+    </Call>
+    
+    <Set name="stopAtShutdown">true</Set>
+    <!-- ensure/prevent Server: header being sent to browsers        -->
+    <Set name="sendServerVersion">true</Set>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-xinetd.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-xinetd.xml
new file mode 100644
index 0000000..c2fbaa2
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty-xinetd.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configuration for starting up Jetty using inetd/xinetd          -->
+<!-- This feature requires at least Java 5                           -->
+<!--                                                                 -->
+<!-- Making it a mixin for convenience, but note that if used        -->
+<!-- with jetty.xml, Jetty will use multiple connectors              -->
+<!-- =============================================================== -->
+
+<!-- Sample xinetd configuration (restart xinetd after adding the configuration file)
+
+service jetty
+{
+    disable     = no
+
+    id          = jetty
+    type        = UNLISTED     
+    wait        = yes          
+    socket_type = stream
+
+    # change this
+    user        = username
+    group       = groupname
+    port        = 2001
+
+    # sample script for running jetty as a service
+    # replace $JETTY_HOME with /path/to/jetty_home/
+    server      = $JETTY_HOME/bin/jetty-xinetd.sh
+}
+
+-->
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+    <Call name="addConnector">
+      <Arg>
+          <!-- Inherited channel (from inetd/xinetd) -->
+          <New class="org.eclipse.jetty.server.nio.InheritedChannelConnector">
+
+
+            <!-- Optional. Fallback in case System.inheritedChannel() does not give a ServerSocketChannel 
+            <Set name="port"><Property name="jetty.service.port" default="8082"/></Set>
+            -->
+
+            <!-- sane defaults -->
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+      	    <Set name="lowResourcesConnections">20000</Set>
+	        <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty.xml
new file mode 100644
index 0000000..21164c4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/jetty.xml
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Server Thread Pool                                          -->
+    <!-- =========================================================== -->
+    <Set name="ThreadPool">
+      <!-- Default queued blocking threadpool 
+      -->
+      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
+        <Set name="minThreads">10</Set>
+        <Set name="maxThreads">200</Set>
+      </New>
+
+      <!-- Optional Java 5 bounded threadpool with job queue 
+      <New class="org.eclipse.jetty.util.thread.ExecutorThreadPool">     
+        <Arg name="coreSize" type="int">25</Arg>
+        <Arg name="maxSize" type="int">50</Arg>
+        <Arg name="maxIdleMs" type="long">30000</Arg>
+      </New>
+      -->
+    </Set>
+
+
+
+    <!-- =========================================================== -->
+    <!-- Set connectors                                              -->
+    <!-- =========================================================== -->
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="host"><Property name="jetty.host" /></Set>
+            <Set name="port"><Property name="jetty.port" default="8080"/></Set>
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+            <Set name="confidentialPort">8443</Set>
+        <Set name="lowResourcesConnections">20000</Set>
+        <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To add a HTTPS SSL connector                                    -->
+    <!-- mixin jetty-ssl.xml:                                            -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml           -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    
+    <Call name="addConnector">
+      <Arg>
+        <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
+      <Set name="Port"><Property name="jetty.port.ssl" default="8443" /></Set>
+      <Set name="maxIdleTime">30000</Set>
+          <Set name="Acceptors">2</Set>
+          <Set name="AcceptQueueSize">100</Set>
+      <Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+      <Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      <Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+          <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+          <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+        </New>
+      </Arg>
+    </Call>
+    
+    
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To add a HTTP blocking connector                                -->
+    <!-- mixin jetty-bio.xml:                                            -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-bio.xml           -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To allow Jetty to be started from xinetd                        -->
+    <!-- mixin jetty-xinetd.xml:                                         -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-xinetd.xml        -->
+    <!--                                                                 -->
+    <!-- See jetty-xinetd.xml for further instructions.                  -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <!-- =========================================================== -->
+    <!-- Set handler Collection Structure                            --> 
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
+        <Set name="handlers">
+         <Array type="org.eclipse.jetty.server.Handler">
+           <Item>
+             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
+           </Item>
+           <Item>
+             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
+           </Item>
+           <Item>
+             <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
+           </Item>
+         </Array>
+        </Set>
+      </New>
+    </Set>
+
+    <!-- =========================================================== -->
+    <!-- Configure the deployment manager                            -->
+    <!--                                                             -->
+    <!-- Sets up 2 monitored dir app providers that are configured   -->
+    <!-- to behave in a similaraly to the legacy ContextDeployer     -->
+    <!-- and WebAppDeployer from previous versions of Jetty.         -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
+          <Set name="contexts">
+            <Ref id="Contexts" />
+          </Set>
+          <Call name="setContextAttribute">
+            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+            <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
+          </Call>
+          <!-- Providers of Apps via Context XML files.
+               Configured to behave similar to the legacy ContextDeployer -->
+          <Call name="addAppProvider">
+            <Arg>
+              <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
+                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/contexts</Set>
+                <Set name="scanInterval">5</Set>
+              </New>
+            </Arg>
+          </Call>
+          <!-- Providers of OSGi Apps.
+               Also deploys webapps in the webapps folder -->
+          <Call name="addAppProvider">
+            <Arg>
+              <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider">
+                <Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
+                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+                <Set name="scanInterval">5</Set>
+                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
+                <!-- comma separated list of bundle symbolic names that
+                    contain custom tag libraries (*.tld files)
+                    if those bundles don't exist or can't be loaded no errors or warning will be issued!
+                    this default value is to plug the tld files of the reference implementation of JSF -->
+                <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldsbundles"
+                     default="javax.faces.jsf-impl" /></Set>
+              </New>
+            </Arg>
+          </Call>
+          
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Configure Authentication Login Service                      -->
+    <!-- Realms may be configured for the entire server here, or     -->
+    <!-- they can be configured for a specific web app in a context  -->
+    <!-- configuration (see $(jetty.home)/contexts/test.xml for an   -->
+    <!-- example).                                                   -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New class="org.eclipse.jetty.security.HashLoginService">
+          <Set name="name">Test Realm</Set>
+          <Set name="config"><Property name="jetty.home" default="."/>/etc/realm.properties</Set>
+          <Set name="refreshInterval">0</Set>
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Configure Request Log                                       -->
+    <!-- Request logs  may be configured for the entire server here, -->
+    <!-- or they can be configured for a specific web app in a       -->
+    <!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
+    <!-- for an example).                                            -->
+    <!-- =========================================================== -->
+    <Ref id="RequestLog">
+      <Set name="requestLog">
+        <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
+          <Set name="filename"><Property name="jetty.home" default="."/>/logs/yyyy_mm_dd.request.log</Set>
+          <Set name="filenameDateFormat">yyyy_MM_dd</Set>
+          <Set name="retainDays">90</Set>
+          <Set name="append">true</Set>
+          <Set name="extended">false</Set>
+          <Set name="logCookies">false</Set>
+          <Set name="LogTimeZone">GMT</Set>
+        </New>
+      </Set>
+    </Ref>
+
+    <!-- =========================================================== -->
+    <!-- extra options                                               -->
+    <!-- =========================================================== -->
+    <Set name="stopAtShutdown">true</Set>
+    <Set name="sendServerVersion">true</Set>
+    <Set name="sendDateHeader">true</Set>
+    <Set name="gracefulShutdown">1000</Set>
+    
+    <!-- jetty-jndi by default -->
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.initial</Arg>
+      <Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg>
+    </Call>
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.url.pkgs</Arg>
+      <Arg><Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi"/></Arg>
+    </Call>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/keystore b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/keystore
new file mode 100644
index 0000000..08f6cda
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/keystore
Binary files differ
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/logback.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/logback.xml
new file mode 100644
index 0000000..e3f81e1
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/logback.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<configuration>
+	<appender name="STDOUT"
+			class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
+		</encoder>
+	</appender>
+
+	<!--Basic file appender<appender name="FILE"
+		class="ch.qos.logback.core.FileAppender">
+		<encoder>
+			<pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
+		</encoder>
+		<File>sample-log.txt</File>
+	</appender>-->
+
+        <!--Daily rolling file appender -->
+	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<File>logs/logFile.log</File>
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<FileNamePattern>logFile.%d{yyyy-MM-dd}.log</FileNamePattern>
+		</rollingPolicy>
+
+		<encoder>
+			<Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern>
+		</encoder>
+	</appender>
+	
+	
+	<!--logger name="org.eclipse.example">
+		<level value="debug" />
+	</logger-->
+	
+	<root>
+		<level value="error" />
+		<appender-ref ref="STDOUT" />
+		<appender-ref ref="FILE" />
+	</root>
+</configuration>
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.conf b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.conf
new file mode 100644
index 0000000..731956c
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.conf
@@ -0,0 +1,5 @@
+xyz {
+org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
+debug="true"
+file="${jetty.home}/etc/login.properties";
+};
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.properties b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.properties
new file mode 100644
index 0000000..61e3203
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/login.properties
@@ -0,0 +1 @@
+me=me,me,roleA
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/realm.properties b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/realm.properties
new file mode 100644
index 0000000..cbf905d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/realm.properties
@@ -0,0 +1,21 @@
+#
+# This file defines users passwords and roles for a HashUserRealm
+#
+# The format is
+#  <username>: <password>[,<rolename> ...]
+#
+# Passwords may be clear text, obfuscated or checksummed.  The class 
+# org.eclipse.util.Password should be used to generate obfuscated
+# passwords or password checksums
+#
+# If DIGEST Authentication is used, the password must be in a recoverable
+# format, either plain text or OBF:.
+#
+jetty: MD5:164c88b302622e17050af52c89945d44,user
+admin: CRYPT:adpexzg3FUZAk,server-administrator,content-administrator,admin
+other: OBF:1xmk1w261u9r1w1c1xmq,user
+plain: plain,user
+user: password,user
+
+# This entry is for digest auth.  The credential is a MD5 hash of username:realmname:password
+digest: MD5:6e120743ad67abfbc385bc2bb754e297,user
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/etc/webdefault.xml b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/webdefault.xml
new file mode 100644
index 0000000..0078e77
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/etc/webdefault.xml
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- ===================================================================== -->
+<!-- This file contains the default descriptor for web applications.       -->
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<!-- The intent of this descriptor is to include jetty specific or common  -->
+<!-- configuration for all webapps.   If a context has a webdefault.xml    -->
+<!-- descriptor, it is applied before the contexts own web.xml file        -->
+<!--                                                                       -->
+<!-- A context may be assigned a default descriptor by:                    -->
+<!--  + Calling WebApplicationContext.setDefaultsDescriptor                -->
+<!--  + Passed an arg to addWebApplications                                -->
+<!--                                                                       -->
+<!-- This file is used both as the resource within the jetty.jar (which is -->
+<!-- used as the default if no explicit defaults descriptor is set) and it -->
+<!-- is copied to the etc directory of the Jetty distro and explicitly     -->
+<!-- by the jetty.xml file.                                                -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<web-app 
+   xmlns="http://java.sun.com/xml/ns/javaee" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
+   metadata-complete="true"
+   version="2.5"> 
+
+  <description>
+    Default web.xml file.  
+    This file is applied to a Web application before it's own WEB_INF/web.xml file
+  </description>
+
+
+  <!-- ==================================================================== -->
+  <!-- Context params to control Session Cookies                            -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- UNCOMMENT TO ACTIVATE
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name>
+    <param-value>127.0.0.1</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.SessionPath</param-name>
+    <param-value>/</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>
+    <param-value>-1</param-value>
+  </context-param>
+  -->
+
+
+  <!-- ==================================================================== -->
+  <!-- The default servlet.                                                 -->
+  <!-- This servlet, normally mapped to /, provides the handling for static -->
+  <!-- content, OPTIONS and TRACE methods for the context.                  -->
+  <!-- The following initParameters are supported:                          -->
+  <!--                                                                      -->
+  <!--   acceptRanges     If true, range requests and responses are         -->
+  <!--                    supported                                         -->
+  <!--                                                                      -->
+  <!--   dirAllowed       If true, directory listings are returned if no    -->
+  <!--                    welcome file is found. Else 403 Forbidden.        -->
+  <!--                                                                      -->
+  <!--   welcomeServlets  If true, attempt to dispatch to welcome files     -->
+  <!--                    that are servlets, if no matching static          -->
+  <!--                    resources can be found.                           -->
+  <!--                                                                      -->
+  <!--   redirectWelcome  If true, redirect welcome file requests           -->
+  <!--                    else use request dispatcher forwards              -->
+  <!--                                                                      -->
+  <!--   gzip             If set to true, then static content will be served--> 
+  <!--                    as gzip content encoded if a matching resource is -->
+  <!--                    found ending with ".gz"                           -->
+  <!--                                                                      -->
+  <!--   resoureBase      Can be set to replace the context resource base   -->
+  <!--                                                                      -->
+  <!--   relativeResourceBase                                               -->
+  <!--                    Set with a pathname relative to the base of the   -->
+  <!--                    servlet context root. Useful for only serving     -->
+  <!--                    static content from only specific subdirectories. -->
+  <!--                                                                      -->
+  <!--   useFileMappedBuffer                                                -->
+  <!--                    If set to true (the default), a  memory mapped    -->
+  <!--                    file buffer will be used to serve static content  -->
+  <!--                    when using an NIO connector. Setting this value   -->
+  <!--                    to false means that a direct buffer will be used  -->
+  <!--                    instead. If you are having trouble with Windows   -->
+  <!--                    file locking, set this to false.                  -->
+  <!--                                                                      -->
+  <!--  cacheControl      If set, all static content will have this value   -->
+  <!--                    set as the cache-control header.                  -->
+  <!--                                                                      -->
+  <!--  maxCacheSize      Maximum size of the static resource cache         -->
+  <!--                                                                      -->
+  <!--  maxCachedFileSize Maximum size of any single file in the cache      -->
+  <!--                                                                      -->
+  <!--  maxCachedFiles    Maximum number of files in the cache              -->
+  <!--                                                                      -->
+  <!--  cacheType         "nio", "bio" or "both" to determine the type(s)   -->
+  <!--                    of resource cache. A bio cached buffer may be used-->
+  <!--                    by nio but is not as efficient as a nio buffer.   -->
+  <!--                    An nio cached buffer may not be used by bio.      -->
+  <!--                                                                      -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+    <init-param>
+      <param-name>acceptRanges</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dirAllowed</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>welcomeServlets</param-name>
+        <param-value>false</param-value>
+      </init-param>
+    <init-param>
+      <param-name>redirectWelcome</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCacheSize</param-name>
+      <param-value>256000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFileSize</param-name>
+      <param-value>10000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFiles</param-name>
+      <param-value>1000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>cacheType</param-name>
+      <param-value>both</param-value>
+    </init-param>
+    <init-param>
+      <param-name>gzip</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>true</param-value>
+    </init-param>  
+    <!--
+    <init-param>
+      <param-name>cacheControl</param-name>
+      <param-value>max-age=3600,public</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet> 
+
+  <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
+  
+
+  <!-- ==================================================================== -->
+  <!-- JSP Servlet                                                          -->
+  <!-- This is the jasper JSP servlet from the jakarta project              -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
+  <!-- used by Glassfish to support JSP pages.  Traditionally, this servlet -->
+  <!-- is mapped to URL patterh "*.jsp".  This servlet supports the         -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   checkInterval       If development is false and reloading is true, -->
+  <!--                       background compiles are enabled. checkInterval -->
+  <!--                       is the time in seconds between checks to see   -->
+  <!--                       if a JSP page needs to be recompiled. [300]    -->
+  <!--                                                                      -->
+  <!--   compiler            Which compiler Ant should use to compile JSP   -->
+  <!--                       pages.  See the Ant documenation for more      -->
+  <!--                       information. [javac]                           -->
+  <!--                                                                      -->
+  <!--   classdebuginfo      Should the class file be compiled with         -->
+  <!--                       debugging information?  [true]                 -->
+  <!--                                                                      -->
+  <!--   classpath           What class path should I use while compiling   -->
+  <!--                       generated servlets?  [Created dynamically      -->
+  <!--                       based on the current web application]          -->
+  <!--                       Set to ? to make the container explicitly set  -->
+  <!--                       this parameter.                                -->
+  <!--                                                                      -->
+  <!--   development         Is Jasper used in development mode (will check -->
+  <!--                       for JSP modification on every access)?  [true] -->
+  <!--                                                                      -->
+  <!--   enablePooling       Determines whether tag handler pooling is      -->
+  <!--                       enabled  [true]                                -->
+  <!--                                                                      -->
+  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
+  <!--                       a separate JVM is used for JSP page compiles   -->
+  <!--                       from the one Tomcat is running in. [true]      -->
+  <!--                                                                      -->
+  <!--   ieClassId           The class-id value to be sent to Internet      -->
+  <!--                       Explorer when using <jsp:plugin> tags.         -->
+  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
+  <!--                                                                      -->
+  <!--   javaEncoding        Java file encoding to use for generating java  -->
+  <!--                       source files. [UTF-8]                          -->
+  <!--                                                                      -->
+  <!--   keepgenerated       Should we keep the generated Java source code  -->
+  <!--                       for each page instead of deleting it? [true]   -->
+  <!--                                                                      -->
+  <!--   logVerbosityLevel   The level of detailed messages to be produced  -->
+  <!--                       by this servlet.  Increasing levels cause the  -->
+  <!--                       generation of more messages.  Valid values are -->
+  <!--                       FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
+  <!--                       [WARNING]                                      -->
+  <!--                                                                      -->
+  <!--   mappedfile          Should we generate static content with one     -->
+  <!--                       print statement per input line, to ease        -->
+  <!--                       debugging?  [false]                            -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+  <!--   reloading           Should Jasper check for modified JSPs?  [true] -->
+  <!--                                                                      -->
+  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
+  <!--                       debugging be suppressed?  [false]              -->
+  <!--                                                                      -->
+  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
+  <!--                       dumped to a file? [false]                      -->
+  <!--                       False if suppressSmap is true                  -->
+  <!--                                                                      -->
+  <!--   scratchdir          What scratch directory should we use when      -->
+  <!--                       compiling JSP pages?  [default work directory  -->
+  <!--                       for the current web application]               -->
+  <!--                                                                      -->
+  <!--   tagpoolMaxSize      The maximum tag handler pool size  [5]         -->
+  <!--                                                                      -->
+  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
+  <!--                       header is added by generated servlet  [false]  -->
+  <!--                                                                      -->
+  <!-- If you wish to use Jikes to compile JSP pages:                       -->
+  <!--   Set the init parameter "compiler" to "jikes".  Define              -->
+  <!--   the property "-Dbuild.compiler.emacs=true" when starting Jetty     -->
+  <!--   to cause Jikes to emit error messages in a format compatible with  -->
+  <!--   Jasper.                                                            -->
+  <!--   If you get an error reporting that jikes can't use UTF-8 encoding, -->
+  <!--   try setting the init parameter "javaEncoding" to "ISO-8859-1".     -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet id="jsp">
+    <servlet-name>jsp</servlet-name>
+    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <init-param>
+        <param-name>logVerbosityLevel</param-name>
+        <param-value>DEBUG</param-value>
+    </init-param>
+    <init-param>
+        <param-name>fork</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <init-param>
+        <param-name>xpoweredBy</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <!--  
+    <init-param>
+        <param-name>classpath</param-name>
+        <param-value>?</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping> 
+    <servlet-name>jsp</servlet-name> 
+    <url-pattern>*.jsp</url-pattern> 
+    <url-pattern>*.jspf</url-pattern>
+    <url-pattern>*.jspx</url-pattern>
+    <url-pattern>*.xsp</url-pattern>
+    <url-pattern>*.JSP</url-pattern> 
+    <url-pattern>*.JSPF</url-pattern>
+    <url-pattern>*.JSPX</url-pattern>
+    <url-pattern>*.XSP</url-pattern>
+  </servlet-mapping>
+  
+  <!-- ==================================================================== -->
+  <!-- Dynamic Servlet Invoker.                                             -->
+  <!-- This servlet invokes anonymous servlets that have not been defined   -->
+  <!-- in the web.xml or by other means. The first element of the pathInfo  -->
+  <!-- of a request passed to the envoker is treated as a servlet name for  -->
+  <!-- an existing servlet, or as a class name of a new servlet.            -->
+  <!-- This servlet is normally mapped to /servlet/*                        -->
+  <!-- This servlet support the following initParams:                       -->
+  <!--                                                                      -->
+  <!--  nonContextServlets       If false, the invoker can only load        -->
+  <!--                           servlets from the contexts classloader.    -->
+  <!--                           This is false by default and setting this  -->
+  <!--                           to true may have security implications.    -->
+  <!--                                                                      -->
+  <!--  verbose                  If true, log dynamic loads                 -->
+  <!--                                                                      -->
+  <!--  *                        All other parameters are copied to the     -->
+  <!--                           each dynamic servlet as init parameters    -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- Uncomment for dynamic invocation
+  <servlet>
+    <servlet-name>invoker</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.Invoker</servlet-class>
+    <init-param>
+      <param-name>verbose</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>nonContextServlets</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dynamicParam</param-name>
+      <param-value>anyValue</param-value>
+    </init-param>
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
+  -->
+
+
+
+  <!-- ==================================================================== -->
+  <session-config>
+    <session-timeout>30</session-timeout>
+  </session-config>
+
+  <!-- ==================================================================== -->
+  <!-- Default MIME mappings                                                -->
+  <!-- The default MIME mappings are provided by the mime.properties        -->
+  <!-- resource in the org.eclipse.jetty.server.jar file.  Additional or modified  -->
+  <!-- mappings may be specified here                                       -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- UNCOMMENT TO ACTIVATE
+  <mime-mapping>
+    <extension>mysuffix</extension>
+    <mime-type>mymime/type</mime-type>
+  </mime-mapping>
+  -->
+
+  <!-- ==================================================================== -->
+  <welcome-file-list>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+
+  <!-- ==================================================================== -->
+  <locale-encoding-mapping-list>
+    <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>     
+    <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>   
+  </locale-encoding-mapping-list>
+  
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Disable TRACE</web-resource-name>
+      <url-pattern>/</url-pattern>
+      <http-method>TRACE</http-method>
+    </web-resource-collection>
+    <auth-constraint/>
+  </security-constraint>
+  
+</web-app>
+
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/lib/ext/README b/jetty-features/org.eclipse.jetty.product/jettyhome/lib/ext/README
new file mode 100644
index 0000000..921d5f4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/lib/ext/README
@@ -0,0 +1,2 @@
+Place here the jars that are inserted in the jetty classloader.
+As similar as possible as what this folder was for in the classical jetty installation.
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.product/jettyhome/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.product/jettyhome/license.html
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/logs/README b/jetty-features/org.eclipse.jetty.product/jettyhome/logs/README
new file mode 100644
index 0000000..ef50374
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/logs/README
@@ -0,0 +1,3 @@
+This folder contains the logs by default during development time.
+In production or outside the eclipse PDE, it is likely that a different jetty.home
+was set or jetty.log so it won't be here.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/notice.html b/jetty-features/org.eclipse.jetty.product/jettyhome/notice.html
new file mode 100644
index 0000000..dc5aefd
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/notice.html
@@ -0,0 +1,162 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head>
+
+
+
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<title>Eclipse Foundation Software User Agreement</title>
+</head><body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>February 1, 2011</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY "CONTENT").  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
+   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
+   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
+   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
+   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>Unless otherwise indicated, all Content made available by the Eclipse
+ Foundation is provided to you under the terms and conditions of the 
+Eclipse Public License Version 1.0
+   ("EPL").  A copy of the EPL is provided with this Content and is also
+ available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, "Program" will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, 
+documentation and other files maintained in the Eclipse Foundation 
+source code
+   repository ("Repository") in software modules ("Modules") and made 
+available as downloadable archives ("Downloads").</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to 
+facilitate delivering, extending, and upgrading the Content.  Typical 
+modules may include plug-ins ("Plug-ins"), plug-in fragments 
+("Fragments"), and features ("Features").</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&#8482; ARchive) in a directory named "plugins".</li>
+       <li>A Feature is a bundle of one or more Plug-ins and/or 
+Fragments and associated material.  Each Feature may be packaged as a 
+sub-directory in a directory named "features".  Within a Feature, files 
+named "feature.xml" may contain a list of the names and version numbers 
+of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features ("Included 
+Features"). Within a Feature, files named "feature.xml" may contain a 
+list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be 
+contained in files named "about.html" ("Abouts"). The terms and 
+conditions governing Features and
+Included Features should be contained in files named "license.html" 
+("Feature Licenses").  Abouts and Feature Licenses may be located in any
+ directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named "src" of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>Note: if a Feature made available by the Eclipse Foundation is 
+installed using the Provisioning Technology (as defined below), you must
+ agree to a license ("Feature Update License") during the
+installation process.  If the Feature contains Included Features, the 
+Feature Update License should either provide you with the terms and 
+conditions governing the Included Features or
+inform you where you can locate them.  Feature Update Licenses may be 
+found in the "license" property of files named "feature.properties" 
+found within a Feature.
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the 
+terms and conditions (or references to such terms and conditions) that 
+govern your use of the associated Content in
+that directory.</p>
+
+<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER 
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.
+  SOME OF THESE
+OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND 
+CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, 
+or Feature Update License is provided, please
+contact the Eclipse Foundation to determine what terms and conditions 
+govern that particular Content.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, 
+examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager ("Provisioning Technology") for the purpose of 
+allowing users to install software, documentation, information and/or
+   other materials (collectively "Installable Software"). This 
+capability is provided with the intent of allowing such users to
+   install, extend and update Eclipse-based products. Information about 
+packaging Installable Software is available at <a href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   ("Specification").</p>
+
+<p>You may use Provisioning Technology to allow other parties to install
+ Installable Software. You shall be responsible for enabling the
+   applicable license agreements relating to the Installable Software to
+ be presented to, and accepted by, the users of the Provisioning 
+Technology
+   in accordance with the Specification. By using Provisioning 
+Technology in such a manner and making it available in accordance with 
+the
+   Specification, you further acknowledge your agreement to, and the 
+acquisition of all necessary rights to permit the following:</p>
+
+<ol>
+       <li>A series of actions may occur ("Provisioning Process") in 
+which a user may execute the Provisioning Technology
+       on a machine ("Target Machine") with the intent of installing, 
+extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>During the Provisioning Process, the Provisioning Technology 
+may cause third party Installable Software or a portion thereof to be
+       accessed and copied to the Target Machine.</li>
+       <li>Pursuant to the Specification, you will provide to the user 
+the terms and conditions that govern the use of the Installable
+       Software ("Installable Software Agreement") and such Installable 
+Software Agreement shall be accessed from the Target
+       Machine in accordance with the Specification. Such Installable 
+Software Agreement must inform the user of the terms and conditions that
+ govern
+       the Installable Software and must solicit acceptance by the end 
+user in the manner prescribed in such Installable Software Agreement. 
+Upon such
+       indication of agreement by the user, the provisioning Technology 
+will complete installation of the Installable Software.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>Content may contain encryption software. The country in which you are
+ currently may have restrictions on the import, possession, and use, 
+and/or re-export to
+   another country, of encryption software. BEFORE using any encryption 
+software, please check the country's laws, regulations and policies 
+concerning the import,
+   possession, or use, and re-export of encryption software, to see if 
+this is permitted.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body></html>
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/start.bat b/jetty-features/org.eclipse.jetty.product/jettyhome/start.bat
new file mode 100644
index 0000000..d70586d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/start.bat
@@ -0,0 +1,121 @@
+@ echo off 
+:: ========================================================================
+:: Copyright (c) 2006-2010 Intalio Inc
+:: ------------------------------------------------------------------------
+:: All rights reserved. This program and the accompanying materials
+:: are made available under the terms of the Eclipse Public License v1.0
+:: and Apache License v2.0 which accompanies this distribution.
+:: The Eclipse Public License is available at 
+:: http://www.eclipse.org/legal/epl-v10.html
+:: The Apache License v2.0 is available at
+:: http://www.opensource.org/licenses/apache2.0.php
+:: You may elect to redistribute this code under either of these licenses. 
+:: ========================================================================
+:: Author hmalphettes
+:: This scripts generates a command-line to launch equinox.
+:: It uses the arguments defined in the *.ini file
+
+setlocal enabledelayedexpansion
+
+:: Locate the folder of the bat file.
+:: Use the short path so we don't have issues with spaces.
+set ECLIPSEHOME=%~sdp0
+
+:: find the eclipse.ini file:
+for /F "tokens=* delims=" %%A in ('dir /b %ECLIPSEHOME%\*.ini') do set ECLIPSE_INI=%ECLIPSEHOME%\%%A
+
+:: the bat does not assume that we are in the installation folder
+:: but the jetty code does because jetty.home=. in the config.ini
+cd %ECLIPSEHOME%
+
+goto :assemble
+
+:findargvalue
+set argname=-%1
+set argfound=false
+set "argvalue="
+::echo arg: %argname%
+for /f "eol= tokens=* delims= usebackq" %%i in (%ECLIPSE_INI%) do (
+    if "!argfound!" == "true" (
+        set argvalue=%%i
+        goto :findargvalue_checkNotFlag
+    ) else (
+        if %argname%==%%i set argfound=true
+    )
+)
+goto :eof
+
+:findargvalue_checkNotFlag
+::some arguments are either flags or parameters( -console).
+::if the next line starts with a '-' then consider that a flag
+set first=%argvalue:~0,1%
+if %first%==- set "argvalue="
+goto :eof
+
+:findjavaopts
+set argname=-vmargs
+set argfound=false
+set "argvalue="
+for /f "eol= tokens=* delims= usebackq" %%i in (%ECLIPSE_INI%) do (
+    if "!argfound!" == "true" (
+        set "argvalue=!argvalue! %%i"
+    ) else (
+        if %argname%==%%i set argfound=true
+    )
+)
+goto :eof
+
+
+:assemble
+:: console
+call :findargvalue console
+set "console="
+if not "%argvalue%"=="" (
+    set "console= -console %argvalue%"
+) else (
+    if %argfound%==true  set "console= -console"
+)
+echo the console arG %console%
+
+:: startup:
+call :findargvalue startup
+set argvalue=%argValue:/=\%
+set startup=%ECLIPSEHOME%%argvalue%
+set install=%ECLIPSEHOME%
+
+:: application
+call :findargvalue application
+set "application="
+if not "%argvalue%"=="" (
+    set "application= -application %argvalue%"
+)
+
+:: logback config:
+set "logback=-Dlogback.configurationFile^=%ECLIPSEHOME%etc\logback.xml"
+
+::-launcher.XXMaxPermSize
+call :findargvalue -launcher.XXMaxPermSize
+set "XXMaxPermSize="
+if not "%argvalue%"=="" (
+    set XXMaxPermSize=" -XX:MaxPermSize^=%argvalue%"
+)
+
+::vmargs
+call :findjavaopts
+set "vmargs=%argvalue% "
+
+::JAVA_HOME if defined:
+set java=java
+if not "%JAVA_HOME%"=="" set java="%JAVA_HOME%\bin\java"
+
+:: print the cmd:
+REM Creating a Newline variable (the two blank lines are required!)
+set NLM=^
+
+
+set NL=^^^%NLM%%NLM%^%NLM%%NLM%
+
+:: start Eclipse w/ java
+set command=%java% -jar %startup% %vmargs% %logback% -install %install%%application%%console%%XXMaxPermSize% %*
+echo %NL%Launching Equinox with: %command%%NL%
+%command%
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/start.sh b/jetty-features/org.eclipse.jetty.product/jettyhome/start.sh
new file mode 100755
index 0000000..21e7716
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/start.sh
@@ -0,0 +1,163 @@
+#!/bin/bash
+# ========================================================================
+# Copyright (c) 2006-2010 Intalio Inc
+# ------------------------------------------------------------------------
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# and Apache License v2.0 which accompanies this distribution.
+# The Eclipse Public License is available at 
+# http://www.eclipse.org/legal/epl-v10.html
+# The Apache License v2.0 is available at
+# http://www.opensource.org/licenses/apache2.0.php
+# You may elect to redistribute this code under either of these licenses. 
+# ========================================================================
+# Author hmalphettes
+# This scripts generates a command-line to launch equinox.
+# It uses the arguments defined in the *.ini file
+
+# set path to eclipse folder. If local folder, use '.'; otherwise, use /path/to/eclipse/
+eclipsehome=`dirname $0`;
+cd $eclipsehome
+eclipsehome=`pwd`
+
+iniLookupFolder=$eclipsehome
+# get path to equinox jar inside $eclipsehome folder
+ini=$(find $eclipsehome -mindepth 1 -maxdepth 1 -name "*.ini" | sort | tail -1);
+if [ ! -f "$ini" ]; then
+  #maybe a mac
+  appFolder=$(find $eclipsehome -mindepth 1 -maxdepth 1 -type d -name "*.app" | sort | tail -1);
+  iniLookupFolder="$appFolder/Contents/MacOS"
+  if [ -d "$iniLookupFolder" ]; then
+    ini=$(find $iniLookupFolder -mindepth 1 -maxdepth 1 -type f -name "*.ini" | sort | tail -1);
+  fi
+fi
+if [ -f "$ini" ]; then
+  #skip the first 2 lines (--startup ...) and skip the -vmargs and everything that follows
+  #args=`awk 'NR == 4,/^-vmargs/{print x};{x=$0}' $ini`
+  #read the startup
+  startup=`sed -n '/^-startup/{n;p;}' $ini`
+  #consume the -startup line and its value which is the next line.
+  args=`sed '/^-startup/,+1d' $ini`
+  #remove the -vmargs and following lines.
+  args=`echo "$args" | sed -n '/^-vmargs/,$!p'`
+fi
+if [ ! -f "$startup" ]; then
+  #was returned as path relative to iniLookupFolder
+  if [ ! -f "$iniLookupFolder/$startup" ]; then
+    if [ -d "$eclipsehome/plugins" ]; then
+      startup=$(find "$eclipsehome/plugins" -name "org.eclipse.equinox.launcher_*.jar" | sort | tail -1);
+    fi
+    if [ ! -f "$startup" ]; then
+      echo "Can't locate the launcher jar $startup"
+      exit 2
+    fi
+  else
+    startup="$iniLookupFolder/$startup"
+  fi
+fi
+
+##VM arguments and system properties
+#PermGen
+XXMaxPermSize=`echo "$args" | sed -n '/--launcher\.XXMaxPermSize/{n;p;}'`
+if [ -n "$XXMaxPermSize" ]; then
+  XXMaxPermSize="-XX:MaxPermSize=$XXMaxPermSize"
+  #also remove those 2 lines from the args
+  args=`echo "$args" | sed '/--launcher\.XXMaxPermSize/,+1d'`
+fi
+#vmargs
+#VMARGS=`sed '1,/-vmargs/d' $ini | tr '\n' ' '`$XXMaxPermSize
+VMARGS=`sed '1,/-vmargs/d' $ini`
+
+if [ -z "$JAVA_OPTS" ]; then
+  JAVA_OPTS=`echo "$VMARGS" | tr '\n' ' '`$XXMaxPermSize
+  if [ -z "$JAVA_OPTS" ]; then
+    JAVA_OPTS="-XX:MaxPermSize=384m -Xms96m -Xmx784m -XX:+HeapDumpOnOutOfMemoryError"
+  fi
+elif [ -n "$VMARGS" ]; then
+  #need to merge the JAVA_OPTS and the vmargs defined in the ini file.
+  #we don't pretend to do this perfectly. we just do it well enough for the most common options
+  #the JAVA_OPTS have precedence over the vmargs
+  VMARGS_UPDATED=""
+  JAVA_OPTS=" $JAVA_OPTS "
+  
+  #for each line of the vmargs, see if there is a corresponding one in JAVA_OPTS.
+  #if so remove it.
+  for tok in $VMARGS; do
+    #see if it is a parameter with a value: key=value
+    if [ $(echo "$tok" | grep -c -F -e "=") -ne 0 ]; then
+      key=`echo "$tok" | cut -d'=' -f1`"="
+      #ok now look for this key in the JAVA_OPTS; if defined, then remove this line.
+      if [ $(echo "$JAVA_OPTS" | grep -c -F -e " $key") -ne 0 ]; then
+        echo "warn: JAVA_OPTS overrides $key defined in $ini"
+      else
+        VMARGS_UPDATED="$VMARGS_UPDATED $tok"
+      fi
+    elif [ $(echo " $tok" | grep -c -F -e " -Xms") -ne 0 ]; then #keep the space in " $tok"
+      if [ $(echo "$JAVA_OPTS" | grep -c -F -e ' -Xms') -ne 0 ]; then
+        echo "warn: JAVA_OPTS overrides -Xms defined in $ini"
+      else
+        VMARGS_UPDATED="$VMARGS_UPDATED $tok"
+      fi
+    elif [ $(echo " $tok" | grep -c -F -e " -Xmx") -ne 0 ]; then #keep the space in " $tok"
+      if [ $(echo "$JAVA_OPTS" | grep -c -F -e " -Xmx") -ne 0 ]; then
+        echo "warn: JAVA_OPTS overrides -Xmx defined in $ini"
+      else
+        VMARGS_UPDATED="$VMARGS_UPDATED $tok"
+      fi
+    else
+      #consider this is a flag and look for the same flag in the JAVA_OPTS
+      if [ $(echo "$JAVA_OPTS" | grep -c -F -e " $tok") -ne 0 ]; then
+        echo "warn: JAVA_OPTS and $ini both define $tok"
+      else
+        VMARGS_UPDATED="$VMARGS_UPDATED $tok"
+      fi
+    fi
+  done
+  if [ -n "$XXMaxPermSize" -a $(echo "$JAVA_OPTS" | grep -c -F -e " -XX:MaxPermSize=") -ne 0 ]; then
+    echo "warn: JAVA_OPTS overrides -XX:MaxPermSize= defined in $ini"
+  else
+    VMARGS_UPDATED="$VMARGS_UPDATED $XXMaxPermSize"
+  fi
+  JAVA_OPTS="$JAVA_OPTS $VMARGS_UPDATED"
+  #echo "JAVA_OPTS MERGED $JAVA_OPTS"
+fi
+
+#use -install unless it was already specified in the ini file:
+installArg=$(echo "$args" | sed '/^-install/!d')
+if [ -n "$installArg" ]; then
+    #installArg=`echo "$args" | sed -n '/-install/{n;p;}'`
+    #leave the install as defined
+    installArg=""
+else
+    installArg=" -install $eclipsehome"
+fi
+
+#use -configuration unless it was already specified in the ini file:
+configurationArg=
+if echo $* | grep -Eq ' -configuration'
+then
+    configurationArg=""
+else
+    tmp_config_area=`mktemp -d /tmp/cloudConfigArea.XXXXXX`
+    configurationArg=" -configuration $tmp_config_area"
+fi
+
+#Read the console argument. It could be a flag.
+#console=`awk '{if ($1 ~ /-console/){print $1}}' < $ini | head -1`
+console=`echo "$args" | sed '/^-console/!d'`
+if [ -n "$console" ]; then
+  consoleArg=`echo "$args" | sed -n '/^-console/{n;p;}'`
+  first=`echo "$consoleArg" | cut -c1-1`
+  args=`echo "$args" | sed '/-console/,+1d'`
+  if [ "$first" = "-" ]; then
+    console=" -console"
+  else
+    console=" -console $consoleArg"
+  fi
+fi
+
+args=`echo "$args" | tr '\n' ' '`
+
+cmd="java $JAVA_OPTS -jar $startup $args$installArg$configurationArg$console $*"
+echo "Staring Equinox with $cmd"
+$cmd
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/jettyhome/webapps/README b/jetty-features/org.eclipse.jetty.product/jettyhome/webapps/README
new file mode 100644
index 0000000..08a57ed
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/jettyhome/webapps/README
@@ -0,0 +1,2 @@
+Default locations for standard web-applications.
+Those applications are unlikely to have access to the OSGi framework currently.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.product/org.eclipse.jetty.starterkit.build.properties b/jetty-features/org.eclipse.jetty.product/org.eclipse.jetty.starterkit.build.properties
new file mode 100644
index 0000000..226f563
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/org.eclipse.jetty.starterkit.build.properties
@@ -0,0 +1,4 @@
+#http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.pde.doc.user/tasks/pde_rootfiles.htm
+#The name of the file matches the id of the feature it is grouped with: org.eclipse.jetty.starterkit
+root=jettyhome
+root.permissions.755=start.sh
diff --git a/jetty-features/org.eclipse.jetty.product/plugin_customization.ini b/jetty-features/org.eclipse.jetty.product/plugin_customization.ini
new file mode 100644
index 0000000..c29378b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/plugin_customization.ini
@@ -0,0 +1 @@
+#org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = true
diff --git a/jetty-features/org.eclipse.jetty.product/pom.xml b/jetty-features/org.eclipse.jetty.product/pom.xml
new file mode 100644
index 0000000..5ee61c7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/pom.xml
@@ -0,0 +1,306 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+// ========================================================================
+// Copyright (c) 2009 Intalio, Inc.
+// 
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// and Apache License v2.0 which accompanies this distribution.
+// The Eclipse Public License is available at 
+// http://www.eclipse.org/legal/epl-v10.html
+// The Apache License v2.0 is available at
+// http://www.opensource.org/licenses/apache2.0.php
+// You may elect to redistribute this code under either of these licenses. 
+// Contributors:
+//    Hugues Malphettes - initial API and implementation
+// ========================================================================
+-->
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
+  </parent>
+  <artifactId>org.eclipse.jetty.product</artifactId>
+  <packaging>eclipse-repository</packaging>
+  <description>Prototype: Eclipse Product for Jetty-Equinox, P2 able</description>
+	<properties>
+	    <tycho.updatesite.with.jre>true</tycho.updatesite.with.jre>
+	    <tycho.publisher.with.statsUri>http://download.eclipse.org/stats</tycho.publisher.with.statsUri> <tycho.publisher.with.statsTrackedBundleIDs>org.eclipse.jetty.sdk,org.eclipse.jetty.starterkit.sdk,org.eclipse.jetty.starterkit,org.eclipse.jetty.tooling,org.eclipse.pde.junit4.runtime.addon,org.eclipse.pde.junit4.runtime.standalone</tycho.publisher.with.statsTrackedBundleIDs>
+	</properties>
+  <build>
+    <extensions>
+	    <extension>
+		    <groupId>org.apache.maven.wagon</groupId>
+		    <artifactId>wagon-ssh-external</artifactId>
+		    <version>1.0-beta-6</version>
+	    </extension>
+    </extensions>
+  </build>
+	<profiles>
+    <profile>
+     <id>packAndSign</id>
+      <activation>
+        <property>
+          <name>pack-and-sign</name>
+          <value>true</value>
+        </property>
+      </activation>
+      <build>
+       <plugins>
+         <plugin>
+            <artifactId>maven-antrun-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>zip-repository</id>
+                <phase>generate-test-sources</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <zip destfile="${project.build.directory}/repository.zip" basedir="${project.build.directory}/repository/"/>
+                  </tasks>
+                </configuration>
+              </execution>
+              <execution>
+                 <id>replace-unsigned-repository-by-signed-one</id>
+                 <phase>prepare-package</phase>
+                 <goals>
+                   <goal>run</goal>
+                 </goals>
+                 <configuration>
+                   <tasks>
+                     <move file="${project.build.directory}/repository" tofile="${project.build.directory}/repository-not-signed"/>
+                     <move file="${project.build.directory}/checksumFix" tofile="${project.build.directory}/repository"/>
+                   </tasks>
+                 </configuration>
+              </execution>
+              <!-- Somehow this never worked. Replaced by a shell script executed at the end of the build. -->
+              <!--execution>
+                <id>deploy</id>
+                <phase>verify</phase>
+                <goals>
+                  <goal>run</goal>
+                </goals>
+                <configuration>
+                  <tasks>
+                    <delete includeemptydirs="false">
+                      <fileset
+                        dir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}">
+                        <include name="**" />
+                      </fileset>
+                    </delete>
+                    <mkdir dir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}"/>
+                    <copy includeemptydirs="false"
+                      todir="/home/data/httpd/download.eclipse.org/jetty/updates/${p2-install-parent-folder-name}/${p2-install-folder-name}">
+                      <fileset dir="target/repository">
+                        <include name="**" />
+                      </fileset>
+                    </copy>
+                  </tasks>
+                </configuration>
+              </execution-->
+           </executions>
+         </plugin>
+         <plugin>
+           <groupId>org.eclipse.dash.maven</groupId>
+           <artifactId>eclipse-maven-signing-plugin</artifactId>
+           <version>${signing-plugin-version}</version>
+           <executions>
+             <execution>
+               <id>pack</id>
+               <configuration>
+                 <inputFile>${project.build.directory}/repository.zip</inputFile>
+               </configuration>
+               <phase>generate-test-resources</phase>
+               <goals>
+                 <goal>pack</goal>
+               </goals>
+             </execution>
+             <execution>
+               <id>sign</id>
+               <configuration>
+                 <inputFile>${project.build.directory}/packed/repository.zip</inputFile>
+                 <signerInputDirectory>/home/data/httpd/download-staging.priv/rt/jetty/wksigning</signerInputDirectory>
+               </configuration>
+               <phase>generate-test-resources</phase>
+               <goals>
+                 <goal>sign</goal>
+               </goals>
+             </execution>
+             <execution>
+               <id>repack</id>
+               <configuration>
+                 <inputFile>${project.build.directory}/signed/site_assembly.zip</inputFile>
+               </configuration>
+               <phase>generate-test-resources</phase>
+               <goals>
+                 <goal>pack</goal>
+               </goals>
+             </execution>
+						<!-- signing and pack alters tycho checksums so fix them -->
+             <execution>
+               <id>fixCheckSums</id>
+               <configuration>
+                 <inputFile>${project.build.directory}/packed/site_assembly.zip</inputFile>
+               </configuration>
+               <phase>generate-test-resources</phase>
+               <goals>
+                 <goal>fixCheckSums</goal>
+               </goals>
+             </execution>
+           </executions>
+         </plugin>
+        </plugins>
+       </build>
+     </profile>
+		<profile>
+			<id>packAndSignRemote</id>
+			<build>
+				<plugins>
+					<plugin>
+					      <groupId>org.sonatype.tycho</groupId>
+					      <artifactId>tycho-p2-publisher-director</artifactId>
+					      <version>${tycho-version}</version>
+					      <configuration>
+						<compress>true</compress>
+						<pack200>true</pack200>
+						<recreateRepository>true</recreateRepository>
+						<signedAndRepackedTargetRepository>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</signedAndRepackedTargetRepository>
+	<statsURI>http://download.eclipse.org/stats/helios/</statsURI>
+	<statsTrackedArtifacts>org.eclipse.jetty.server,org.eclipse.jetty.osgi.pde.templates,org.eclipse.pde.junit.runtime.standalone,org.eclipse.pde.junit.runtime.addon</statsTrackedArtifacts>
+	<packExclude>plugins/org.sat4j.core_*.jar,plugins/org.sat4j.pb_*.jar,plugins/org.eclipse.jdt.core.compiler.batch*.jar</packExclude>
+					      </configuration>
+					</plugin>
+					<plugin>
+						<groupId>org.mortbay.jetty.toolchain</groupId>
+						<artifactId>eclipse-signing-maven-plugin</artifactId>
+						<version>1.0-SNAPSHOT</version>
+						<executions>
+						<!--  example of executing locally for pack >
+							<execution>
+								<id>pack</id>
+								<configuration>
+								    <execute>remote</execute>
+									<wagonProtocol>scpexe://</wagonProtocol>
+									<wagonHost>build.eclipse.org</wagonHost>
+									<wagonPath>/home/data/users/jmcconnell</wagonPath>
+									<serverId>jetty.eclipse.website</serverId>
+									<inputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</inputFile>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>pack</goal>
+								</goals>
+							</execution-->
+							<execution>
+								<id>pack</id>
+								<configuration>
+								    <execute>local</execute>
+        <!-- we don't need the wagon* but it keeps complaining -->
+        <serverId>jetty.eclipse.website</serverId>
+        <wagonProtocol>scpexe://</wagonProtocol>
+        <wagonHost>build.eclipse.org</wagonHost>
+        <wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
+								    <pack200>${pathToPack200ParentFolder}</pack200>
+								    <inputFile>${project.build.directory}/repository</inputFile>
+	<packExclude>plugins/org.sat4j.core_*.jar,plugins/org.sat4j.pb_*.jar,plugins/org.eclipse.jdt.core.compiler.batch*.jar</packExclude>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>pack</goal>
+								</goals>
+							</execution>
+							
+						<!-- the sign remote -->
+							<execution>
+								<id>sign</id>
+								<configuration>
+									<execute>remote</execute>
+									<wagonProtocol>scpexe://</wagonProtocol>
+									<wagonHost>build.eclipse.org</wagonHost>
+									<wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
+									<serverId>jetty.eclipse.website</serverId>
+									<inputFile>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</inputFile>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>sign</goal>
+								</goals>
+							</execution>
+						<!-- example of remote pack >
+							<execution>
+								<id>repack</id>
+								<configuration>
+									<execute>remote</execute>
+									<wagonProtocol>scpexe://</wagonProtocol>
+									<wagonHost>build.eclipse.org</wagonHost>
+									<wagonPath>/home/data/users/jmcconnell</wagonPath>
+									<serverId>jetty.eclipse.website</serverId>
+									<inputFile>${project.build.directory}/signed/${project.artifactId}-${project.version}.zip</inputFile>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>pack</goal>
+								</goals>
+							</execution-->
+							<execution>
+								<id>repack</id>
+								<configuration>
+									<execute>local</execute>
+        <!-- we don't need the wagon* but it keeps complaining -->
+        <serverId>jetty.eclipse.website</serverId>
+        <wagonProtocol>scpexe://</wagonProtocol>
+        <wagonHost>build.eclipse.org</wagonHost>
+        <wagonPath>/home/data/httpd/download-staging.priv/rt/jetty</wagonPath>
+									<pack200>${pathToPack200ParentFolder}</pack200>
+									<inputFile>${project.build.directory}/signed/${project.artifactId}-${project.version}.zip</inputFile>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>pack</goal>
+								</goals>
+							</execution>
+						<!-- signing and pack alters tycho checksums so fix them -->
+						<!-- now taken care of by the RecreateRepositoryApplication at the beginning of the package phase -->
+						<!--	<execution>
+								<id>fixCheckSums</id>
+								<configuration>
+									<inputFile>${project.build.directory}/packed/${project.artifactId}-${project.version}.zip</inputFile>
+									<outputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</outputFile>
+									<artifactsXml>${project.build.directory}/checksumFix/${project.artifactId}-${project.version}/repository/artifacts.xml</artifactsXml>
+								</configuration>
+								<phase>prepare-package</phase>
+								<goals>
+									<goal>fixCheckSums</goal>
+								</goals>
+							</execution>
+						-->
+						<!-- promote the release somewhere -->
+							<execution>
+								<id>promoteSite</id>
+								<configuration>
+									<wagonProtocol>scpexe://</wagonProtocol>
+									<wagonHost>build.eclipse.org</wagonHost>
+									<!--wagonPath>/home/www/jetty/nightly</wagonPath-->
+                                    <wagonPath>/home/data/httpd/download.eclipse.org/jetty</wagonPath>
+                                    <wagonHost>build.eclipse.org</wagonHost>
+									<serverId>jetty.eclipse.website</serverId>
+									<inputFile>${project.build.directory}/${project.artifactId}-${project.version}.zip</inputFile>
+									<promotionDirectory>T${project.version}</promotionDirectory>
+								</configuration>
+								<phase>verify</phase>
+								<goals>
+									<goal>promote</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+</project>
diff --git a/jetty-features/org.eclipse.jetty.product/rt-osgi/EclipseRTOSGiStarterKit.product b/jetty-features/org.eclipse.jetty.product/rt-osgi/EclipseRTOSGiStarterKit.product
new file mode 100644
index 0000000..6a9c012
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt-osgi/EclipseRTOSGiStarterKit.product
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="EclipseRT OSGi Starter Kit" uid="org.eclipse.rt.osgistarterkit" version="3.6.1.qualifier" useFeatures="true" includeLaunchers="true">
+
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-console</programArgs>
+      <vmArgs>-Declipse.ignoreApp=true
+-Dosgi.noShutdown=true</vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+   </launcherArgs>
+
+   <windowImages/>
+
+   <launcher name="rt">
+      <macosx icon="/org.eclipse.jetty.product/rt.icns"/>
+      <solaris/>
+      <win useIco="true">
+         <ico path="/org.eclipse.jetty.product/rt.ico"/>
+         <bmp/>
+      </win>
+   </launcher>
+
+
+   <vm>
+   </vm>
+
+   <plugins>
+   </plugins>
+
+   <features>
+      <feature id="org.eclipse.jetty.p2.extras"/>
+      <feature id="org.eclipse.equinox.server.core"/>
+      <feature id="org.eclipse.equinox.server.p2"/>
+   </features>
+
+   <configurations>
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.console" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator" autoStart="true" startLevel="3" />
+   </configurations>
+
+</product>
diff --git a/jetty-features/org.eclipse.jetty.product/rt-osgi/p2.inf b/jetty-features/org.eclipse.jetty.product/rt-osgi/p2.inf
new file mode 100644
index 0000000..8818fac
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt-osgi/p2.inf
@@ -0,0 +1,17 @@
+instructions.configure=
+requires.1.namespace=org.eclipse.equinox.p2.iu
+requires.1.name=toolingorg.eclipse.rt.osgistarterkit.macosx
+requires.1.filter=(osgi.os=macosx)
+requires.1.range=[1.0.0,1.0.0]
+requires.1.greedy=true
+
+units.1.id=toolingorg.eclipse.rt.osgistarterkit.macosx
+units.1.version=1.0.0
+units.1.provides.1.namespace=org.eclipse.equinox.p2.iu
+units.1.provides.1.name=toolingorg.eclipse.rt.osgistarterkit.macosx
+units.1.provides.1.version=1.0.0
+units.1.filter=(osgi.os=macosx)
+units.1.touchpoint.id=org.eclipse.equinox.p2.osgi
+units.1.touchpoint.version=1.0.0
+units.1.instructions.configure=ln(linkTarget:rt.app/Contents/MacOS/rt,targetDir:${installFolder},linkName:rt);
+
diff --git a/jetty-features/org.eclipse.jetty.product/rt-web/EclipseRTWebStarterKit.product b/jetty-features/org.eclipse.jetty.product/rt-web/EclipseRTWebStarterKit.product
new file mode 100644
index 0000000..b575449
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt-web/EclipseRTWebStarterKit.product
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="EclipseRT Web Starter Kit" uid="org.eclipse.rt.webstarterkit" version="3.6.1.qualifier" useFeatures="true" includeLaunchers="true">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-console</programArgs>
+      <vmArgs>-Declipse.ignoreApp=true
+-Dosgi.noShutdown=true</vmArgs>
+      <vmArgsMac>-Djetty.home=../../.. -Dlogback.configurationFile=../../../etc/logback.xml -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+   </launcherArgs>
+
+   <windowImages/>
+
+   <launcher name="rtweb">
+      <macosx icon="/org.eclipse.jetty.product/rt.icns"/>
+      <solaris/>
+      <win useIco="true">
+         <ico path="/org.eclipse.jetty.product/rt.ico"/>
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+   </vm>
+
+   <plugins>
+   </plugins>
+
+   <features>
+      <feature id="org.eclipse.equinox.server.core"/>
+      <feature id="org.eclipse.equinox.server.p2"/>
+      <feature id="org.eclipse.jetty.p2.extras"/>
+      <feature id="org.eclipse.jetty.starterkit"/>
+   </features>
+
+   <configurations>
+      <plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" />
+      <plugin id="org.eclipse.equinox.frameworkadmin.equinox" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.console" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="4" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" />
+      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.jetty.osgi.boot" autoStart="true" startLevel="3" />
+      <plugin id="org.eclipse.jetty.osgi.httpservice" autoStart="true" startLevel="4" />
+   </configurations>
+
+</product>
diff --git a/jetty-features/org.eclipse.jetty.product/rt-web/p2.inf b/jetty-features/org.eclipse.jetty.product/rt-web/p2.inf
new file mode 100644
index 0000000..0f4f476
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt-web/p2.inf
@@ -0,0 +1,17 @@
+instructions.configure=
+requires.1.namespace=org.eclipse.equinox.p2.iu
+requires.1.name=toolingorg.eclipse.rt.webstarterkit.macosx
+requires.1.filter=(osgi.os=macosx)
+requires.1.range=[1.0.0,1.0.0]
+requires.1.greedy=true
+
+units.1.id=toolingorg.eclipse.rt.webstarterkit.macosx
+units.1.version=1.0.0
+units.1.provides.1.namespace=org.eclipse.equinox.p2.iu
+units.1.provides.1.name=toolingorg.eclipse.rt.webstarterkit.macosx
+units.1.provides.1.version=1.0.0
+units.1.filter=(osgi.os=macosx)
+units.1.touchpoint.id=org.eclipse.equinox.p2.osgi
+units.1.touchpoint.version=1.0.0
+units.1.instructions.configure=ln(linkTarget:rt.app/Contents/MacOS/rtweb,targetDir:${installFolder},linkName:rtweb);
+
diff --git a/jetty-features/org.eclipse.jetty.product/rt.icns b/jetty-features/org.eclipse.jetty.product/rt.icns
new file mode 100644
index 0000000..f7c492d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt.icns
Binary files differ
diff --git a/jetty-features/org.eclipse.jetty.product/rt.ico b/jetty-features/org.eclipse.jetty.product/rt.ico
new file mode 100644
index 0000000..8ac4937
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.product/rt.ico
Binary files differ
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.sdk.support/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.sdk.support/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.sdk.support/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.sdk.support/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.sdk.support/feature.properties
similarity index 95%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.sdk.support/feature.properties
index 6f1ce3c..56dbca4 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.sdk.support/feature.properties
@@ -14,8 +14,11 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty SDK Support
+description=*** DO NOT INSTALL IN YOUR IDE ***\n\
+This feature is only for provisioning Target Platforms.\n\
+Bundles not present in other jetty features: org.eclipse.osgi and org.eclipse.osgi.services
+
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +38,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +107,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.sdk.support/feature.xml b/jetty-features/org.eclipse.jetty.sdk.support/feature.xml
new file mode 100644
index 0000000..ccf4705
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.sdk.support/feature.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.sdk.support"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <plugin
+         id="org.eclipse.osgi"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osgi.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osgi.services"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.osgi.services.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.osgi.util"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.osgi.util.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
\ No newline at end of file
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.sdk.support/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.sdk.support/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.sdk.support/pom.xml
similarity index 70%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.sdk.support/pom.xml
index ce04e7f..4d1ec73 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.sdk.support/pom.xml
@@ -18,10 +18,13 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.sdk.support</artifactId>
   <packaging>eclipse-feature</packaging>
+  <description>SDK support feature: the bundles not present in jetty features,
+  for now just org.eclipse.osgi and org.eclipse.osgi.services</description>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.sdk/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.sdk/build.properties
diff --git a/jetty-features/org.eclipse.jetty.sdk/config-all.launch b/jetty-features/org.eclipse.jetty.sdk/config-all.launch
new file mode 100644
index 0000000..1e00557
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.sdk/config-all.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/New_configuration"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.osgi.tldbundles=org.apache.myfaces.core.impl"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.xml@default:default,ch.qos.logback.core@default:default,org.eclipse.jetty.osgi.boot@default:default,org.eclipse.jetty.websocket@default:default,org.eclipse.osgi@-1:true,org.eclipse.jetty.osgi.boot.logback@default:false,org.eclipse.jetty.http@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.jetty.osgi.boot.warurl@default:default,org.eclipse.jetty.plus@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.osgi.services@default:default,javax.activation@default:default,slf4j.api@default:default,org.eclipse.jetty.ajp@default:default,org.eclipse.update.configurator@3:true,org.eclipse.jetty.jndi@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlets@default:default,org.eclipse.equinox.http.servlet@default:default,javax.servlet.jsp@default:default,org.eclipse.jetty.util@default:default,javax.el@default:default,javax.transaction@default:false,org.apache.taglibs.standard.glassfish@default:default,org.eclipse.jetty.deploy@default:default,com.sun.el@default:default,org.apache.jasper.glassfish@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.annotations@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.objectweb.asm@default:default,javax.servlet@default:default,org.eclipse.equinox.launcher@default:default,log4j.over.slf4j@default:default,org.eclipse.jetty.security@default:default,org.eclipse.equinox.common@2:true,ch.qos.logback.classic@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.eclipse.jetty.continuation@default:default,javax.faces.jsf-api@default:default,javax.faces.jsf-impl@default:default,javax.servlet.jsp.jstl@default:default,org.eclipse.jetty.jmx@default:default,jcl.over.slf4j@default:default,javax.mail.glassfish@default:default"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+<stringAttribute key="workspace_bundles" value="SunMojarraJsfExample@default:default"/>
+</launchConfiguration>
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.sdk/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.sdk/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.sdk/feature.properties
similarity index 95%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.sdk/feature.properties
index 6f1ce3c..93a4436 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.sdk/feature.properties
@@ -14,8 +14,10 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty Target Components
+description=This feature is meant to provision Target Platforms.\n\
+Jetty, the HTTP software component. Support for servlets, web applications, JSP-2.1 and more in a standalone target platform.
+
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +37,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +106,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.sdk/feature.xml b/jetty-features/org.eclipse.jetty.sdk/feature.xml
new file mode 100644
index 0000000..0db8c91
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.sdk/feature.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.sdk"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <includes id="org.eclipse.jetty.core" version="0.0.0"/>
+   <includes id="org.eclipse.jetty.all" version="0.0.0"/>
+   <includes id="javax.servlet.jsp.glassfish" version="0.0.0"/>
+   <includes id="org.eclipse.jetty.slf4jlogback" version="0.0.0"/>
+   <includes id="org.eclipse.jetty.sdk.support" version="0.0.0" optional="true"/>
+   
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.sdk/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.sdk/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.sdk/pom.xml
similarity index 76%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.sdk/pom.xml
index ce04e7f..2a877fb 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.sdk/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <!--relativePath>../../../jetty-osgi</relativePath-->
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.sdk</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.slf4jlogback.source/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.slf4jlogback.source/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.slf4jlogback.source/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.slf4jlogback.source/epl-v10.html
diff --git a/jetty.bundles.f/feature.properties b/jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.properties
similarity index 97%
copy from jetty.bundles.f/feature.properties
copy to jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.properties
index 992ff26..0ea94fe 100644
--- a/jetty.bundles.f/feature.properties
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Logging with SLF4J and Logback: source code
+description=Logging with SLF4J and Logback: source code
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.xml b/jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.xml
new file mode 100644
index 0000000..56e4c70
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback.source/feature.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.slf4jlogback.source"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <plugin
+         id="ch.qos.logback.classic.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="ch.qos.logback.core.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="ch.qos.logback.slf4j.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.api.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.ext.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.jcl.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.jul.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
+   <plugin
+         id="org.slf4j.log4j.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.slf4jlogback.source/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.slf4jlogback.source/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.slf4jlogback.source/pom.xml
similarity index 79%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.slf4jlogback.source/pom.xml
index ce04e7f..6006346 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback.source/pom.xml
@@ -18,10 +18,11 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.slf4jlogback.source</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.slf4jlogback/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.slf4jlogback/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.slf4jlogback/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.slf4jlogback/epl-v10.html
diff --git a/jetty.bundles.f/feature.properties b/jetty-features/org.eclipse.jetty.slf4jlogback/feature.properties
similarity index 97%
rename from jetty.bundles.f/feature.properties
rename to jetty-features/org.eclipse.jetty.slf4jlogback/feature.properties
index 992ff26..83d5647 100644
--- a/jetty.bundles.f/feature.properties
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Logging with SLF4J and Logback
+description=Logging with SLF4J and Logback
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.slf4jlogback/feature.xml b/jetty-features/org.eclipse.jetty.slf4jlogback/feature.xml
new file mode 100644
index 0000000..315d8d7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback/feature.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.slf4jlogback"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <plugin
+         id="ch.qos.logback.classic"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="ch.qos.logback.core"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="ch.qos.logback.slf4j"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.api"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.jcl"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.jul"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.slf4j.log4j"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.slf4jlogback/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.slf4jlogback/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.slf4jlogback/pom.xml
similarity index 79%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.slf4jlogback/pom.xml
index ce04e7f..a59e3f8 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.slf4jlogback/pom.xml
@@ -18,10 +18,11 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.slf4jlogback</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f/build.properties b/jetty-features/org.eclipse.jetty.starterkit/build.properties
similarity index 61%
rename from jetty.bundles.f/build.properties
rename to jetty-features/org.eclipse.jetty.starterkit/build.properties
index 2a45e7b..7aa40fc 100644
--- a/jetty.bundles.f/build.properties
+++ b/jetty-features/org.eclipse.jetty.starterkit/build.properties
@@ -8,3 +8,7 @@
                feature.properties,\
                feature.xml,\
                license.html
+root=jettyhome
+root.permissions.755=start.sh
+root.win32.win32.x86=file:executables/win32.win32.x86/eclipsec.exe
+root.win32.win32.x86_64=file:executables/win32.win32.x86_64/eclipsec.exe
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.starterkit/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.starterkit/epl-v10.html
diff --git a/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86/eclipsec.exe b/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86/eclipsec.exe
new file mode 100644
index 0000000..bb85c21
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86/eclipsec.exe
Binary files differ
diff --git a/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86_64/eclipsec.exe b/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86_64/eclipsec.exe
new file mode 100644
index 0000000..e2ab3ad
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/executables/win32.win32.x86_64/eclipsec.exe
Binary files differ
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.starterkit/feature.properties
similarity index 95%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.starterkit/feature.properties
index 6f1ce3c..32f435d 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.starterkit/feature.properties
@@ -14,8 +14,10 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty Starter Kit feature
+description=This feature is placed in the EclipseRT Jetty Starter Kit product.\n\
+Jetty, the HTTP software component. Support for servlets, web applications, JSP-2.1 and more in a standalone product.
+
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +37,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +106,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.starterkit/feature.xml b/jetty-features/org.eclipse.jetty.starterkit/feature.xml
new file mode 100644
index 0000000..2538025
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/feature.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.jetty.starterkit"
+      label="%featureName"
+      version="7.4.5.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+   
+   <includes id="org.eclipse.jetty.core" version="0.0.0"/>
+   <includes id="org.eclipse.jetty.all" version="0.0.0"/>
+   <includes id="javax.servlet.jsp.glassfish" version="0.0.0"/>
+   <includes id="org.eclipse.jetty.slf4jlogback" version="0.0.0"/>
+   
+</feature>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/EclipseRTWebStarterKit.target b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/EclipseRTWebStarterKit.target
new file mode 100644
index 0000000..f02a5e2
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/EclipseRTWebStarterKit.target
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?pde version="3.6"?>
+
+<target name="EclipseRT Jetty StarterKit">
+<locations>
+<location path="${workspace_loc:EclipseRTWebStarterKit}" type="Profile"/>
+</locations>
+</target>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/Start EclipseRT Web Starter Kit.launch b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/Start EclipseRT Web Starter Kit.launch
new file mode 100644
index 0000000..6df6e24
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/Start EclipseRT Web Starter Kit.launch
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.EquinoxLauncher">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="true"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/EclipseRT Web"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="default_auto_start" value="true"/>
+<intAttribute key="default_start_level" value="4"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true -Djetty.home=${workspace_loc:EclipseRTWebStarterKit} -Dlogback.configurationFile=${workspace_loc:EclipseRTWebStarterKit}/etc/logback.xml"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<stringAttribute key="target_bundles" value="org.eclipse.ecf.ssl@default:false,javax.servlet.jsp.jstl@default:default,org.eclipse.jetty.servlet@default:default,javax.servlet.jsp@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.ecf.provider.filetransfer.httpclient.ssl@default:false,org.eclipse.ecf.provider.filetransfer.ssl@default:false,javax.servlet@default:default,org.eclipse.jetty.security@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.touchpoint.natives@default:default,org.eclipse.jetty.jndi@default:default,ch.qos.logback.core@default:default,org.objectweb.asm@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.jetty.jmx@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.slf4j.jcl@default:default,org.eclipse.equinox.app@default:default,org.eclipse.jetty.plus@default:default,com.sun.el@default:default,org.eclipse.core.jobs@default:default,org.eclipse.ecf.filetransfer@default:default,org.eclipse.osgi@-1:true,org.eclipse.ecf@default:default,org.eclipse.jetty.server@default:default,org.eclipse.equinox.p2.ql@default:default,javax.transaction@default:false,org.eclipse.ecf.identity@default:default,org.apache.commons.codec@default:default,org.apache.taglibs.standard.glassfish@default:default,org.junit@default:default,org.apache.commons.httpclient@default:default,org.eclipse.ecf.provider.filetransfer.httpclient@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.osgi.util@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jdt.core.compiler.batch@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.jetty.http@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.jetty.websocket@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.osgi.httpservice@default:default,org.sat4j.core@default:default,ch.qos.logback.classic@default:default,javax.activation@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.ds@default:true,org.slf4j.jul@default:default,org.eclipse.osgi.services@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.util@default:default,org.eclipse.equinox.p2.directorywatcher@default:default,org.apache.commons.logging@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.jetty.annotations@default:default,org.eclipse.pde.junit.runtime@default:default,javax.el@default:default,org.hamcrest.core@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.ecf.provider.filetransfer@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.equinox.p2.console@default:default,org.eclipse.jetty.rewrite@default:default,org.eclipse.equinox.p2.extensionlocation@default:default,org.eclipse.equinox.p2.metadata@default:default,org.sat4j.pb@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.xml@default:default,org.eclipse.jetty.deploy@default:default,org.slf4j.log4j@default:default,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.equinox.common@2:true,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.jdt.junit.runtime@default:default,ch.qos.logback.slf4j@default:false,org.eclipse.jetty.osgi.boot.warurl@default:default,org.eclipse.jetty.servlets@default:default,org.apache.jasper.glassfish@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.p2.engine@default:default,javax.mail.glassfish@default:default,org.eclipse.jetty.util@default:default,org.slf4j.api@default:default,org.eclipse.core.runtime@default:true,org.eclipse.equinox.launcher.gtk.linux.x86@default:false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfigArea" value="true"/>
+</launchConfiguration>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/contexts/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/contexts/README
new file mode 100644
index 0000000..91f4a49
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/contexts/README
@@ -0,0 +1,2 @@
+Default locations for standard context definitions.
+Those applications are unlikely to have access to the OSGi framework currently.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/dropins/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/dropins/README
new file mode 100644
index 0000000..5ff9a8b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/dropins/README
@@ -0,0 +1 @@
+Default locations for the bundles that are not managed by P2 and are loaded dynamically.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/README
new file mode 100644
index 0000000..dbc9fa7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/README
@@ -0,0 +1,2 @@
+This folder contains the default jetty configurations file for the server.
+In production, it is likely to be a different folder outside of the jetty's bootstrap plugin.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jdbcRealm.properties b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jdbcRealm.properties
new file mode 100644
index 0000000..48104d8
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jdbcRealm.properties
@@ -0,0 +1,72 @@
+# 
+# This is a sample properties file for the org.eclipse.jetty.security.JDBCLoginService
+# implemtation of the UserRealm interface.  This allows Jetty users authentication 
+# to work from a database.
+#
+#   +-------+      +------------+      +-------+
+#   | users |      | user_roles |      | roles |
+#   +-------+      +------------+      +-------+
+#   | id    |     /| user_id    |\     | id    |
+#   | user  -------| role_id    |------- role  |
+#   | pwd   |     \|            |/     |       |
+#   +-------+      +------------+      +-------+
+#   
+# 
+# 'cachetime' is a time in seconds to cache positive database
+# lookups in internal hash table. Set to 0 to disable caching.
+# 
+#
+# For MySQL:
+# create a MYSQL user called "jetty" with password "jetty"
+#
+# Create the tables:
+# create table users 
+# (
+#     id integer primary key,
+#     username varchar(100) not null unique key,
+#     pwd varchar(20) not null
+# );
+# 
+# create table roles
+# (
+#     id integer primary key,
+#     role varchar(100) not null unique key
+# );    
+#
+# create table user_roles
+# (
+#     user_id integer not null,
+#     role_id integer not null,
+#     unique key (user_id, role_id),
+#     index(user_id)
+# );
+#
+# I'm not sure unique key with a first component of user_id will be
+# user by MySQL in query, so additional index wouldn't hurt.
+#
+# To test JDBC implementation:
+#
+# mysql> insert into users values (1, 'admin', 'password');
+# mysql> insert into roles values (1, 'server-administrator');
+# mysql> insert into roles values (2, 'content-administrator');
+# mysql> insert into user_roles values (1, 1);
+# mysql> insert into user_roles values (1, 2);
+#
+# Replace HashUserRealm in etc/admin.xml with JDBCUserRealm and
+# set path to properties file.
+#
+jdbcdriver = org.gjt.mm.mysql.Driver
+url = jdbc:mysql://localhost/jetty
+username = jetty
+password = jetty
+usertable = users
+usertablekey = id
+usertableuserfield = username
+usertablepasswordfield = pwd
+roletable = roles
+roletablekey = id
+roletablerolefield = role
+userroletable = user_roles
+userroletableuserkey = user_id
+userroletablerolekey = role_id
+cachetime = 300
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ajp.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ajp.xml
new file mode 100644
index 0000000..04a775e
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ajp.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <!-- Add a AJP listener on port 8009                           -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+  <Call name="addConnector">
+    <Arg>
+       <New class="org.eclipse.jetty.ajp.Ajp13SocketConnector">
+         <Set name="port">8009</Set>
+       </New>
+    </Arg>
+  </Call>
+
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio-ssl.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio-ssl.xml
new file mode 100644
index 0000000..9c075e4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio-ssl.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.ssl.SslSocketConnector">
+	<Set name="Port">9443</Set>
+	<Set name="maxIdleTime">30000</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+        <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+        <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      </New>
+    </Arg>
+  </Call>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio.xml
new file mode 100644
index 0000000..66950ee
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-bio.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin configuration for Block socket connector                  -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- Use this connector if NIO is not available.  -->
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.bio.SocketConnector">
+            <Set name="port"><Property name="jetty.bio.port" default="8081"/></Set>
+            <Set name="maxIdleTime">50000</Set>
+            <Set name="lowResourceMaxIdleTime">1500</Set>
+          </New>
+      </Arg>
+    </Call>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-debug.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-debug.xml
new file mode 100644
index 0000000..0ffccb6
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-debug.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the DebugHandler                                          -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+    <Get id="oldhandler" name="handler"/>
+    <Set name="handler">
+      <New id="DebugHandler" class="org.eclipse.jetty.server.handler.DebugHandler">
+        <Set name="handler"><Ref id="oldhandler"/></Set>
+	<Set name="outputStream">
+	  <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
+	    <Arg type="String"><Property name="jetty.logs" default="./logs"/>/yyyy_mm_dd.debug.log</Arg>
+	    <Arg type="boolean">true</Arg> <!-- append -->
+	    <Arg type="int">90</Arg> <!-- retain days -->
+	  </New>
+	</Set>
+      </New>
+    </Set>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-fileserver.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-fileserver.xml
new file mode 100644
index 0000000..de15b38
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-fileserver.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+
+<Configure id="FileServer" class="org.eclipse.jetty.server.Server">
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="port">8080</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <Set name="handler">
+      <New class="org.eclipse.jetty.server.handler.HandlerList">
+        <Set name="handlers">
+	  <Array type="org.eclipse.jetty.server.Handler">
+	    <Item>
+	      <New class="org.eclipse.jetty.server.handler.ResourceHandler">
+	        <Set name="directoriesListed">true</Set>
+		<Set name="welcomeFiles">
+		  <Array type="String"><Item>index.html</Item></Array>
+		</Set>
+	        <Set name="resourceBase">.</Set>
+	      </New>
+	    </Item>
+	    <Item>
+	      <New class="org.eclipse.jetty.server.handler.DefaultHandler">
+	      </New>
+	    </Item>
+	  </Array>
+        </Set>
+      </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jaas.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jaas.xml
new file mode 100644
index 0000000..7513edb
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jaas.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<Configure id="Server" class="org.mortbay.jetty.Server">
+
+  
+    <!-- ======================================================== -->
+    <!-- java.security.auth.login.config System property          -->
+    <!-- This is usually a runtime parameter to the jvm, but      -->
+    <!-- it is placed here for convenience.                       -->
+    <!-- ======================================================== -->
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.security.auth.login.config</Arg>
+      <Arg><Property name="jetty.home" default="." />/etc/login.conf</Arg>
+    </Call>
+
+
+    <!-- ======================================================== -->
+    <!-- An example JAAS realm setup                              -->
+    <!-- For more information see the jetty wiki at               -->
+    <!--   http://http://docs.codehaus.org/display/JETTY/JAAS     -->
+    <!-- ======================================================== -->
+    <Set name="UserRealms">
+      <Array type="org.mortbay.jetty.security.UserRealm">
+        <Item>
+          <New class="org.mortbay.jetty.plus.jaas.JAASUserRealm">
+           <Set name="Name">Test JAAS Realm</Set>
+           <Set name="LoginModuleName">xyz</Set>
+          </New>
+        </Item>
+      </Array>
+    </Set>
+    
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jmx.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jmx.xml
new file mode 100644
index 0000000..2d48b6c
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-jmx.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the JVM JMX Server                                    -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -DOPTIONS=jmx -jar start.jar etc/jetty-jmx.xml etc/jetty.xml  -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Initialize an mbean server                                  -->
+    <!-- =========================================================== -->
+    <Call id="MBeanServer" class="java.lang.management.ManagementFactory" name="getPlatformMBeanServer"/>
+
+    <!-- =========================================================== -->
+    <!-- Initialize the Jetty MBean container                        -->
+    <!-- =========================================================== -->
+    <New id="MBeanContainer" class="org.eclipse.jetty.jmx.MBeanContainer">
+      <Arg><Ref id="MBeanServer"/></Arg>
+    </New>
+
+    <!-- Add to the Server to listen for object events -->
+    <Get id="Container" name="container">
+      <Call name="addEventListener">
+        <Arg><Ref id="MBeanContainer"/></Arg>
+      </Call>
+    </Get>
+
+    <!-- Add to the Server as a lifecycle -->
+    <!-- Only do this if you know you will only have a single jetty server -->
+    <Call name="addBean">
+      <Arg><Ref id="MBeanContainer"/></Arg>
+    </Call>
+
+    <!-- Add the static log -->
+    <Get id="Logger" class="org.eclipse.jetty.util.log.Log" name="log"/>
+    <Ref id="MBeanContainer">
+      <Call name="addBean">
+          <Arg><Ref id="Logger"/></Arg>
+      </Call>
+    </Ref>
+
+    <!-- optionally add a remote JMX connector 
+    <Call id="jmxConnector" class="javax.management.remote.JMXConnectorServerFactory" name="newJMXConnectorServer">
+      <Arg>
+        <New  class="javax.management.remote.JMXServiceURL">
+          <Arg>service:jmx:rmi:///jndi/rmi:///jettymbeanserver</Arg>
+        </New>
+      </Arg>
+      <Arg/>
+      <Arg><Ref id="MBeanServer"/></Arg>
+      <Call name="start"/>
+    </Call>
+    -->
+    
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-logging.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-logging.xml
new file mode 100644
index 0000000..adfe6d8
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-logging.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+
+<!-- =============================================================== -->
+<!-- Configure stderr and stdout to a Jetty rollover log file        -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty-logging.xml etc/jetty.xml      -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <New id="ServerLog" class="java.io.PrintStream">
+      <Arg>
+        <New class="org.eclipse.jetty.util.RolloverFileOutputStream">
+          <Arg><Property name="jetty.home" default="."/>/logs/yyyy_mm_dd.stderrout.log</Arg>
+          <Arg type="boolean">false</Arg>
+          <Arg type="int">90</Arg>
+          <Arg><Call class="java.util.TimeZone" name="getTimeZone"><Arg>GMT</Arg></Call></Arg>
+          <Get id="ServerLogName" name="datedFilename"/>
+        </New>
+      </Arg>
+    </New>
+
+    <Call class="org.eclipse.jetty.util.log.Log" name="info"><Arg>Redirecting stderr/stdout to <Ref id="ServerLogName"/></Arg></Call>
+    <Call class="java.lang.System" name="setErr"><Arg><Ref id="ServerLog"/></Arg></Call>
+    <Call class="java.lang.System" name="setOut"><Arg><Ref id="ServerLog"/></Arg></Call>
+
+</Configure>
+
+
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-plus.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-plus.xml
new file mode 100644
index 0000000..7430d6f
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-plus.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure Jetty Plus features                                   -->
+<!--                                                                 -->
+<!-- This file sets up a WebAppDeployer to automatically deploy all  -->
+<!-- webapps in $jetty.home/webapps-plus at startup time, and to     -->
+<!-- enable all of them with Plus features (jndi etc).               -->
+<!--                                                                 -->
+<!-- You can instead configure individual webapps with Jetty Plus    -->
+<!-- features by using the ContextDeployer (configured in            -->
+<!-- $jetty.home/etc/jetty.xml), and ensuring that you set the       -->
+<!-- same set of classes listed below in the "plusConfig" as the     -->
+<!-- webapp's configurationClasses.                                  -->
+<!--                                                                 -->
+<!-- For more information about Jetty Plus, see the Jetty wiki at    -->
+<!-- http://docs.codehaus.org/display/JETTY/Jetty+Wiki               -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- =========================================================== -->
+  <!-- Example JAAS realm setup.                                   -->
+  <!-- The LoginModuleName must be exactly the same as in the      -->
+  <!-- login.conf file, and the realm Name must be the same as in  -->
+  <!-- the web.xml file.                                           -->
+  <!-- =========================================================== -->
+  <!-- 
+  <Call name="addLoginService">
+    <Arg>
+      <New class="org.eclipse.jetty.plus.jaas.JAASLoginService">
+	      <Set name="name">xyzrealm</Set>
+	      <Set name="LoginModuleName">xyz</Set>
+	    </New>
+    </Arg>
+  </Call>
+  -->
+
+  <!-- =========================================================== -->
+  <!-- Configurations for WebAppContexts                           -->
+  <!-- Sequence of configurations to enable Plus features.         -->
+  <!-- =========================================================== -->
+  <Array id="plusConfig" type="java.lang.String">
+    <Item>org.eclipse.jetty.webapp.WebInfConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.WebXmlConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.MetaInfConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.FragmentConfiguration</Item>
+    <Item>org.eclipse.jetty.plus.webapp.EnvConfiguration</Item>
+    <Item>org.eclipse.jetty.plus.webapp.Configuration</Item>
+    <Item>org.eclipse.jetty.webapp.JettyWebXmlConfiguration</Item>
+    <Item>org.eclipse.jetty.webapp.TagLibConfiguration</Item>
+  </Array>
+
+  <!-- =========================================================== -->
+  <!-- Deploy all webapps in webapps-plus                          -->
+  <!-- =========================================================== -->
+  <!-- Uncomment the following to set up a WebAppDeployer that will -->
+  <!-- deploy webapps from a directory called webapps-plus. Note    -->
+  <!-- that you will need to create this directory first!           -->
+  <!--
+    <Call name="addLifeCycle">
+      <Arg>
+        <New class="org.eclipse.jetty.deploy.WebAppDeployer">
+          <Set name="contexts"><Ref id="Contexts"/></Set>
+          <Set name="webAppDir"><Property name="jetty.home" default="."/>/webapps-plus</Set>
+          <Set name="parentLoaderPriority">false</Set>
+          <Set name="extract">true</Set>
+          <Set name="allowDuplicates">false</Set>
+          <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+          <Set name="configurationClasses"><Ref id="plusConfig"/></Set>
+          <Call name="setAttribute">
+            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+            <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
+          </Call>
+        </New>
+      </Arg>
+    </Call>
+   -->
+
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-proxy.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-proxy.xml
new file mode 100644
index 0000000..5bc46c3
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-proxy.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Proxy" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Server Thread Pool                                          -->
+    <!-- =========================================================== -->
+    <Set name="ThreadPool">
+      <!-- Default queued blocking threadpool 
+      -->
+      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
+        <Set name="minThreads">10</Set>
+        <Set name="maxThreads">50</Set>
+      </New>
+    </Set>
+
+
+    <!-- =========================================================== -->
+    <!-- Set connectors                                              -->
+    <!-- =========================================================== -->
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="host"><Property name="jetty.host" /></Set>
+            <Set name="port"><Property name="jetty.port" default="8888"/></Set>
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+	    <Set name="lowResourcesConnections">20000</Set>
+	    <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Servlets" class="org.eclipse.jetty.servlet.ServletHandler">
+        <Call name="addServletWithMapping">
+	  <Arg>org.eclipse.jetty.servlets.ProxyServlet</Arg>
+	  <Arg>/</Arg>
+	</Call>
+      </New>
+    </Set>
+    
+    <!-- =========================================================== -->
+    <!-- extra options                                               -->
+    <!-- =========================================================== -->
+    <Set name="stopAtShutdown">true</Set>
+    <Set name="sendServerVersion">true</Set>
+    <Set name="sendDateHeader">true</Set>
+    <Set name="gracefulShutdown">1000</Set>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-rewrite.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-rewrite.xml
new file mode 100644
index 0000000..da0eb7b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-rewrite.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the RewriteHandler                                        -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- configure rewrite handler                                   --> 
+    <!-- =========================================================== -->
+    <Get id="oldhandler" name="handler"/>
+
+    <Set name="handler">
+     <New id="Rewrite" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
+      <Set name="handler"><Ref id="oldhandler"/></Set>
+      <Set name="rewriteRequestURI">true</Set>
+      <Set name="rewritePathInfo">false</Set>
+      <Set name="originalPathAttribute">requestedPath</Set>
+
+      <!-- Add rule to protect against IE ssl bug -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.MsieSslRule"/>
+        </Arg>
+      </Call>
+
+      <!-- protect favicon handling -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.HeaderPatternRule">
+	    <Set name="pattern">/favicon.ico</Set>
+	    <Set name="name">Cache-Control</Set>
+	    <Set name="value">Max-Age=3600,public</Set>
+	    <Set name="terminating">true</Set>
+          </New>
+        </Arg>
+      </Call>
+
+
+      <!-- use legacy API for some rewrites -->
+      <Call name="addRewriteRule">
+	<Arg>/some/old/context/*</Arg>
+	<Arg>/test/dump/newcontext</Arg>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/dump/rewrite/*</Arg>
+	<Arg>/test/dump/rewritten</Arg>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/dump/rewrite/protect/*</Arg>
+	<Arg/>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/test/*</Arg>
+	<Arg/>
+      </Call>
+      <Call name="addRewriteRule">
+	<Arg>/*</Arg>
+	<Arg>/test</Arg>
+      </Call>
+
+      <!-- add a regex rule -->
+      <Call name="addRule">
+        <Arg>
+          <New class="org.eclipse.jetty.rewrite.handler.RewriteRegexRule">
+            <Set name="regex">/test/dump/regex/([^/]*)/(.*)</Set>
+            <Set name="replacement">/test/dump/$2/$1</Set>
+          </New>
+        </Arg>
+      </Call>
+     </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-setuid.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-setuid.xml
new file mode 100644
index 0000000..9a30af7
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-setuid.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty SetUIDServer                                 -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty-setuid.xml etc/jetty.xml       -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.mortbay.setuid.SetUIDServer">
+  <Set name="startServerAsPrivileged">false</Set>
+  <Set name="umask">2</Set>
+  <Set name="uid">jetty</Set>
+  <Set name="gid">jetty</Set>
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ssl.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ssl.xml
new file mode 100644
index 0000000..f2ec1a4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-ssl.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+  <!-- if NIO is not available, use org.eclipse.jetty.server.ssl.SslSocketConnector -->
+
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
+	<Set name="Port"><Property name="jetty.port.ssl" default="8443" /></Set>
+	<Set name="maxIdleTime">30000</Set>
+        <Set name="Acceptors">2</Set>
+        <Set name="AcceptQueueSize">100</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+        <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+        <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      </New>
+    </Arg>
+  </Call>
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-sslengine.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-sslengine.xml
new file mode 100644
index 0000000..9e787b0
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-sslengine.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure SSL for the Jetty Server                              -->
+<!-- this configuration file should be used in combination with      -->
+<!-- other configuration files.  e.g.                                -->
+<!--    java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml          -->
+<!-- =============================================================== -->
+<Configure id="Server" class="org.mortbay.jetty.Server">
+  <Call name="addConnector">
+    <Arg>
+      <New class="org.mortbay.jetty.security.SslSelectChannelConnector">
+	<Set name="Port">8444</Set>
+	<Set name="maxIdleTime">30000</Set>
+        <Set name="Acceptors">2</Set>
+        <Set name="AcceptQueueSize">100</Set>
+	<Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+	<Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+	<Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+      </New>
+    </Arg>
+  </Call>
+        
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-stats.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-stats.xml
new file mode 100644
index 0000000..e0a0c7f
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-stats.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Mixin the Statistics Handler                                    -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <Get id="oldhandler" name="handler"/>
+
+    <Set name="handler">
+     <New id="StatsHandler" class="org.eclipse.jetty.server.handler.StatisticsHandler">
+      <Set name="handler"><Ref id="oldhandler"/></Set>
+     </New>
+    </Set>
+    
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-win32-service.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-win32-service.xml
new file mode 100644
index 0000000..20287ce
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-win32-service.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.mortbay.jetty.Server">
+
+    
+    <Call name="addLifeCycle">
+      <Arg>
+        <New class="org.mortbay.jetty.win32service.Win32Service">
+          <Set name="server"><Ref id="Server"/></Set>
+        </New>
+      </Arg>
+    </Call>
+    
+    <Set name="stopAtShutdown">true</Set>
+    <!-- ensure/prevent Server: header being sent to browsers        -->
+    <Set name="sendServerVersion">true</Set>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-xinetd.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-xinetd.xml
new file mode 100644
index 0000000..c2fbaa2
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty-xinetd.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configuration for starting up Jetty using inetd/xinetd          -->
+<!-- This feature requires at least Java 5                           -->
+<!--                                                                 -->
+<!-- Making it a mixin for convenience, but note that if used        -->
+<!-- with jetty.xml, Jetty will use multiple connectors              -->
+<!-- =============================================================== -->
+
+<!-- Sample xinetd configuration (restart xinetd after adding the configuration file)
+
+service jetty
+{
+    disable     = no
+
+    id          = jetty
+    type        = UNLISTED     
+    wait        = yes          
+    socket_type = stream
+
+    # change this
+    user        = username
+    group       = groupname
+    port        = 2001
+
+    # sample script for running jetty as a service
+    # replace $JETTY_HOME with /path/to/jetty_home/
+    server      = $JETTY_HOME/bin/jetty-xinetd.sh
+}
+
+-->
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+    <Call name="addConnector">
+      <Arg>
+          <!-- Inherited channel (from inetd/xinetd) -->
+          <New class="org.eclipse.jetty.server.nio.InheritedChannelConnector">
+
+
+            <!-- Optional. Fallback in case System.inheritedChannel() does not give a ServerSocketChannel 
+            <Set name="port"><Property name="jetty.service.port" default="8082"/></Set>
+            -->
+
+            <!-- sane defaults -->
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+      	    <Set name="lowResourcesConnections">20000</Set>
+	        <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+</Configure>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty.xml
new file mode 100644
index 0000000..e1b7f1b
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/jetty.xml
@@ -0,0 +1,220 @@
+<?xml version="1.0"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
+
+<!-- =============================================================== -->
+<!-- Configure the Jetty Server                                      -->
+<!--                                                                 -->
+<!-- Documentation of this file format can be found at:              -->
+<!-- http://docs.codehaus.org/display/JETTY/jetty.xml                -->
+<!--                                                                 -->
+<!-- =============================================================== -->
+
+
+<Configure id="Server" class="org.eclipse.jetty.server.Server">
+
+    <!-- =========================================================== -->
+    <!-- Server Thread Pool                                          -->
+    <!-- =========================================================== -->
+    <Set name="ThreadPool">
+      <!-- Default queued blocking threadpool 
+      -->
+      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
+        <Set name="minThreads">10</Set>
+        <Set name="maxThreads">200</Set>
+      </New>
+
+      <!-- Optional Java 5 bounded threadpool with job queue 
+      <New class="org.eclipse.jetty.util.thread.ExecutorThreadPool">     
+        <Arg name="coreSize" type="int">25</Arg>
+        <Arg name="maxSize" type="int">50</Arg>
+        <Arg name="maxIdleMs" type="long">30000</Arg>
+      </New>
+      -->
+    </Set>
+
+
+
+    <!-- =========================================================== -->
+    <!-- Set connectors                                              -->
+    <!-- =========================================================== -->
+
+    <Call name="addConnector">
+      <Arg>
+          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
+            <Set name="host"><Property name="jetty.host" /></Set>
+            <Set name="port"><Property name="jetty.port" default="8080"/></Set>
+            <Set name="maxIdleTime">300000</Set>
+            <Set name="Acceptors">2</Set>
+            <Set name="statsOn">false</Set>
+            <Set name="confidentialPort">8443</Set>
+        <Set name="lowResourcesConnections">20000</Set>
+        <Set name="lowResourcesMaxIdleTime">5000</Set>
+          </New>
+      </Arg>
+    </Call>
+
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To add a HTTPS SSL connector                                    -->
+    <!-- mixin jetty-ssl.xml:                                            -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-ssl.xml           -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    
+    <Call name="addConnector">
+      <Arg>
+        <New class="org.eclipse.jetty.server.ssl.SslSelectChannelConnector">
+      <Set name="Port"><Property name="jetty.port.ssl" default="8443" /></Set>
+      <Set name="maxIdleTime">30000</Set>
+          <Set name="Acceptors">2</Set>
+          <Set name="AcceptQueueSize">100</Set>
+      <Set name="Keystore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+      <Set name="Password">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+      <Set name="KeyPassword">OBF:1u2u1wml1z7s1z7a1wnl1u2g</Set>
+          <Set name="truststore"><Property name="jetty.home" default="." />/etc/keystore</Set>
+          <Set name="trustPassword">OBF:1vny1zlo1x8e1vnw1vn61x8g1zlu1vn4</Set>
+        </New>
+      </Arg>
+    </Call>
+    
+    
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To add a HTTP blocking connector                                -->
+    <!-- mixin jetty-bio.xml:                                            -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-bio.xml           -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+    <!-- To allow Jetty to be started from xinetd                        -->
+    <!-- mixin jetty-xinetd.xml:                                         -->
+    <!--   java -jar start.jar etc/jetty.xml etc/jetty-xinetd.xml        -->
+    <!--                                                                 -->
+    <!-- See jetty-xinetd.xml for further instructions.                  -->
+    <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+
+    <!-- =========================================================== -->
+    <!-- Set handler Collection Structure                            --> 
+    <!-- =========================================================== -->
+    <Set name="handler">
+      <New id="Handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
+        <Set name="handlers">
+         <Array type="org.eclipse.jetty.server.Handler">
+           <Item>
+             <New id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/>
+           </Item>
+           <Item>
+             <New id="DefaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/>
+           </Item>
+           <Item>
+             <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
+           </Item>
+         </Array>
+        </Set>
+      </New>
+    </Set>
+
+    <!-- =========================================================== -->
+    <!-- Configure the deployment manager                            -->
+    <!--                                                             -->
+    <!-- Sets up 2 monitored dir app providers that are configured   -->
+    <!-- to behave in a similaraly to the legacy ContextDeployer     -->
+    <!-- and WebAppDeployer from previous versions of Jetty.         -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New id="DeploymentManager" class="org.eclipse.jetty.deploy.DeploymentManager">
+          <Set name="contexts">
+            <Ref id="Contexts" />
+          </Set>
+          <Call name="setContextAttribute">
+            <Arg>org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern</Arg>
+            <Arg>.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$</Arg>
+          </Call>
+          <!-- Providers of Apps via Context XML files.
+               Configured to behave similar to the legacy ContextDeployer -->
+          <Call name="addAppProvider">
+            <Arg>
+              <New class="org.eclipse.jetty.deploy.providers.ContextProvider">
+                <Set name="monitoredDir"><Property name="jetty.home" default="." />/contexts</Set>
+                <Set name="scanInterval">5</Set>
+              </New>
+            </Arg>
+          </Call>
+          <!-- Providers of OSGi Apps.
+               Also deploys webapps in the webapps folder -->
+          <Call name="addAppProvider">
+            <Arg>
+              <New class="org.eclipse.jetty.osgi.boot.OSGiAppProvider">
+                <Set name="monitoredDir"><Property name="jetty.home" default="." />/webapps</Set>
+                <Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
+                <Set name="scanInterval">5</Set>
+                <Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
+                <!-- comma separated list of bundle symbolic names that
+                    contain custom tag libraries (*.tld files)
+                    if those bundles don't exist or can't be loaded no errors or warning will be issued!
+                    this default value is to plug the tld files of the reference implementation of JSF -->
+                <Set name="tldBundles"><Property name="org.eclipse.jetty.osgi.tldsbundles"
+                     default="javax.faces.jsf-impl" /></Set>
+              </New>
+            </Arg>
+          </Call>
+          
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Configure Authentication Login Service                      -->
+    <!-- Realms may be configured for the entire server here, or     -->
+    <!-- they can be configured for a specific web app in a context  -->
+    <!-- configuration (see $(jetty.home)/contexts/test.xml for an   -->
+    <!-- example).                                                   -->
+    <!-- =========================================================== -->
+    <Call name="addBean">
+      <Arg>
+        <New class="org.eclipse.jetty.security.HashLoginService">
+          <Set name="name">Test Realm</Set>
+          <Set name="config"><Property name="jetty.home" default="."/>/etc/realm.properties</Set>
+          <Set name="refreshInterval">0</Set>
+        </New>
+      </Arg>
+    </Call>
+
+    <!-- =========================================================== -->
+    <!-- Configure Request Log                                       -->
+    <!-- Request logs  may be configured for the entire server here, -->
+    <!-- or they can be configured for a specific web app in a       -->
+    <!-- contexts configuration (see $(jetty.home)/contexts/test.xml -->
+    <!-- for an example).                                            -->
+    <!-- =========================================================== -->
+    <Ref id="RequestLog">
+      <Set name="requestLog">
+        <New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
+          <Set name="filename"><Property name="jetty.home" default="."/>/logs/yyyy_mm_dd.request.log</Set>
+          <Set name="filenameDateFormat">yyyy_MM_dd</Set>
+          <Set name="retainDays">90</Set>
+          <Set name="append">true</Set>
+          <Set name="extended">false</Set>
+          <Set name="logCookies">false</Set>
+          <Set name="LogTimeZone">GMT</Set>
+        </New>
+      </Set>
+    </Ref>
+
+    <!-- =========================================================== -->
+    <!-- extra options                                               -->
+    <!-- =========================================================== -->
+    <Set name="stopAtShutdown">true</Set>
+    <Set name="sendServerVersion">true</Set>
+    <Set name="sendDateHeader">true</Set>
+    <Set name="gracefulShutdown">1000</Set>
+    
+    <!-- jetty-jndi by default -->
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.initial</Arg>
+      <Arg><Property name="java.naming.factory.initial" default="org.eclipse.jetty.jndi.InitialContextFactory"/></Arg>
+    </Call>
+    <Call class="java.lang.System" name="setProperty">
+      <Arg>java.naming.factory.url.pkgs</Arg>
+      <Arg><Property name="java.naming.factory.url.pkgs" default="org.eclipse.jetty.jndi"/></Arg>
+    </Call>
+
+</Configure>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/keystore b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/keystore
new file mode 100644
index 0000000..08f6cda
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/keystore
Binary files differ
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/logback.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/logback.xml
new file mode 100644
index 0000000..e3f81e1
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/logback.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<configuration>
+	<appender name="STDOUT"
+			class="ch.qos.logback.core.ConsoleAppender">
+		<encoder>
+			<pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
+		</encoder>
+	</appender>
+
+	<!--Basic file appender<appender name="FILE"
+		class="ch.qos.logback.core.FileAppender">
+		<encoder>
+			<pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern>
+		</encoder>
+		<File>sample-log.txt</File>
+	</appender>-->
+
+        <!--Daily rolling file appender -->
+	<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
+		<File>logs/logFile.log</File>
+		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
+			<FileNamePattern>logFile.%d{yyyy-MM-dd}.log</FileNamePattern>
+		</rollingPolicy>
+
+		<encoder>
+			<Pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</Pattern>
+		</encoder>
+	</appender>
+	
+	
+	<!--logger name="org.eclipse.example">
+		<level value="debug" />
+	</logger-->
+	
+	<root>
+		<level value="error" />
+		<appender-ref ref="STDOUT" />
+		<appender-ref ref="FILE" />
+	</root>
+</configuration>
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.conf b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.conf
new file mode 100644
index 0000000..731956c
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.conf
@@ -0,0 +1,5 @@
+xyz {
+org.mortbay.jetty.plus.jaas.spi.PropertyFileLoginModule required
+debug="true"
+file="${jetty.home}/etc/login.properties";
+};
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.properties b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.properties
new file mode 100644
index 0000000..61e3203
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/login.properties
@@ -0,0 +1 @@
+me=me,me,roleA
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/realm.properties b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/realm.properties
new file mode 100644
index 0000000..cbf905d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/realm.properties
@@ -0,0 +1,21 @@
+#
+# This file defines users passwords and roles for a HashUserRealm
+#
+# The format is
+#  <username>: <password>[,<rolename> ...]
+#
+# Passwords may be clear text, obfuscated or checksummed.  The class 
+# org.eclipse.util.Password should be used to generate obfuscated
+# passwords or password checksums
+#
+# If DIGEST Authentication is used, the password must be in a recoverable
+# format, either plain text or OBF:.
+#
+jetty: MD5:164c88b302622e17050af52c89945d44,user
+admin: CRYPT:adpexzg3FUZAk,server-administrator,content-administrator,admin
+other: OBF:1xmk1w261u9r1w1c1xmq,user
+plain: plain,user
+user: password,user
+
+# This entry is for digest auth.  The credential is a MD5 hash of username:realmname:password
+digest: MD5:6e120743ad67abfbc385bc2bb754e297,user
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/webdefault.xml b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/webdefault.xml
new file mode 100644
index 0000000..0078e77
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/etc/webdefault.xml
@@ -0,0 +1,404 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- ===================================================================== -->
+<!-- This file contains the default descriptor for web applications.       -->
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<!-- The intent of this descriptor is to include jetty specific or common  -->
+<!-- configuration for all webapps.   If a context has a webdefault.xml    -->
+<!-- descriptor, it is applied before the contexts own web.xml file        -->
+<!--                                                                       -->
+<!-- A context may be assigned a default descriptor by:                    -->
+<!--  + Calling WebApplicationContext.setDefaultsDescriptor                -->
+<!--  + Passed an arg to addWebApplications                                -->
+<!--                                                                       -->
+<!-- This file is used both as the resource within the jetty.jar (which is -->
+<!-- used as the default if no explicit defaults descriptor is set) and it -->
+<!-- is copied to the etc directory of the Jetty distro and explicitly     -->
+<!-- by the jetty.xml file.                                                -->
+<!--                                                                       -->
+<!-- ===================================================================== -->
+<web-app 
+   xmlns="http://java.sun.com/xml/ns/javaee" 
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
+   metadata-complete="true"
+   version="2.5"> 
+
+  <description>
+    Default web.xml file.  
+    This file is applied to a Web application before it's own WEB_INF/web.xml file
+  </description>
+
+
+  <!-- ==================================================================== -->
+  <!-- Context params to control Session Cookies                            -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- UNCOMMENT TO ACTIVATE
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.SessionDomain</param-name>
+    <param-value>127.0.0.1</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.SessionPath</param-name>
+    <param-value>/</param-value>
+  </context-param>
+
+  <context-param>
+    <param-name>org.eclipse.jetty.servlet.MaxAge</param-name>
+    <param-value>-1</param-value>
+  </context-param>
+  -->
+
+
+  <!-- ==================================================================== -->
+  <!-- The default servlet.                                                 -->
+  <!-- This servlet, normally mapped to /, provides the handling for static -->
+  <!-- content, OPTIONS and TRACE methods for the context.                  -->
+  <!-- The following initParameters are supported:                          -->
+  <!--                                                                      -->
+  <!--   acceptRanges     If true, range requests and responses are         -->
+  <!--                    supported                                         -->
+  <!--                                                                      -->
+  <!--   dirAllowed       If true, directory listings are returned if no    -->
+  <!--                    welcome file is found. Else 403 Forbidden.        -->
+  <!--                                                                      -->
+  <!--   welcomeServlets  If true, attempt to dispatch to welcome files     -->
+  <!--                    that are servlets, if no matching static          -->
+  <!--                    resources can be found.                           -->
+  <!--                                                                      -->
+  <!--   redirectWelcome  If true, redirect welcome file requests           -->
+  <!--                    else use request dispatcher forwards              -->
+  <!--                                                                      -->
+  <!--   gzip             If set to true, then static content will be served--> 
+  <!--                    as gzip content encoded if a matching resource is -->
+  <!--                    found ending with ".gz"                           -->
+  <!--                                                                      -->
+  <!--   resoureBase      Can be set to replace the context resource base   -->
+  <!--                                                                      -->
+  <!--   relativeResourceBase                                               -->
+  <!--                    Set with a pathname relative to the base of the   -->
+  <!--                    servlet context root. Useful for only serving     -->
+  <!--                    static content from only specific subdirectories. -->
+  <!--                                                                      -->
+  <!--   useFileMappedBuffer                                                -->
+  <!--                    If set to true (the default), a  memory mapped    -->
+  <!--                    file buffer will be used to serve static content  -->
+  <!--                    when using an NIO connector. Setting this value   -->
+  <!--                    to false means that a direct buffer will be used  -->
+  <!--                    instead. If you are having trouble with Windows   -->
+  <!--                    file locking, set this to false.                  -->
+  <!--                                                                      -->
+  <!--  cacheControl      If set, all static content will have this value   -->
+  <!--                    set as the cache-control header.                  -->
+  <!--                                                                      -->
+  <!--  maxCacheSize      Maximum size of the static resource cache         -->
+  <!--                                                                      -->
+  <!--  maxCachedFileSize Maximum size of any single file in the cache      -->
+  <!--                                                                      -->
+  <!--  maxCachedFiles    Maximum number of files in the cache              -->
+  <!--                                                                      -->
+  <!--  cacheType         "nio", "bio" or "both" to determine the type(s)   -->
+  <!--                    of resource cache. A bio cached buffer may be used-->
+  <!--                    by nio but is not as efficient as a nio buffer.   -->
+  <!--                    An nio cached buffer may not be used by bio.      -->
+  <!--                                                                      -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet>
+    <servlet-name>default</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.DefaultServlet</servlet-class>
+    <init-param>
+      <param-name>acceptRanges</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dirAllowed</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>welcomeServlets</param-name>
+        <param-value>false</param-value>
+      </init-param>
+    <init-param>
+      <param-name>redirectWelcome</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCacheSize</param-name>
+      <param-value>256000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFileSize</param-name>
+      <param-value>10000000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>maxCachedFiles</param-name>
+      <param-value>1000</param-value>
+    </init-param>
+    <init-param>
+      <param-name>cacheType</param-name>
+      <param-value>both</param-value>
+    </init-param>
+    <init-param>
+      <param-name>gzip</param-name>
+      <param-value>true</param-value>
+    </init-param>
+    <init-param>
+      <param-name>useFileMappedBuffer</param-name>
+      <param-value>true</param-value>
+    </init-param>  
+    <!--
+    <init-param>
+      <param-name>cacheControl</param-name>
+      <param-value>max-age=3600,public</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet> 
+
+  <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
+  
+
+  <!-- ==================================================================== -->
+  <!-- JSP Servlet                                                          -->
+  <!-- This is the jasper JSP servlet from the jakarta project              -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- The JSP page compiler and execution servlet, which is the mechanism  -->
+  <!-- used by Glassfish to support JSP pages.  Traditionally, this servlet -->
+  <!-- is mapped to URL patterh "*.jsp".  This servlet supports the         -->
+  <!-- following initialization parameters (default values are in square    -->
+  <!-- brackets):                                                           -->
+  <!--                                                                      -->
+  <!--   checkInterval       If development is false and reloading is true, -->
+  <!--                       background compiles are enabled. checkInterval -->
+  <!--                       is the time in seconds between checks to see   -->
+  <!--                       if a JSP page needs to be recompiled. [300]    -->
+  <!--                                                                      -->
+  <!--   compiler            Which compiler Ant should use to compile JSP   -->
+  <!--                       pages.  See the Ant documenation for more      -->
+  <!--                       information. [javac]                           -->
+  <!--                                                                      -->
+  <!--   classdebuginfo      Should the class file be compiled with         -->
+  <!--                       debugging information?  [true]                 -->
+  <!--                                                                      -->
+  <!--   classpath           What class path should I use while compiling   -->
+  <!--                       generated servlets?  [Created dynamically      -->
+  <!--                       based on the current web application]          -->
+  <!--                       Set to ? to make the container explicitly set  -->
+  <!--                       this parameter.                                -->
+  <!--                                                                      -->
+  <!--   development         Is Jasper used in development mode (will check -->
+  <!--                       for JSP modification on every access)?  [true] -->
+  <!--                                                                      -->
+  <!--   enablePooling       Determines whether tag handler pooling is      -->
+  <!--                       enabled  [true]                                -->
+  <!--                                                                      -->
+  <!--   fork                Tell Ant to fork compiles of JSP pages so that -->
+  <!--                       a separate JVM is used for JSP page compiles   -->
+  <!--                       from the one Tomcat is running in. [true]      -->
+  <!--                                                                      -->
+  <!--   ieClassId           The class-id value to be sent to Internet      -->
+  <!--                       Explorer when using <jsp:plugin> tags.         -->
+  <!--                       [clsid:8AD9C840-044E-11D1-B3E9-00805F499D93]   -->
+  <!--                                                                      -->
+  <!--   javaEncoding        Java file encoding to use for generating java  -->
+  <!--                       source files. [UTF-8]                          -->
+  <!--                                                                      -->
+  <!--   keepgenerated       Should we keep the generated Java source code  -->
+  <!--                       for each page instead of deleting it? [true]   -->
+  <!--                                                                      -->
+  <!--   logVerbosityLevel   The level of detailed messages to be produced  -->
+  <!--                       by this servlet.  Increasing levels cause the  -->
+  <!--                       generation of more messages.  Valid values are -->
+  <!--                       FATAL, ERROR, WARNING, INFORMATION, and DEBUG. -->
+  <!--                       [WARNING]                                      -->
+  <!--                                                                      -->
+  <!--   mappedfile          Should we generate static content with one     -->
+  <!--                       print statement per input line, to ease        -->
+  <!--                       debugging?  [false]                            -->
+  <!--                                                                      -->
+  <!--                                                                      -->
+  <!--   reloading           Should Jasper check for modified JSPs?  [true] -->
+  <!--                                                                      -->
+  <!--   suppressSmap        Should the generation of SMAP info for JSR45   -->
+  <!--                       debugging be suppressed?  [false]              -->
+  <!--                                                                      -->
+  <!--   dumpSmap            Should the SMAP info for JSR45 debugging be    -->
+  <!--                       dumped to a file? [false]                      -->
+  <!--                       False if suppressSmap is true                  -->
+  <!--                                                                      -->
+  <!--   scratchdir          What scratch directory should we use when      -->
+  <!--                       compiling JSP pages?  [default work directory  -->
+  <!--                       for the current web application]               -->
+  <!--                                                                      -->
+  <!--   tagpoolMaxSize      The maximum tag handler pool size  [5]         -->
+  <!--                                                                      -->
+  <!--   xpoweredBy          Determines whether X-Powered-By response       -->
+  <!--                       header is added by generated servlet  [false]  -->
+  <!--                                                                      -->
+  <!-- If you wish to use Jikes to compile JSP pages:                       -->
+  <!--   Set the init parameter "compiler" to "jikes".  Define              -->
+  <!--   the property "-Dbuild.compiler.emacs=true" when starting Jetty     -->
+  <!--   to cause Jikes to emit error messages in a format compatible with  -->
+  <!--   Jasper.                                                            -->
+  <!--   If you get an error reporting that jikes can't use UTF-8 encoding, -->
+  <!--   try setting the init parameter "javaEncoding" to "ISO-8859-1".     -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <servlet id="jsp">
+    <servlet-name>jsp</servlet-name>
+    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
+    <init-param>
+        <param-name>logVerbosityLevel</param-name>
+        <param-value>DEBUG</param-value>
+    </init-param>
+    <init-param>
+        <param-name>fork</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <init-param>
+        <param-name>xpoweredBy</param-name>
+        <param-value>false</param-value>
+    </init-param>
+    <!--  
+    <init-param>
+        <param-name>classpath</param-name>
+        <param-value>?</param-value>
+    </init-param>
+    -->
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping> 
+    <servlet-name>jsp</servlet-name> 
+    <url-pattern>*.jsp</url-pattern> 
+    <url-pattern>*.jspf</url-pattern>
+    <url-pattern>*.jspx</url-pattern>
+    <url-pattern>*.xsp</url-pattern>
+    <url-pattern>*.JSP</url-pattern> 
+    <url-pattern>*.JSPF</url-pattern>
+    <url-pattern>*.JSPX</url-pattern>
+    <url-pattern>*.XSP</url-pattern>
+  </servlet-mapping>
+  
+  <!-- ==================================================================== -->
+  <!-- Dynamic Servlet Invoker.                                             -->
+  <!-- This servlet invokes anonymous servlets that have not been defined   -->
+  <!-- in the web.xml or by other means. The first element of the pathInfo  -->
+  <!-- of a request passed to the envoker is treated as a servlet name for  -->
+  <!-- an existing servlet, or as a class name of a new servlet.            -->
+  <!-- This servlet is normally mapped to /servlet/*                        -->
+  <!-- This servlet support the following initParams:                       -->
+  <!--                                                                      -->
+  <!--  nonContextServlets       If false, the invoker can only load        -->
+  <!--                           servlets from the contexts classloader.    -->
+  <!--                           This is false by default and setting this  -->
+  <!--                           to true may have security implications.    -->
+  <!--                                                                      -->
+  <!--  verbose                  If true, log dynamic loads                 -->
+  <!--                                                                      -->
+  <!--  *                        All other parameters are copied to the     -->
+  <!--                           each dynamic servlet as init parameters    -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- Uncomment for dynamic invocation
+  <servlet>
+    <servlet-name>invoker</servlet-name>
+    <servlet-class>org.eclipse.jetty.servlet.Invoker</servlet-class>
+    <init-param>
+      <param-name>verbose</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>nonContextServlets</param-name>
+      <param-value>false</param-value>
+    </init-param>
+    <init-param>
+      <param-name>dynamicParam</param-name>
+      <param-value>anyValue</param-value>
+    </init-param>
+    <load-on-startup>0</load-on-startup>
+  </servlet>
+
+  <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern> </servlet-mapping>
+  -->
+
+
+
+  <!-- ==================================================================== -->
+  <session-config>
+    <session-timeout>30</session-timeout>
+  </session-config>
+
+  <!-- ==================================================================== -->
+  <!-- Default MIME mappings                                                -->
+  <!-- The default MIME mappings are provided by the mime.properties        -->
+  <!-- resource in the org.eclipse.jetty.server.jar file.  Additional or modified  -->
+  <!-- mappings may be specified here                                       -->
+  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  -->
+  <!-- UNCOMMENT TO ACTIVATE
+  <mime-mapping>
+    <extension>mysuffix</extension>
+    <mime-type>mymime/type</mime-type>
+  </mime-mapping>
+  -->
+
+  <!-- ==================================================================== -->
+  <welcome-file-list>
+    <welcome-file>index.html</welcome-file>
+    <welcome-file>index.htm</welcome-file>
+    <welcome-file>index.jsp</welcome-file>
+  </welcome-file-list>
+
+  <!-- ==================================================================== -->
+  <locale-encoding-mapping-list>
+    <locale-encoding-mapping><locale>ar</locale><encoding>ISO-8859-6</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>be</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>bg</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ca</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>cs</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>da</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>de</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>el</locale><encoding>ISO-8859-7</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>en</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>es</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>et</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fi</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>fr</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hr</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>hu</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>is</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>it</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>iw</locale><encoding>ISO-8859-8</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ja</locale><encoding>Shift_JIS</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ko</locale><encoding>EUC-KR</encoding></locale-encoding-mapping>     
+    <locale-encoding-mapping><locale>lt</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>lv</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>mk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>nl</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>no</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>pt</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ro</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>ru</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sh</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sk</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sl</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sq</locale><encoding>ISO-8859-2</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sr</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>sv</locale><encoding>ISO-8859-1</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>tr</locale><encoding>ISO-8859-9</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>uk</locale><encoding>ISO-8859-5</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh</locale><encoding>GB2312</encoding></locale-encoding-mapping>
+    <locale-encoding-mapping><locale>zh_TW</locale><encoding>Big5</encoding></locale-encoding-mapping>   
+  </locale-encoding-mapping-list>
+  
+  <security-constraint>
+    <web-resource-collection>
+      <web-resource-name>Disable TRACE</web-resource-name>
+      <url-pattern>/</url-pattern>
+      <http-method>TRACE</http-method>
+    </web-resource-collection>
+    <auth-constraint/>
+  </security-constraint>
+  
+</web-app>
+
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/lib/ext/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/lib/ext/README
new file mode 100644
index 0000000..921d5f4
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/lib/ext/README
@@ -0,0 +1,2 @@
+Place here the jars that are inserted in the jetty classloader.
+As similar as possible as what this folder was for in the classical jetty installation.
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/logs/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/logs/README
new file mode 100644
index 0000000..ef50374
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/logs/README
@@ -0,0 +1,3 @@
+This folder contains the logs by default during development time.
+In production or outside the eclipse PDE, it is likely that a different jetty.home
+was set or jetty.log so it won't be here.
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.bat b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.bat
new file mode 100644
index 0000000..d70586d
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.bat
@@ -0,0 +1,121 @@
+@ echo off 
+:: ========================================================================
+:: Copyright (c) 2006-2010 Intalio Inc
+:: ------------------------------------------------------------------------
+:: All rights reserved. This program and the accompanying materials
+:: are made available under the terms of the Eclipse Public License v1.0
+:: and Apache License v2.0 which accompanies this distribution.
+:: The Eclipse Public License is available at 
+:: http://www.eclipse.org/legal/epl-v10.html
+:: The Apache License v2.0 is available at
+:: http://www.opensource.org/licenses/apache2.0.php
+:: You may elect to redistribute this code under either of these licenses. 
+:: ========================================================================
+:: Author hmalphettes
+:: This scripts generates a command-line to launch equinox.
+:: It uses the arguments defined in the *.ini file
+
+setlocal enabledelayedexpansion
+
+:: Locate the folder of the bat file.
+:: Use the short path so we don't have issues with spaces.
+set ECLIPSEHOME=%~sdp0
+
+:: find the eclipse.ini file:
+for /F "tokens=* delims=" %%A in ('dir /b %ECLIPSEHOME%\*.ini') do set ECLIPSE_INI=%ECLIPSEHOME%\%%A
+
+:: the bat does not assume that we are in the installation folder
+:: but the jetty code does because jetty.home=. in the config.ini
+cd %ECLIPSEHOME%
+
+goto :assemble
+
+:findargvalue
+set argname=-%1
+set argfound=false
+set "argvalue="
+::echo arg: %argname%
+for /f "eol= tokens=* delims= usebackq" %%i in (%ECLIPSE_INI%) do (
+    if "!argfound!" == "true" (
+        set argvalue=%%i
+        goto :findargvalue_checkNotFlag
+    ) else (
+        if %argname%==%%i set argfound=true
+    )
+)
+goto :eof
+
+:findargvalue_checkNotFlag
+::some arguments are either flags or parameters( -console).
+::if the next line starts with a '-' then consider that a flag
+set first=%argvalue:~0,1%
+if %first%==- set "argvalue="
+goto :eof
+
+:findjavaopts
+set argname=-vmargs
+set argfound=false
+set "argvalue="
+for /f "eol= tokens=* delims= usebackq" %%i in (%ECLIPSE_INI%) do (
+    if "!argfound!" == "true" (
+        set "argvalue=!argvalue! %%i"
+    ) else (
+        if %argname%==%%i set argfound=true
+    )
+)
+goto :eof
+
+
+:assemble
+:: console
+call :findargvalue console
+set "console="
+if not "%argvalue%"=="" (
+    set "console= -console %argvalue%"
+) else (
+    if %argfound%==true  set "console= -console"
+)
+echo the console arG %console%
+
+:: startup:
+call :findargvalue startup
+set argvalue=%argValue:/=\%
+set startup=%ECLIPSEHOME%%argvalue%
+set install=%ECLIPSEHOME%
+
+:: application
+call :findargvalue application
+set "application="
+if not "%argvalue%"=="" (
+    set "application= -application %argvalue%"
+)
+
+:: logback config:
+set "logback=-Dlogback.configurationFile^=%ECLIPSEHOME%etc\logback.xml"
+
+::-launcher.XXMaxPermSize
+call :findargvalue -launcher.XXMaxPermSize
+set "XXMaxPermSize="
+if not "%argvalue%"=="" (
+    set XXMaxPermSize=" -XX:MaxPermSize^=%argvalue%"
+)
+
+::vmargs
+call :findjavaopts
+set "vmargs=%argvalue% "
+
+::JAVA_HOME if defined:
+set java=java
+if not "%JAVA_HOME%"=="" set java="%JAVA_HOME%\bin\java"
+
+:: print the cmd:
+REM Creating a Newline variable (the two blank lines are required!)
+set NLM=^
+
+
+set NL=^^^%NLM%%NLM%^%NLM%%NLM%
+
+:: start Eclipse w/ java
+set command=%java% -jar %startup% %vmargs% %logback% -install %install%%application%%console%%XXMaxPermSize% %*
+echo %NL%Launching Equinox with: %command%%NL%
+%command%
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.sh b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.sh
new file mode 100755
index 0000000..fd29dd6
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/start.sh
@@ -0,0 +1,104 @@
+#!/bin/bash
+# ========================================================================
+# Copyright (c) 2006-2010 Intalio Inc
+# ------------------------------------------------------------------------
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# and Apache License v2.0 which accompanies this distribution.
+# The Eclipse Public License is available at 
+# http://www.eclipse.org/legal/epl-v10.html
+# The Apache License v2.0 is available at
+# http://www.opensource.org/licenses/apache2.0.php
+# You may elect to redistribute this code under either of these licenses. 
+# ========================================================================
+# Author hmalphettes
+# This scripts generates a command-line to launch equinox.
+# It uses the arguments defined in the *.ini file
+
+# set path to eclipse folder. If local folder, use '.'; otherwise, use /path/to/eclipse/
+eclipsehome=`dirname $0`;
+cd $eclipsehome
+eclipsehome=`pwd`
+
+iniLookupFolder=$eclipsehome
+# get path to equinox jar inside $eclipsehome folder
+ini=$(find $eclipsehome -mindepth 1 -maxdepth 1 -name "*.ini" | sort | tail -1);
+if [ ! -f "$ini" ]; then
+#maybe a mac
+appFolder=$(find $eclipsehome -mindepth 1 -maxdepth 1 -type d -name "*.app" | sort | tail -1);
+  iniLookupFolder="$appFolder/Contents/MacOS"
+  if [ -d "$iniLookupFolder" ]; then
+    ini=$(find $iniLookupFolder -mindepth 1 -maxdepth 1 -type f -name "*.ini" | sort | tail -1);
+  fi
+fi
+if [ -f "$ini" ]; then
+  args=`cat $ini | tr '\n' ' ' | awk -F'-startup ' '{print $2}'`
+  ini_str=`cat $ini | tr '\n' ' '`
+else
+  #this only works for a standalone (aka "roaming") install
+  args=$(find $eclipsehome -name "org.eclipse.equinox.launcher_*.jar" | sort | tail -1);
+fi
+if [ ! -f "$args" ]; then
+  #was returned as path relative to iniLookupFolder
+  args="$iniLookupFolder/$args"
+fi
+
+if [ -z "$JAVA_OPTS" ]; then
+#    JAVA_OPTS="-XX:MaxPermSize=384m -Xms96m -Xmx784m"
+  #PermGen
+  XXMaxPermSize=`sed -n '/--launcher\.XXMaxPermSize/{n;p;}' cloud.ini`
+  if [ -n "$XXMaxPermSize" ]; then
+    XXMaxPermSize=" $XXMaxPermSize"
+  fi
+  #vmargs
+  JAVA_OPTS=`sed '1,/-vmargs/d' cloud.ini | tr '\n' ' '`$XXMaxPermSize
+  if [ -z "$JAVA_OPTS" ]; then
+    JAVA_OPTS="-XX:MaxPermSize=384m -Xms96m -Xmx784m"
+  fi
+fi
+#use -install unless it was already specified in the ini file:
+installArg=
+if echo $* | grep -Eq ' -install'
+then
+    #echo "-install already defined in the ini file"
+    installArg=""
+else
+    installArg=" -install $eclipsehome"
+fi
+
+#use -configuration unless it was already specified in the ini file:
+configurationArg=
+if echo $* | grep -Eq ' -configuration'
+then
+    #echo "-install already defined in the ini file"
+    configurationArg=""
+else
+    tmp_config_area=`mktemp -d /tmp/cloudConfigArea.XXXXXX`
+    configurationArg=" -configuration $tmp_config_area"
+fi
+
+logback=
+if echo $* | grep -Eq ' -Dlogback.configurationFile='
+then
+    #logback conf specified on cmd line.
+    logback=""
+else
+    logback=" -Dlogback.configurationFile=$eclipsehome/etc/logback.xml "
+fi
+
+#Read the console argument. It could be a flag.
+console=`awk '{if ($1 ~ /-console/){print $1}}' < $ini | head -1`
+if [ ! -z "$console" ]; then
+  consoleArg=`sed -n '/-console/{n;p;}' $ini`
+  first=`echo $consoleArg | cut -c1-1`
+  echo "$consoleArg -> $first"
+  if [ "$first" = "-" ]; then
+    console=" -console $consoleArg"
+  else
+    console=" -console"
+  fi
+fi
+
+cmd="java $JAVA_OPTS -jar $args$installArg$configurationArg$logback$console $*"
+echo "Staring Equinox with $cmd"
+$cmd
\ No newline at end of file
diff --git a/jetty-features/org.eclipse.jetty.starterkit/jettyhome/webapps/README b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/webapps/README
new file mode 100644
index 0000000..08a57ed
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.starterkit/jettyhome/webapps/README
@@ -0,0 +1,2 @@
+Default locations for standard web-applications.
+Those applications are unlikely to have access to the OSGi framework currently.
\ No newline at end of file
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.starterkit/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.starterkit/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.starterkit/pom.xml
similarity index 75%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.starterkit/pom.xml
index ce04e7f..d1a9a3e 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.starterkit/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <!--relativePath>../../../jetty-osgi</relativePath-->
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <artifactId>org.eclipse.jetty.starterkit</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f.source/build.properties b/jetty-features/org.eclipse.jetty.tooling/build.properties
similarity index 100%
copy from jetty.bundles.f.source/build.properties
copy to jetty-features/org.eclipse.jetty.tooling/build.properties
diff --git a/jetty.bundles.f.source/epl-v10.html b/jetty-features/org.eclipse.jetty.tooling/epl-v10.html
similarity index 100%
copy from jetty.bundles.f.source/epl-v10.html
copy to jetty-features/org.eclipse.jetty.tooling/epl-v10.html
diff --git a/jetty.bundles.f.source/feature.properties b/jetty-features/org.eclipse.jetty.tooling/feature.properties
similarity index 96%
copy from jetty.bundles.f.source/feature.properties
copy to jetty-features/org.eclipse.jetty.tooling/feature.properties
index 6f1ce3c..7700b11 100644
--- a/jetty.bundles.f.source/feature.properties
+++ b/jetty-features/org.eclipse.jetty.tooling/feature.properties
@@ -14,8 +14,8 @@
 # java.io.Properties file (ISO 8859-1 with "\" escapes)
 # This file should be translated.
 
-featureName=Jetty - Bundles: all the jetty bundles sources
-description=Jetty, the HTTP software component. This feature is not meant to be consumed as is. Just an artifact to be able to publish all the jetty jars in a p2 repository.\n\
+featureName=Jetty-OSGi tooling for PDE
+description=PDE Launch and project templates, run and debug webapp-java-projects and webapp-osgi-bundles
 descriptionURL=http://eclipse.org/jetty
 
 
@@ -35,7 +35,7 @@
 # should be plain text version of license agreement pointed to be "licenseURL"
 license=\
 Eclipse Foundation Software User Agreement\n\
-April 14, 2010\n\
+February 1, 2011\n\
 \n\
 Usage Of Content\n\
 \n\
@@ -104,6 +104,7 @@
 TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
 SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
 \n\
+       - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
        - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
        - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
        - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
diff --git a/jetty-features/org.eclipse.jetty.tooling/feature.xml b/jetty-features/org.eclipse.jetty.tooling/feature.xml
new file mode 100644
index 0000000..3389335
--- /dev/null
+++ b/jetty-features/org.eclipse.jetty.tooling/feature.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+// ========================================================================
+// Copyright (c) 2009 Intalio, Inc.
+// 
+// All rights reserved. This program and the accompanying materials
+// are made available under the terms of the Eclipse Public License v1.0
+// and Apache License v2.0 which accompanies this distribution.
+// The Eclipse Public License is available at 
+// http://www.eclipse.org/legal/epl-v10.html
+// The Apache License v2.0 is available at
+// http://www.opensource.org/licenses/apache2.0.php
+// You may elect to redistribute this code under either of these licenses. 
+// Contributors:
+//    Hugues Malphettes - initial API and implementation
+// ========================================================================
+-->
+<feature
+      id="org.eclipse.jetty.tooling"
+      label="%featureName"
+      version="7.2.2.qualifier"
+      provider-name="%providerName">
+
+   <description url="%descriptionURL">
+      %description
+   </description>
+
+   <copyright url="%copyrightURL">
+      %copyright
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <requires>
+      <import feature="org.eclipse.pde" version="3.6.0"/>
+   </requires>
+
+   <plugin
+         id="org.eclipse.jetty.osgi.pde.launch"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.osgi.pde.templates"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.osgi.pde.launch.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.jetty.osgi.pde.templates.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+<!-- Commented out until #309349 is fixed. -->
+   <!-- plugin
+         id="org.eclipse.jetty.osgi.boot.jdt"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+         
+   <plugin
+         id="org.eclipse.jetty.osgi.boot.jdt.source"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/-->
+
+</feature>
diff --git a/jetty.bundles.f.source/license.html b/jetty-features/org.eclipse.jetty.tooling/license.html
similarity index 100%
copy from jetty.bundles.f.source/license.html
copy to jetty-features/org.eclipse.jetty.tooling/license.html
diff --git a/jetty.bundles.f.source/pom.xml b/jetty-features/org.eclipse.jetty.tooling/pom.xml
similarity index 76%
copy from jetty.bundles.f.source/pom.xml
copy to jetty-features/org.eclipse.jetty.tooling/pom.xml
index ce04e7f..f6ca91b 100644
--- a/jetty.bundles.f.source/pom.xml
+++ b/jetty-features/org.eclipse.jetty.tooling/pom.xml
@@ -18,10 +18,12 @@
 <project>
   <modelVersion>4.0.0</modelVersion>
   <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
+    <artifactId>jetty-osgi</artifactId>
+    <groupId>org.eclipse.jetty.osgi</groupId>
+    <version>7.4.5-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
   </parent>
-  <artifactId>org.eclipse.jetty.bundles.f.source</artifactId>
+  <groupId>org.eclipse.jetty.osgi</groupId>
+  <artifactId>org.eclipse.jetty.tooling</artifactId>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/jetty.bundles.f/epl-v10.html b/jetty.bundles.f/epl-v10.html
deleted file mode 100644
index fd39122..0000000
--- a/jetty.bundles.f/epl-v10.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
diff --git a/jetty.bundles.f/license.html b/jetty.bundles.f/license.html
deleted file mode 100644
index f19c483..0000000
--- a/jetty.bundles.f/license.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Foundation Software User Agreement</title>
-</head>
-
-<body lang="EN-US">
-<h2>Eclipse Foundation Software User Agreement</h2>
-<p>February 1, 2011</p>
-
-<h3>Usage Of Content</h3>
-
-<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0
-   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
-   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<ul>
-       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
-       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
-       <li>A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.  Each Feature may be packaged as a sub-directory in a directory named &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
-      and/or Fragments associated with that Feature.</li>
-       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
-</ul>
-
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-       <li>The top-level (root) directory</li>
-       <li>Plug-in and Fragment directories</li>
-       <li>Inside Plug-ins and Fragments packaged as JARs</li>
-       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
-       <li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process.  If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them.  Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot; found within a Feature.
-Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
-       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
-       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
-       <li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License, or Feature Update License is provided, please
-contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.</p>
-
-
-<h3>Use of Provisioning Technology</h3>
-
-<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
-   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
-   other materials (collectively &quot;Installable Software&quot;). This capability is provided with the intent of allowing such users to
-   install, extend and update Eclipse-based products. Information about packaging Installable Software is available at <a
-       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
-   (&quot;Specification&quot;).</p>
-
-<p>You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the
-   applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology
-   in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the
-   Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:</p>
-
-<ol>
-       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
-       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
-       product.</li>
-       <li>During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be
-       accessed and copied to the Target Machine.</li>
-       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
-       Software (&quot;Installable Software Agreement&quot;) and such Installable Software Agreement shall be accessed from the Target
-       Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern
-       the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such
-       indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.</li>
-</ol>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to
-   another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import,
-   possession, or use, and re-export of encryption software, to see if this is permitted.</p>
-
-<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
-</body>
-</html>
diff --git a/jetty.bundles.f/pom.xml b/jetty.bundles.f/pom.xml
deleted file mode 100644
index 555ada1..0000000
--- a/jetty.bundles.f/pom.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-// ========================================================================
-// Copyright (c) 2009 Intalio, Inc.
-// 
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// and Apache License v2.0 which accompanies this distribution.
-// The Eclipse Public License is available at 
-// http://www.eclipse.org/legal/epl-v10.html
-// The Apache License v2.0 is available at
-// http://www.opensource.org/licenses/apache2.0.php
-// You may elect to redistribute this code under either of these licenses. 
-// Contributors:
-//    Hugues Malphettes - initial API and implementation
-// ========================================================================
--->
-<project>
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.jetty.bundles.f</artifactId>
-  <packaging>eclipse-feature</packaging>
-</project>
diff --git a/jetty.bundles.repo/pom.xml b/jetty.bundles.repo/pom.xml
deleted file mode 100644
index e91df0f..0000000
--- a/jetty.bundles.repo/pom.xml
+++ /dev/null
@@ -1,146 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    ========================================================================
-    // Copyright (c) 2009-2010 Intalio, Inc.
-    // All rights reserved. This program and the accompanying materials
-    // are made available under the terms of the Eclipse Public License v1.0
-    // and Apache License v2.0 which accompanies this distribution.
-    // The Eclipse Public License is available at
-    // http://www.eclipse.org/legal/epl-v10.html
-    // The Apache License v2.0 is available at
-    // http://www.opensource.org/licenses/apache2.0.php
-    // You may elect to redistribute this code under either of these licenses.
-    // Contributors:
-    // Hugues Malphettes - initial API and implementation
-    // Jesse Mcconnell - Signing
-    ========================================================================
--->
-<project>
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.eclipse.jetty.p2repo</groupId>
-    <artifactId>jetty-p2repo</artifactId>
-    <version>7.5.0-SNAPSHOT</version>
-  </parent>
-  <artifactId>org.eclipse.jetty.bundles.repo</artifactId>
-  <!--packaging>eclipse-repository</packaging-->
-  <packaging>eclipse-update-site</packaging>
-  <profiles>
-    <profile>
-     <id>packAndSign</id>
-      <activation>
-        <property>
-          <name>pack-and-sign</name>
-          <value>true</value>
-        </property>
-      </activation>
-      <build>
-       <plugins>
-         <plugin>
-            <artifactId>maven-antrun-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>zip-repository</id>
-                <phase>package</phase>
-                <goals>
-                  <goal>run</goal>
-                </goals>
-                <configuration>
-                  <tasks>
-                    <zip destfile="${project.build.directory}/bundles-site.zip" basedir="${project.build.directory}/site/"/>
-                  </tasks>
-                </configuration>
-              </execution>
-              <execution>
-                 <id>replace-unsigned-repository-by-signed-one</id>
-                 <phase>verify</phase>
-                 <goals>
-                   <goal>run</goal>
-                 </goals>
-                 <configuration>
-                   <tasks>
-                     <move file="${project.build.directory}/site" tofile="${project.build.directory}/site-not-signed"/>
-                     <move file="${project.build.directory}/checksumFix" tofile="${project.build.directory}/site"/>
-                   </tasks>
-                 </configuration>
-              </execution>
-              <!-- This keeps failing. Using a shell script instead. -->
-              <!--execution>
-                <id>deploy</id>
-                <phase>verify</phase>
-                <goals>
-                  <goal>run</goal>
-                </goals>
-                <configuration>
-                  <tasks>
-                    <delete includeemptydirs="false">
-                      <fileset
-                        dir="/home/data/httpd/download.eclipse.org/jetty/updates/jetty-bundles-7.x/${p2-install-folder-name}">
-                        <include name="**" />
-                      </fileset>
-                    </delete>
-                    <mkdir dir="/home/data/httpd/download.eclipse.org/jetty/updates/jetty-bundles-7.x/${p2-install-folder-name}"/>
-                    <copy includeemptydirs="false"
-                      todir="/home/data/httpd/download.eclipse.org/jetty/updates/jetty-bundles-7.x/${p2-install-folder-name}">
-                      <fileset dir="target/site">
-                        <include name="**" />
-                      </fileset>
-                    </copy>
-                  </tasks>
-                </configuration>
-              </execution-->
-           </executions>
-         </plugin>
-         <plugin>
-           <groupId>org.eclipse.dash.maven</groupId>
-           <artifactId>eclipse-maven-signing-plugin</artifactId>
-           <version>${signing-plugin-version}</version>
-           <executions>
-             <execution>
-               <id>pack</id>
-               <configuration>
-                 <inputFile>${project.build.directory}/bundles-site.zip</inputFile>
-               </configuration>
-               <phase>integration-test</phase>
-               <goals>
-                 <goal>pack</goal>
-               </goals>
-             </execution>
-             <execution>
-               <id>sign</id>
-               <configuration>
-                 <inputFile>${project.build.directory}/packed/bundles-site.zip</inputFile>
-                 <signerInputDirectory>/home/data/httpd/download-staging.priv/rt/jetty/wksigning</signerInputDirectory>
-               </configuration>
-               <phase>integration-test</phase>
-               <goals>
-                 <goal>sign</goal>
-               </goals>
-             </execution>
-             <execution>
-               <id>repack</id>
-               <configuration>
-                 <inputFile>${project.build.directory}/signed/site_assembly.zip</inputFile>
-               </configuration>
-               <phase>integration-test</phase>
-               <goals>
-                 <goal>pack</goal>
-               </goals>
-             </execution>
-             <execution>
-               <id>fixCheckSums</id>
-               <configuration>
-                 <inputFile>${project.build.directory}/packed/site_assembly.zip</inputFile>
-               </configuration>
-               <phase>integration-test</phase>
-               <goals>
-                 <goal>fixCheckSums</goal>
-               </goals>
-             </execution>
-           </executions>
-         </plugin>
-        </plugins>
-       </build>
-     </profile>
-  </profiles>
-</project>
diff --git a/jetty.bundles.repo/site.xml b/jetty.bundles.repo/site.xml
deleted file mode 100644
index 2f716ed..0000000
--- a/jetty.bundles.repo/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site name="Jetty Bundles Repository">
-   <feature url="org.eclipse.jetty.bundles.f_7.5.0.qualifier" id="org.eclipse.jetty.bundles.f" version="7.5.0.qualifier">
-   </feature>
-   <feature url="org.eclipse.jetty.bundles.f.source_7.5.0.qualifier" id="org.eclipse.jetty.bundles.f.source" version="7.5.0.qualifier">
-   </feature>
-</site>
diff --git a/pom.xml b/pom.xml
index e8871d6..ac6f129 100644
--- a/pom.xml
+++ b/pom.xml
@@ -2,37 +2,51 @@
 <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <modelVersion>4.0.0</modelVersion>
-  <groupId>org.eclipse.jetty.p2repo</groupId>
-  <artifactId>jetty-p2repo</artifactId>
-  <version>7.5.0-SNAPSHOT</version>
+  <groupId>org.eclipse.jetty.osgi</groupId>
+  <artifactId>jetty-osgi</artifactId>
+  <version>7.4.5-SNAPSHOT</version>
   <packaging>pom</packaging>
   <modules>
     
-    <module>jetty.bundles.f</module>
-    <module>jetty.bundles.f.source</module>
-    <module>jetty.bundles.repo</module>
+    <module>jetty-features/org.eclipse.jetty.core</module>
+
+    <module>jetty-features/javax.servlet.jsp.glassfish</module>
+    <module>jetty-features/javax.servlet.jsp.glassfish.source</module>
+    
+    <module>jetty-features/org.eclipse.jetty.slf4jlogback</module>
+    <module>jetty-features/org.eclipse.jetty.slf4jlogback.source</module>
+    
+    <module>jetty-features/org.eclipse.jetty.all</module>
+    <module>jetty-features/org.eclipse.jetty.all.dependencies</module>
+    
+    <module>jetty-features/org.eclipse.jetty.sdk.support</module>
+    <module>jetty-features/org.eclipse.jetty.sdk</module>
+
+    <module>jetty-features/org.eclipse.jetty.bundles.f.source</module>
+
+    <module>jetty-features/org.eclipse.jetty.starterkit</module>
+    <module>jetty-features/org.eclipse.jetty.product</module>
     
   </modules>
-
+   
   <properties>
-    <!-- <forceContextQualifier>qualifier</forceContextQualifier> -->
-      
-    <tycho-version>0.12.0</tycho-version>    
-    
-    <jetty-version>7.5.0-SNAPSHOT</jetty-version>
+    <eclipse-mirror-url>http://download.eclipse.org</eclipse-mirror-url>
+  
+    <!--pathToPack200ParentFolder>/usr/lib/jvm/java-5-sun/bin</pathToPack200ParentFolder-->
+    <pathToPack200ParentFolder>/home/hmalphettes/apps/jdk1.5.0_21/bin</pathToPack200ParentFolder>
+
     <p2-install-folder-name>development</p2-install-folder-name>
+    <p2-install-parent-folder-name>jetty-rt-3.7-N-builds</p2-install-parent-folder-name>
+
     <signing-plugin-version>1.0.1.2-SNAPSHOT</signing-plugin-version>
 
-    
-    <eclipse-mirror-url>http://download.eclipse.org</eclipse-mirror-url>
-    <equinox-site><!--${eclipse-mirror-url}/eclipse/updates/3.7milestones-->file:///home/hmalphettes/p2repo/eclipse-3.7RC5</equinox-site>
-    <orbit-site>${eclipse-mirror-url}/tools/orbit/downloads/drops/R20110523182458/repository</orbit-site>
-    
+    <tycho-version>0.9.1</tycho-version>
+    <orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository</orbit-site>
   </properties>
-
+  
   <profiles>
     <profile>
-      <id>release</id>
+      <id>set-jetty-release</id>
       <activation>
         <property>
           <name>jetty-release-version</name>
@@ -40,11 +54,90 @@
       </activation>
       <properties>
         <jetty-version>${jetty-release-version}</jetty-version>
-        <p2-install-folder-name>${jetty-release-version}</p2-install-folder-name>
+      </properties>
+    </profile>
+    <profile>
+      <id>indigo-nightly</id>
+      <activation>
+        <activeByDefault>true</activeByDefault>
+        <property>
+          <name>platform</name>
+          <value>indigo-nightly</value>
+        </property>
+      </activation>
+      <properties>
+        <build-identifier>N</build-identifier>
+        <jetty-version>development</jetty-version>
+        <!-- equinox does not provide nightly builds anymore: using the 'I' build instead. -->
+        <equinox-site>http://download.eclipse.org/eclipse/updates/3.7-I-builds</equinox-site>
+        <jetty-bundles-site>http://download.eclipse.org/jetty/updates/jetty-bundles-7.x/development</jetty-bundles-site>
+      </properties>
+    </profile>
+    <profile>
+      <id>indigo-milestone</id>
+      <activation>
+        <property>
+          <name>platform</name>
+          <value>indigo-milestone</value>
+        </property>
+      </activation>
+      <properties>
+        <!--forceContextQualifier>v20110513</forceContextQualifier-->
+        <p2-install-folder-name>staging-milestone</p2-install-folder-name>
+        <p2-install-parent-folder-name>jetty-rt-3.7milestones</p2-install-parent-folder-name>
+        <equinox-site>http://download.eclipse.org/eclipse/updates/3.7milestones</equinox-site>
+        <!-- if jetty version is specified, it will pick up that particular version of jetty. otherwise use the composite repo. -->
+        <jetty-bundles-site>http://download.eclipse.org/jetty/updates/jetty-bundles-7.x/${jetty-version}</jetty-bundles-site>
+      </properties>
+    </profile>
+    <profile>
+      <!-- equinox milestone + jetty snapshot -->
+      <id>indigo-milestone-dev</id>
+      <activation>
+        <property>
+          <name>platform</name>
+          <value>indigo-milestone-dev</value>
+        </property>
+      </activation>
+      <properties>
+        <equinox-site><!--http://download.eclipse.org/eclipse/updates/3.7milestones-->file:///home/hmalphettes/p2repo/eclipse-3.7RC5</equinox-site>
+        <jetty-bundles-site><!--http://download.eclipse.org/jetty/updates/jetty-bundles-7.x/development-->file:///home/hmalphettes/proj/osgi-exp/jetty-svn/jetty-tycho-builds/jetty-bundles/jetty-7/jetty.bundles.repo/target/site</jetty-bundles-site>
+      </properties>
+    </profile>
+    <profile>
+      <!-- equinox milestone + jetty snapshot -->
+      <id>indigo-milestone-8dev</id>
+      <activation>
+        <property>
+          <name>platform</name>
+          <value>indigo-milestone-8dev</value>
+        </property>
+      </activation>
+      <properties>
+        <equinox-site>http://download.eclipse.org/eclipse/updates/3.7milestones</equinox-site>
+        <jetty-bundles-site>http://download.eclipse.org/jetty/updates/jetty-bundles-8.x/development</jetty-bundles-site>
       </properties>
     </profile>
   </profiles>
 
+  <repositories>
+   <repository>
+     <id>jetty-bundles-site</id>
+     <layout>p2</layout>
+     <url>${jetty-bundles-site}</url>
+   </repository>
+   <repository>
+     <id>equinox</id>
+     <layout>p2</layout>
+     <url>${equinox-site}</url>
+   </repository>
+   <repository>
+     <id>orbit</id>
+     <layout>p2</layout>
+     <url>${orbit-site}</url>
+   </repository>
+  </repositories>
+  
   <pluginRepositories>
      <pluginRepository>
        <id>dash-plugins</id>
@@ -57,387 +150,153 @@
        </releases>
      </pluginRepository>
      <pluginRepository>
-       <id>intalio-dash-plugins</id>
-       <url>http://intalio.org/public/maven2</url>
-       <snapshots>
+      <id>dash-and-tycho-plugins</id>
+<!--      <url>http://repository.sonatype.org/content/repositories/snapshots/</url> -->
+      <url>http://intalio.org/public/maven2</url>
+      <snapshots>
         <enabled>true</enabled>
-       </snapshots>
-       <releases>
+      </snapshots>
+      <releases>
         <enabled>true</enabled>
-       </releases>
-     </pluginRepository>
+      </releases>
+    </pluginRepository>
   </pluginRepositories>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot-jsp</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot-warurl</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-equinoxtools</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-httpservice</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
   
-<!-- standard jetty artifacts -->
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-ajp</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-annotations</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-client</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-continuation</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-deploy</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-http</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-io</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jaspi</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jmx</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jndi</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jsp-2.1</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-nested</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-plus</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-policy</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-rewrite</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-security</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-server</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlet</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlets</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-webapp</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-websocket</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-xml</artifactId>
-      <version>${jetty-version}</version>
-    </dependency>
-    
-    <!-- sources artifacts so that we can place them in the features -->
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-ajp</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot-jsp</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-boot-warurl</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-httpservice</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty.osgi</groupId>
-      <artifactId>jetty-osgi-equinoxtools</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-  
-<!-- standard jetty artifacts -->
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-annotations</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-client</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-continuation</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-deploy</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-http</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-io</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jaspi</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jmx</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jndi</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-jsp-2.1</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-nested</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-plus</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-policy</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-rewrite</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-security</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-server</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlet</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-servlets</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-util</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-webapp</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-websocket</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.eclipse.jetty</groupId>
-      <artifactId>jetty-xml</artifactId>
-      <version>${jetty-version}</version>
-      <classifier>sources</classifier>
-    </dependency>
-        
-  </dependencies>
-
-  <repositories>
-   <!--repository>
-     <id>jetty-staging</id>
-     <url>https://oss.sonatype.org/content/groups/jetty-with-staging</url>
-   </repository-->
-   <repository>
-     <id>equinox</id>
-     <layout>p2</layout>
-     <url>${equinox-site}</url>
-   </repository>
-   <repository>
-     <id>orbit</id>
-     <layout>p2</layout>
-     <url>${orbit-site}</url>
-   </repository>
-  </repositories>
-    
   <build>
     <plugins>
       <plugin>
-        <groupId>org.eclipse.tycho</groupId>
+        <groupId>org.sonatype.tycho</groupId>
         <artifactId>tycho-maven-plugin</artifactId>
         <version>${tycho-version}</version>
         <extensions>true</extensions>
       </plugin>
-      
       <plugin>
-        <!-- TODO remove workaround when https://issues.sonatype.org/browse/TYCHO-473 
-          is fixed -->
-        <groupId>org.eclipse.tycho</groupId>
-        <artifactId>tycho-source-plugin</artifactId>
+        <groupId>org.sonatype.tycho</groupId>
+        <artifactId>maven-osgi-packaging-plugin</artifactId>
         <version>${tycho-version}</version>
-        <executions>
-          <execution>
-            <id>attach-source</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>plugin-source</goal>
-            </goals>
-          </execution>
-        </executions>
+        <configuration>
+          <includeSources>true</includeSources>
+        </configuration>
       </plugin>
       <plugin>
-        <groupId>org.eclipse.tycho</groupId>
+        <groupId>org.sonatype.tycho</groupId>
         <artifactId>target-platform-configuration</artifactId>
         <version>${tycho-version}</version>
         <configuration>
           <resolver>p2</resolver>
           <pomDependencies>consider</pomDependencies>
+          <environments>
+            <environment>
+              <os>linux</os>
+              <ws>gtk</ws>
+              <arch>x86</arch>
+            </environment>
+            <environment>
+              <os>linux</os>
+              <ws>gtk</ws>
+              <arch>x86_64</arch>
+            </environment>
+            <environment>
+              <os>win32</os>
+              <ws>win32</ws>
+              <arch>x86</arch>
+            </environment>
+            <environment>
+              <os>win32</os>
+              <ws>win32</ws>
+              <arch>x86_64</arch>
+            </environment>
+<!-- p2 has too many bugs to support macosx just yet ... only enable this 
+when tycho is built using a patched version of p2.publisher 
+            <environment>
+              <os>macosx</os>
+              <ws>carbon</ws>
+              <arch>x86</arch>
+            </environment>
+            <environment>
+              <os>macosx</os>
+              <ws>cocoa</ws>
+              <arch>x86</arch>
+            </environment>
+            <environment>
+              <os>macosx</os>
+              <ws>cocoa</ws>
+              <arch>x86_64</arch>
+            </environment>-->
+          </environments>
         </configuration>
       </plugin>
+      <!-- Build helper maven plugin sets the parsedVersion.osgiVersion property -->
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.5</version>
+        <executions>
+          <execution>
+            <id>set-osgi-version</id>
+            <phase>compile</phase>
+            <goals>
+              <goal>parse-version</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+	<inherited>true</inherited>
+	<groupId>org.sonatype.tycho</groupId>
+	<artifactId>maven-osgi-source-plugin</artifactId>
+	<version>${tycho-version}</version>
+	<executions>
+	  <execution>
+	  <id>attach-sources</id>
+	  <phase>process-classes</phase>
+	  <goals>
+	    <goal>plugin-source</goal>
+	  </goals>
+	  </execution>
+	</executions>
+      </plugin>
+
     </plugins>
+    <pluginManagement>
+      <plugins>
+	<plugin>
+	      <groupId>org.sonatype.tycho</groupId>
+	      <artifactId>tycho-p2-publisher-director</artifactId>
+	      <version>${tycho-version}</version>
+	      <configuration>
+		<compress>true</compress>
+		<statsURI>http://download.eclipse.org/releases/stats/indigo/</statsURI>	<statsTrackedArtifacts>javax.servlet.jsp.glassfish,org.eclipse.jetty.core,org.eclipse.jetty.starterkit,org.eclipse.jetty.starterkit.sdk,org.eclipse.jetty.sdk,org.eclipse.jetty.tooling,org.eclipse.pde.junit.runtime,org.eclipse.pde.junit.runtime.standalone,org.eclipse.pde.junit.runtime.addon</statsTrackedArtifacts>
+<!--	      <environmentsToArchive>os=win32;ws=win32;arch=x86*
+                        os=linux;ws=gtk;arch=x86*
+                        os=macosx;ws=cocoa;arch=x86*
+                      </environmentsToArchive> -->
+                        <!-- mac fails at the moment? -->
+          <environmentsToArchive>os=win32;ws=win32;arch=x86*
+                        os=linux;ws=gtk;arch=x86*
+          </environmentsToArchive>
+	      <productsToArchive>*EclipseRT*</productsToArchive>
+	      </configuration>
+	</plugin>
+        <plugin>
+          <groupId>org.sonatype.tycho</groupId>
+          <artifactId>maven-osgi-compiler-plugin</artifactId>
+          <version>${tycho-version}</version>
+          <configuration>
+            <encoding>UTF-8</encoding>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.4.1</version>
+          <configuration>
+            <encoding>UTF-8</encoding>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
   </build>  
   
+  
 </project>
diff --git a/post-tycho.sh b/post-tycho.sh
old mode 100755
new mode 100644
index 8aaa987..304c72f
--- a/post-tycho.sh
+++ b/post-tycho.sh
@@ -2,18 +2,25 @@
 #Move the generated p2 repository to its location on download.eclipse.org/jetty/updates
 pwd
 
-#export pack_and_sign
-#export jetty_release_version
-#export force_context_qualifier
+#export platform (indigo-milestone, indigo-milestone-dev, indigo-nightly)
+#export rt_release_version
 
 [ -z "$deploymentdir_parent" ] && deploymentdir_parent="/home/data/httpd/download.eclipse.org/jetty/updates"
-[ -z "$deploymentdir_name" ] && deploymentdir_name="jetty-bundles-7.x"
+if [ "$platform" = "indigo-milestone" ]; then
+  deploymentdir_name="jetty-rt-3.7milestones"
+elif [ "$platform" = "indigo-milestone-dev" -o "$platform" = "indigo-nightly" ]; then
+  deploymentdir_name="jetty-rt-3.7-N-builds"
+else
+  echo "Unknown platform $platform"
+  exit 12
+fi
 deploymentdir="$deploymentdir_parent/$deploymentdir_name"
-builtrepodir="jetty.bundles.repo/target/site"
 if [ ! -d "$deploymentdir" ]; then
   echo "Unable to find the deployment directory $deploymentdir"
   exit 12
 fi
+
+builtrepodir="jetty-features/org.eclipse.jetty.product/target/repository"
 if [ ! -d "$builtrepodir/plugins/" ]; then
   echo "Unable to find the built repository directory $builtrepodir"
   exit 12
@@ -27,35 +34,69 @@
 echo "version built $jetty_version_built"
 
 jetty_version_used=$jetty_version_built
-if [ -z "$jetty_release_version" ]; then
+if [ -z "$rt_release_version" ]; then
   echo "SNAPSHOT build: deploy in the 'development' folder."
   jetty_version_built="development"
+else
+  #Compute the qualifier using a feature and append it to the rt_release_version:
+  #so S-3.7-RC4 becomes S-3.7-RC4-201105301339 for example
+  jetty_core=`find $builtrepodir/features/org.eclipse.jetty.core_*.jar`
+  if [ -z "$jetty_core" ]; then
+    echo "Unable to locate 'features/org.eclipse.jetty.core_*.jarfeatures/org.eclipse.jetty.core_*.jar' the repository was not built correctly."
+    exit 12;
+  fi
+  jetty_core_qualifier=`echo "$jetty_core" | sed -nr 's/.*core_.*\.(.*)(\.jar)/\1/p'`
+  echo "The qualifier of the features built here: $jetty_core_qualifier"
+  jetty_version_built="$rt_release_version-$jetty_core_qualifier"
 fi
 
+
 echo "Place the product archives inside the repository"
-repository_archive_file_name="Jetty-bundles-repository-"$jetty_version_used".zip"
-[ -d "jetty.bundles.repo/target/$repository_archive_file_name" ] && rm "jetty-features/org.eclipse.jetty.product/target/$repository_archive_file_name"
-zip -r "jetty.bundles.repo/target/$repository_archive_file_name" jetty.bundles.repo/target/site
-
-mv jetty.bundles.repo/target/$repository_archive_file_name $builtrepodir/
-
-if [ -d "$deploymentdir/$jetty_version_built" ]; then
-  rm -rf $deploymentdir/$jetty_version_built
+#A product archive looks like this: EclipseRTWebStarterKit-3.7.0.201105292308-linux.gtk.x86.tar.gz
+product_file=`find jetty-features/org.eclipse.jetty.product/target/EclipseRTWebStarterKit-*-linux.gtk.x86.tar.gz`
+if [ -z "$product_file" ]; then
+  echo "Unable to locate 'EclipseRTWebStarterKit-*-linux.gtk.x86.tar.gz' there was no product archive."
+  exit 12;
 fi
-mkdir -p $deploymentdir/$jetty_version_built
+product_version_built=`echo "$product_file" | sed -nr 's/.*EclipseRTWebStarterKit-(.*)(-linux\.gtk\.x86\.tar\.gz)/\1/p'`
+echo "product built $product_file"
+echo "version built $product_version_built"
+#Also copy the windows version to get a zip arcchive:
+product_file_win32=`find jetty-features/org.eclipse.jetty.product/target/EclipseRTWebStarterKit-*-win32.win32.x86.zip`
+if [ -z "$product_file_win32" ]; then
+  echo "Unable to locate 'EclipseRTWebStarterKit-*-win32.win32.x86.zip' there was no product archive."
+  exit 12;
+fi
+
+product_file_name="EclipseRTWebStarterKit-"$product_version_built".tar.gz"
+product_file_zip_name="EclipseRTWebStarterKit-"$product_version_built".zip"
+repository_archive_file_name="EclipseRTWebStarterKit-repository-"$product_version_built".zip"
+[ -d "jetty-features/org.eclipse.jetty.product/target/$repository_archive_file_name" ] && rm "jetty-features/org.eclipse.jetty.product/target/$repository_archive_file_name"
+zip -r "jetty-features/org.eclipse.jetty.product/target/$repository_archive_file_name" jetty-features/org.eclipse.jetty.product/target/repository
+
+mv jetty-features/org.eclipse.jetty.product/target/$repository_archive_file_name $builtrepodir/
+cp $product_file $builtrepodir/$product_file_name
+cp $product_file_win32 $builtrepodir/$product_file_zip_name
+
 
 echo "Generating the index.html"
 #For the synthax of the html template see http://stackoverflow.com/questions/1609423/using-sed-to-expand-environment-variables-inside-files
 
 deploymentdir_absolute_href="/jetty/updates/$deploymentdir_name/$jetty_version_built"
 software_site_url=http://download.eclipse.org${deploymentdir_absolute_href}
+product_file_href="http://www.eclipse.org/downloads/download.php?file=$deploymentdir_absolute_href/$product_file_name"
+product_file_zip_href="http://www.eclipse.org/downloads/download.php?file=$deploymentdir_absolute_href/$product_file_zip_name"
 repository_archive_file_href="http://www.eclipse.org/downloads/download.php?file=$deploymentdir_absolute_href/$repository_archive_file_name"
 timestamp=`date`
-echo $timestamp
-export software_site_url deploymentdir_absolute_href repository_archive_file_name repository_archive_file_href jetty_version_used timestamp
+export software_site_url deploymentdir_absolute_href repository_archive_file_name repository_archive_file_href product_file_href product_file_zip_href product_version_built product_file_name product_file_zip_name jetty_version_used platform timestamp
 env | sed 's/[\%]/\\&/g;s/\([^=]*\)=\(.*\)/s%${\1}%\2%/;/^s/!d' > sed.script
 cat index-tpl.html | sed -f sed.script > $builtrepodir/index.html
 
+if [ -d "$deploymentdir/$jetty_version_built" ]; then
+  rm -rf $deploymentdir/$jetty_version_built
+fi
+mkdir -p $deploymentdir/$jetty_version_built
+
 echo "Deploying the generated p2 repository in $deploymentdir/$jetty_version_built"
 cp -r $builtrepodir/* $deploymentdir/$jetty_version_built
 #Make sure that the rt.jetty group of users can tweak things eventually. Ignore errors.
@@ -67,3 +108,4 @@
 [ -f "$deploymentdir/index.sh" ] && $deploymentdir/index.sh
 
 
+
diff --git a/set-version.sh b/set-version.sh
index fa0509f..7252db6 100755
--- a/set-version.sh
+++ b/set-version.sh
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/sh -e
 # replace in all files the OLD_VERSION by the NEW_VERSION
 # run and tested on linux.
 # no need for windows support here although any community
@@ -21,9 +21,8 @@
 fi
 if [ -z "$OLD_VERSION" ]; then
   #read it in the pom.xml
-  reg="<version>(.*)-SNAPSHOT<\/version>"
-  line=`awk '{if ($1 ~ /'$reg'/){print $1}}' < pom.xml | head -1`
-  OLD_VERSION=`echo "$line" | awk 'match($0, "<version>(.*)-SNAPSHOT</version>", a) { print a[1] }'`
+  line=`sed '/<version>.*-SNAPSHOT<\/version>/!d' pom.xml | head -1`
+  OLD_VERSION=`echo $line | sed 's/ /\//g' | sed 's/^<version>//g' | sed 's/-SNAPSHOT<\/version>//g'`
 fi
 
 # reconstruct the version and buildNumber aka qualifier.
