Updates for Eclipse 3.3 based build environment
* platform specific eclipse.ini content is taken from XML file
* plugin_customization.ini - default perspective in XML file
* config.ini - product in XML file
diff --git a/plugins/org.eclipse.epp.packaging.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.epp.packaging.core/META-INF/MANIFEST.MF
index 2b53d4e..6514f76 100644
--- a/plugins/org.eclipse.epp.packaging.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.epp.packaging.core/META-INF/MANIFEST.MF
@@ -8,7 +8,9 @@
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.ant.core,
- org.eclipse.update.core
+ org.eclipse.update.core,
+ org.eclipse.pde.build,
+ org.apache.ant
 Export-Package: org.eclipse.epp.packaging.core,
  org.eclipse.epp.packaging.core.assembly,
  org.eclipse.epp.packaging.core.configuration,
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/EclipsePackagingExecutor.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/EclipsePackagingExecutor.java
index a3e8402..e6f1734 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/EclipsePackagingExecutor.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/EclipsePackagingExecutor.java
@@ -14,6 +14,7 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.epp.packaging.core.assembly.EclipsePackager;
+import org.eclipse.epp.packaging.core.assembly.IPackager;
 import org.eclipse.epp.packaging.core.assembly.InstallerPackager;
 import org.eclipse.epp.packaging.core.assembly.PackageMover;
 import org.eclipse.epp.packaging.core.configuration.ICommands;
@@ -61,9 +62,11 @@
   private void build() throws IOException, CoreException {
     if( commands.mustDo( Task.BUILD ) ) {
       MessageLogger.getInstance().logBeginProcess( "Application.Building" ); //$NON-NLS-1$
-      new EclipsePackager( configuration ).packApplication();
-      new PackageMover( configuration ).moveFiles();
-      new InstallerPackager( configuration ).packApplication();
+      IPackager packager = new EclipsePackager( this.configuration );
+      packager.packApplication();
+      PackageMover mover = new PackageMover( this.configuration );
+      mover.moveFiles();
+//      new InstallerPackager( configuration ).packApplication();
       MessageLogger.getInstance().logEndProcess();
     }
   }
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/CustomTargetsWriter.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/CustomTargetsWriter.java
index 4aa70fc..10111bd 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/CustomTargetsWriter.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/CustomTargetsWriter.java
@@ -52,16 +52,42 @@
    * @param platform
    */
   public void addTargetFileForPlatform( final IPlatform platform ) {
-    this.writer.append( "<target name=\"assemble." //$NON-NLS-1$
+    this.writer.append( "  <target name=\"assemble." //$NON-NLS-1$
                         + platform.toString( '.' )
                         + ".xml\" depends=\"init\">\n" ); //$NON-NLS-1$
-    this.writer.append( "<ant antfile=\"${assembleScriptName}\" >\n" ); //$NON-NLS-1$
-    this.writer.append( "<property name=\"archiveName\" value=\"" //$NON-NLS-1$
+    
+    this.writer.append( "    <replaceregexp file=\"${tempDirectory}/"  //$NON-NLS-1$
+                        + platform.toString( '.' ) 
+                        + "/eclipse/configuration/config.ini\"\n" ); //$NON-NLS-1$
+    this.writer.append( "      match=\"eclipse.product=(.*)\"\n" ); //$NON-NLS-1$
+    this.writer.append( "      replace=\"eclipse.product="  //$NON-NLS-1$
+                        + this.configuration.getEclipseProductId() 
+                        + "\"\n" ); //$NON-NLS-1$
+    this.writer.append( "      byline=\"true\" />\n" ); //$NON-NLS-1$
+    
+    this.writer.append( "    <replaceregexp byline=\"true\">\n" ); //$NON-NLS-1$
+    this.writer.append( "      <regexp pattern=\"org.eclipse.ui/defaultPerspectiveId=(.*)\"/>\n" ); //$NON-NLS-1$
+    this.writer.append( "      <substitution expression=\"org.eclipse.ui/defaultPerspectiveId="  //$NON-NLS-1$
+                        + this.configuration.getInitialPerspectiveId() 
+                        + "\"/>\n" ); //$NON-NLS-1$
+    this.writer.append( "      <fileset dir=\"${tempDirectory}/eclipse/plugins/\" includes=\""  //$NON-NLS-1$
+//                        + this.configuration.getEclipseProductId()
+                        + "*/plugin_customization.ini\"/>\n" ); //$NON-NLS-1$
+    this.writer.append( "    </replaceregexp>\n" ); //$NON-NLS-1$
+    
+    this.writer.append( "    <echo file=\"${tempDirectory}/"  //$NON-NLS-1$
+                        + platform.toString( '.' )  
+                        + "/eclipse/eclipse.ini\">" ); //$NON-NLS-1$
+    this.writer.append( platform.getEclipseIniFileContent() );
+    this.writer.append( "    </echo>\n" ); //$NON-NLS-1$
+    
+    this.writer.append( "    <ant antfile=\"${assembleScriptName}\" >\n" ); //$NON-NLS-1$
+    this.writer.append( "    <property name=\"archiveName\" value=\"" //$NON-NLS-1$
                         + platform.getTargetFileName( this.configuration )
                         + platform.getArchiveFormat().getExtension()
                         + "\"/>\n" ); //$NON-NLS-1$
-    this.writer.append( "</ant>\n" ); //$NON-NLS-1$
-    this.writer.append( "</target>\n" ); //$NON-NLS-1$
+    this.writer.append( "    </ant>\n" ); //$NON-NLS-1$
+    this.writer.append( "  </target>\n" ); //$NON-NLS-1$
   }
 
   /**
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/EclipsePackager.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/EclipsePackager.java
index 577f035..3cef849 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/EclipsePackager.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/assembly/EclipsePackager.java
@@ -80,7 +80,7 @@
                                        final PackagingPropertiesWriter propertiesWriter )
   {
     mapWriter.addCustomFileForAllPlatforms( filename );
-    propertiesWriter.addFileToOrder( filename );
+//    propertiesWriter.addFileToOrder( filename );
   }
 
   private void zipConfig( final File parentFolder,
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IModifiablePackagerConfiguration.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IModifiablePackagerConfiguration.java
index c4b94ed..b8347d5 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IModifiablePackagerConfiguration.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IModifiablePackagerConfiguration.java
@@ -38,7 +38,8 @@
   /**Adds a new target platform.*/
   public Platform addTargetPlatform( final String os,
                                      final String ws,
-                                     final String arch );
+                                     final String arch,
+                                     final String eclipseIniFileContent );
 
   /**Sets the RCP version to use.*/
   public void setRcpVersion( final String version );
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPackagerConfiguration.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPackagerConfiguration.java
index ae6be3a..bcd9d08 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPackagerConfiguration.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPackagerConfiguration.java
@@ -40,4 +40,8 @@
   public File getConfigIni();
 
   public String getProductName();
+  
+  public String getEclipseProductId();
+  
+  public String getInitialPerspectiveId();
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPlatform.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPlatform.java
index 42c405b..f2f7254 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPlatform.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/IPlatform.java
@@ -45,4 +45,7 @@
 
   /** Returns the name installer-creating script most suitable for this platform. */
   public String getInstallScriptName();
+  
+  /** Returns a string with the content of the eclipse.ini file */
+  public String getEclipseIniFileContent();
 }
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/PackagerConfiguration.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/PackagerConfiguration.java
index c562458..5a1751c 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/PackagerConfiguration.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/PackagerConfiguration.java
@@ -33,6 +33,8 @@
   private File rootFolder;
   private File configIni;
   private String productName;
+  private String eclipseProductId;
+  private String initialPerspectiveId;
   private String installerConfigurationFolder;
 
   public PackagerConfiguration() {
@@ -40,24 +42,24 @@
   }
 
   public URL[] getUpdateSites() {
-    return updateSites.toArray( new URL[ updateSites.size() ] );
+    return this.updateSites.toArray( new URL[ this.updateSites.size() ] );
   }
 
   public void addUpdateSite( final String string ) throws MalformedURLException
   {
-    updateSites.add( new URL( string ) );
+    this.updateSites.add( new URL( string ) );
   }
 
   public VersionedIdentifier[] getRequiredFeatures() {
-    return requiredFeatures.toArray( new VersionedIdentifier[ requiredFeatures.size() ] );
+    return this.requiredFeatures.toArray( new VersionedIdentifier[ requiredFeatures.size() ] );
   }
 
   public void addRequiredFeature( final String id, final String version ) {
-    requiredFeatures.add( new VersionedIdentifier( id, version ) );
+    this.requiredFeatures.add( new VersionedIdentifier( id, version ) );
   }
 
   public File getPackagerConfigurationFolder() {
-    return packagerConfigurationFolder;
+    return this.packagerConfigurationFolder;
   }
 
   public void setPackagerConfigurationFolder( final String folder ) {
@@ -65,36 +67,37 @@
   }
 
   public File getTargetFolder() {
-    return baseFolder;
+    return this.baseFolder;
   }
 
   public void setExtensionSiteRelative( final String relativeFolder ) {
-    this.extensionSite = new File( baseFolder, relativeFolder );
+    this.extensionSite = new File( this.baseFolder, relativeFolder );
   }
 
   public File getExtensionSite() {
-    return extensionSite;
+    return this.extensionSite;
   }
 
   public Platform addTargetPlatform( final String os,
                                      final String ws,
-                                     final String arch )
+                                     final String arch,
+                                     final String eclipseIniFileContent )
   {
-    Platform platform = new Platform( os, ws, arch );
-    targetPlatforms.add( platform );
+    Platform platform = new Platform( os, ws, arch, eclipseIniFileContent );
+    this.targetPlatforms.add( platform );
     return platform;
   }
 
   public IPlatform[] getTargetPlatforms() {
-    return targetPlatforms.toArray( new IPlatform[ targetPlatforms.size() ] );
+    return this.targetPlatforms.toArray( new IPlatform[ targetPlatforms.size() ] );
   }
 
   public String getRootFileBaseName() {
-    return "eclipse-RCP-" + rcpVersion + '-'; //$NON-NLS-1$
+    return "eclipse-RCP-" + this.rcpVersion + '-'; //$NON-NLS-1$
   }
 
   public File getRootFileFolder() {
-    return rootFolder;
+    return this.rootFolder;
   }
 
   public void setRcpVersion( final String version ) {
@@ -106,7 +109,7 @@
   }
 
   public File getConfigIni() {
-    return configIni;
+    return this.configIni;
   }
 
   public void setConfigIni( final String fileName ) {
@@ -118,14 +121,30 @@
   }
 
   public String getProductName() {
-    return productName;
+    return this.productName;
   }
 
   public String getInstallerConfigurationFolder() {
-    return installerConfigurationFolder;
+    return this.installerConfigurationFolder;
   }
 
   public void setInstallerConfigurationFolder( final String folder ) {
     this.installerConfigurationFolder = folder;
   }
+
+  public void setEclipseProductId( final String eclipseProductId ) {
+    this.eclipseProductId = eclipseProductId;
+  }
+
+  public String getEclipseProductId() {
+    return this.eclipseProductId;
+  }
+
+  public void setInitialPerspectiveId( final String initialPerspectiveId ) {
+    this.initialPerspectiveId = initialPerspectiveId;
+  }
+  
+  public String getInitialPerspectiveId() {
+    return this.initialPerspectiveId;
+  }
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/Platform.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/Platform.java
index 9f31cdf..d95d5fa 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/Platform.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/Platform.java
@@ -27,12 +27,18 @@
   private final String os;
   private final String ws;
   private final String arch;
+  private final String eclipseIniFileContent;
   private ArchiveFormat archiveFormat = ArchiveFormat.antZip;
 
-  public Platform( final String os, final String ws, final String arch ) {
+  public Platform( final String os,
+                   final String ws,
+                   final String arch,
+                   final String eclipseIniFileContent )
+  {
     this.os = os;
     this.ws = ws;
     this.arch = arch;
+    this.eclipseIniFileContent = eclipseIniFileContent;
   }
 
   @Override
@@ -118,4 +124,8 @@
     }
     return buildFile;
   }
+
+  public String getEclipseIniFileContent() {
+    return eclipseIniFileContent;
+  }
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/ConfigurationParser.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/ConfigurationParser.java
index b013a1c..5453954 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/ConfigurationParser.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/ConfigurationParser.java
@@ -50,6 +50,9 @@
   private static final String TAG_PRODUCT = "product"; //$NON-NLS-1$
   private static final String ATTRIB_CONFIG_INI = "configIni"; //$NON-NLS-1$
   private static final String ATTRIB_NAME = "name"; //$NON-NLS-1$
+  private static final String ATTRIB_ECLIPSE_PRODUCT_ID = "eclipseProductId"; //$NON-NLS-1$
+  private static final String ATTRIB_INITIAL_PERSPECTIVE_ID = "initialPerspectiveId"; //$NON-NLS-1$
+  private static final String TAG_ECLIPSE_INI_FILE = "eclipseIniFileContent"; //$NON-NLS-1$
 
   /**
    * Parses the configuration contained in xmlFile.
@@ -103,9 +106,14 @@
                              final IXmlElement parent )
   {
     IXmlElement productElement = parent.getElement( TAG_PRODUCT );
-    configuration.setProductName( productElement.getAttributeValue( ATTRIB_NAME ) );
+    String productName = productElement.getAttributeValue( ATTRIB_NAME );
+    configuration.setProductName( productName );
     String configIni = productElement.getAttributeValue( ATTRIB_CONFIG_INI );
     configuration.setConfigIni( configIni );
+    String eclipseProductId = productElement.getAttributeValue( ATTRIB_ECLIPSE_PRODUCT_ID );
+    configuration.setEclipseProductId( eclipseProductId );
+    String initialPerspectiveId = productElement.getAttributeValue( ATTRIB_INITIAL_PERSPECTIVE_ID );
+    configuration.setInitialPerspectiveId( initialPerspectiveId );
   }
 
   /** Loads and sets the target platforms. */
@@ -117,7 +125,9 @@
       String os = platformElement.getAttributeValue( ATTRIB_OS );
       String ws = platformElement.getAttributeValue( ATTRIB_WS );
       String arch = platformElement.getAttributeValue( ATTRIB_ARCH );
-      Platform platform = configuration.addTargetPlatform( os, ws, arch );
+      IXmlElement eclipseIniFileElement = platformElement.getElement( TAG_ECLIPSE_INI_FILE );
+      String eclipseIniFileContent = eclipseIniFileElement.getText();
+      Platform platform = configuration.addTargetPlatform( os, ws, arch, eclipseIniFileContent );
       IXmlElement archiveFormat = platformElement.getElement( TAG_ARCHIVE_FORMAT );
       if( archiveFormat != null ) {
         platform.setArchiveFormat( archiveFormat.getAttributeValue( ATTRIB_FORMAT ) );
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/IXmlElement.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/IXmlElement.java
index afff8db..f8b234c 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/IXmlElement.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/IXmlElement.java
@@ -29,4 +29,6 @@
    * if none exist.
    */
   public IXmlElement getElement( String tagName );
+  
+  public String getText();
 }
diff --git a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/XmlElement.java b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/XmlElement.java
index 34cf461..477e292 100644
--- a/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/XmlElement.java
+++ b/plugins/org.eclipse.epp.packaging.core/src/org/eclipse/epp/packaging/core/configuration/xml/XmlElement.java
@@ -48,4 +48,8 @@
     }
     return result.toArray( new IXmlElement[ result.size() ] );
   }
+
+  public String getText() {
+    return this.node.getTextContent();
+  }
 }
\ No newline at end of file
diff --git a/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/EclipseCDT_331.xml b/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/EclipseCDT_331.xml
index 3037903..8f5d055 100644
--- a/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/EclipseCDT_331.xml
+++ b/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/EclipseCDT_331.xml
@@ -7,8 +7,10 @@
 	<!-- configIni, the config.ini file to use. -->
 	<!-- name, the name of the product, used in naming the created files. -->
 	<product
-	  configIni="/home/mknauer/packaging/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/config.ini"
-	  name="epp-cpp-europa-fall" />
+	  configIni="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_C_C++_Developers/config.ini"
+	  name="eclipse-cpp-europa-fall" 
+	  eclipseProductId="org.eclipse.platform.ide"
+	  initialPerspectiveId="org.eclipse.cdt.ui.CPerspective" />
 
 	<!-- url, pointing to an update site. -->
 	<updateSites>
@@ -67,10 +69,10 @@
 		  'packaging.properties' and 
 		  'customTargetsStub.xml', all of which can be left unmodified. -->
 	<packagerConfigurationFolder
-		folder="/home/mknauer/packaging/config" />
+		folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
 	<installerConfigurationFolder
-		folder="/home/mknauer/packaging/config" />
+		folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
 	<!-- folder, pointing to a folder containing the zipped root files for each of 
 		the target platforms. -->
@@ -84,12 +86,33 @@
 	<targetPlatforms>
 		<platform os="win32" ws="win32" arch="x86">
 			<archiveFormat format="antZip"></archiveFormat>
+			<eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
 		<platform os="linux" ws="gtk" arch="x86">
 			<archiveFormat format="tar" />
+			<eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
-		<platform os="macosx" ws="carbon" arch="x86">
+		<platform os="macosx" ws="carbon" arch="ppc">
 			<archiveFormat format="tar" />
+			<eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
 	</targetPlatforms>
 </configuration>
diff --git a/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/EclipseJavaEE_331.xml b/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/EclipseJavaEE_331.xml
index 337e5de..fcd5dff 100644
--- a/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/EclipseJavaEE_331.xml
+++ b/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/EclipseJavaEE_331.xml
@@ -7,8 +7,10 @@
   <!-- configIni, the config.ini file to use. -->
   <!-- name, the name of the product, used in naming the created files. -->
   <product
-    configIni="/home/mknauer/packaging/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/config.ini"
-    name="epp-jee-europa-fall" />
+    configIni="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_JEE_Developers/config.ini"
+    name="eclipse-jee-europa-fall"
+    eclipseProductId="org.eclipse.platform.ide"
+    initialPerspectiveId="org.eclipse.jst.j2ee.J2EEPerspective" />
 
   <!-- url, pointing to an update site. -->
   <updateSites>
@@ -60,27 +62,27 @@
 
     <feature
       id="org.eclipse.mylyn_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.context_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.ide_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.java_feature"
-      version="2.0.0.v20070628-1000">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.pde_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.bugzilla_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
 
     <feature
@@ -118,7 +120,7 @@
 
     <feature
       id="org.eclipse.gef"
-      version="3.3.0.v20070620">
+      version="3.3.1.v20070814">
     </feature>
 
     <feature
@@ -141,101 +143,101 @@
 
     <feature
       id="org.eclipse.datatools.connectivity.oda.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.connectivity.oda.designer.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.modelbase.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
 
     <feature
       id="org.eclipse.pde"
-      version="3.3.1.R33x_r20070802-7N7M2DUUEF6F6Jz06GmCC">
+      version="3.3.1.R33x_r20070802-7N7M3D1VIA_52JsDFsEC">
     </feature>
 
     <feature
       id="org.eclipse.datatools.sqldevtools.ddl.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.sqldevtools.data.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.sqldevtools.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.jdbc.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.sqldevtools.parsers.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
 
     <feature
       id="org.eclipse.datatools.connectivity.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.sqldevtools.results.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
 
     <feature
       id="org.eclipse.datatools.enablement.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.doc.user"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
 
     <!-- optional DB/SQL features -->
     <feature
       id="org.eclipse.datatools.enablement.apache.derby.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.hsqldb.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.ibm.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.msft.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.mysql.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.oda.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.oda.designer.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.oracle.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.postgresql.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <feature
       id="org.eclipse.datatools.enablement.sybase.feature"
-      version="1.5.1.200708211">
+      version="1.5.1.200709251">
     </feature>
     <!-- optional DB/SQL features / END -->
 
@@ -251,14 +253,13 @@
 
   </requiredFeatures>
 
-  <!-- folder, pointing to the packager configuration. 
-    This folder must contain 
-    'packager.properties', 
-    'packaging.properties' and 
-    'customTargetsStub.xml', all of which can be left unmodified. -->
-  <packagerConfigurationFolder folder="/home/mknauer/packaging/config" />
+  <!-- folder, pointing to the packager configuration. This folder must contain 'packager.properties', 
+    'packaging.properties' and 'customTargetsStub.xml', all of which can be left unmodified. -->
+  <packagerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
-  <installerConfigurationFolder folder="/home/mknauer/packaging/config" />
+  <installerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
   <!-- folder, pointing to a folder containing the zipped root files for each of 
     the target platforms. -->
@@ -275,18 +276,39 @@
       ws="win32"
       arch="x86">
       <archiveFormat format="antZip"></archiveFormat>
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
     <platform
       os="linux"
       ws="gtk"
       arch="x86">
       <archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
     <platform
       os="macosx"
       ws="carbon"
-      arch="x86">
+      arch="ppc">
       <archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
   </targetPlatforms>
 </configuration>
diff --git a/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/EclipseJava_331.xml b/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/EclipseJava_331.xml
index ae2d70c..121afee 100644
--- a/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/EclipseJava_331.xml
+++ b/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/EclipseJava_331.xml
@@ -7,8 +7,10 @@
 	<!-- configIni, the config.ini file to use. -->
 	<!-- name, the name of the product, used in naming the created files. -->
 	<product
-	  configIni="/home/mknauer/packaging/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/config.ini"
-	  name="epp-java-europa-fall" />
+	  configIni="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_IDE_for_Java_Developers/config.ini"
+	  name="eclipse-java-europa-fall"
+	  eclipseProductId="org.eclipse.platform.ide"
+    initialPerspectiveId="org.eclipse.jdt.ui.JavaPerspective" />
 
 	<!-- url, pointing to an update site. -->
 	<updateSites>
@@ -60,23 +62,23 @@
 
     <feature
       id="org.eclipse.mylyn_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.context_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.ide_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.java_feature"
-      version="2.0.0.v20070628-1000">
+      version="2.1.0.v20070924-2200">
     </feature>
     <feature
       id="org.eclipse.mylyn.bugzilla_feature"
-      version="2.0.0.v20070627-1400">
+      version="2.1.0.v20070924-2200">
     </feature>
 
 
@@ -115,7 +117,7 @@
     
     <feature
       id="org.eclipse.gef"
-      version="3.3.0.v20070620">
+      version="3.3.1.v20070814">
     </feature>
     <feature
       id="org.eclipse.wst.common_ui.feature"
@@ -129,16 +131,13 @@
 
 	</requiredFeatures>
 
-	<!-- folder, pointing to the packager configuration. 
-		This folder must contain 
-		  'packager.properties', 
-		  'packaging.properties' and 
-		  'customTargetsStub.xml', all of which can be left unmodified. -->
-	<packagerConfigurationFolder
-		folder="/home/mknauer/packaging/config" />
+  <!-- folder, pointing to the packager configuration. This folder must contain 'packager.properties', 
+    'packaging.properties' and 'customTargetsStub.xml', all of which can be left unmodified. -->
+  <packagerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
-	<installerConfigurationFolder
-		folder="/home/mknauer/packaging/config" />
+  <installerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
 	<!-- folder, pointing to a folder containing the zipped root files for each of 
 		the target platforms. -->
@@ -152,12 +151,33 @@
 	<targetPlatforms>
 		<platform os="win32" ws="win32" arch="x86">
 			<archiveFormat format="antZip"></archiveFormat>
+			<eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
 		<platform os="linux" ws="gtk" arch="x86">
 			<archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
-		<platform os="macosx" ws="carbon" arch="x86">
+		<platform os="macosx" ws="carbon" arch="ppc">
 			<archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx256m</eclipseIniFileContent>
 		</platform>
 	</targetPlatforms>
 </configuration>
diff --git a/releng/org.eclipse.epp.config/Eclipse_for_RCP_Plugin_Developers/EclipseRCP_331.xml b/releng/org.eclipse.epp.config/Eclipse_for_RCP_Plugin_Developers/EclipseRCP_331.xml
index e4e4121..0150bf3 100644
--- a/releng/org.eclipse.epp.config/Eclipse_for_RCP_Plugin_Developers/EclipseRCP_331.xml
+++ b/releng/org.eclipse.epp.config/Eclipse_for_RCP_Plugin_Developers/EclipseRCP_331.xml
@@ -8,7 +8,9 @@
   <!-- name, the name of the product, used in naming the created files. -->
   <product
     configIni="/home/mknauer/packaging/org.eclipse.epp/releng/org.eclipse.epp.config/Eclipse_for_RCP_Plugin_Developers/config.ini"
-    name="epp-rcp-europa-fall" />
+    name="eclipse-rcp-europa-fall" 
+    eclipseProductId="org.eclipse.sdk.ide"
+    initialPerspectiveId="org.eclipse.jdt.ui.JavaPerspective" />
 
   <!-- url, pointing to an update site. -->
   <updateSites>
@@ -51,32 +53,32 @@
 
   <feature
     id="org.eclipse.sdk"
-    version="3.3.1.R33x_r20070802-7M7J78_mu1mmlvZ3F0Yw59JTz0dC">
+    version="3.3.1.R33x_r20070802-7M7J78_mu1mnlRa7A4Ns52XeZ6D0">
   </feature>
 
   <feature
     id="org.eclipse.mylyn_feature"
-    version="2.0.0.v20070627-1400">
+    version="2.1.0.v20070924-2200">
   </feature>
   <feature
     id="org.eclipse.mylyn.context_feature"
-    version="2.0.0.v20070627-1400">
+    version="2.1.0.v20070924-2200">
   </feature>
   <feature
     id="org.eclipse.mylyn.ide_feature"
-    version="2.0.0.v20070627-1400">
+    version="2.1.0.v20070924-2200">
   </feature>
   <feature
     id="org.eclipse.mylyn.java_feature"
-    version="2.0.0.v20070628-1000">
+    version="2.1.0.v20070924-2200">
   </feature>
   <feature
     id="org.eclipse.mylyn.pde_feature"
-    version="2.0.0.v20070627-1400">
+    version="2.1.0.v20070924-2200">
   </feature>
   <feature
     id="org.eclipse.mylyn.bugzilla_feature"
-    version="2.0.0.v20070627-1400">
+    version="2.1.0.v20070924-2200">
   </feature>
 
 
@@ -115,7 +117,7 @@
     
     <feature
       id="org.eclipse.gef"
-      version="3.3.0.v20070620">
+      version="3.3.1.v20070814">
     </feature>
     <feature
       id="org.eclipse.wst.common_ui.feature"
@@ -131,9 +133,11 @@
 
   <!-- folder, pointing to the packager configuration. This folder must contain 'packager.properties', 
     'packaging.properties' and 'customTargetsStub.xml', all of which can be left unmodified. -->
-  <packagerConfigurationFolder folder="/home/mknauer/packaging/config" />
+  <packagerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
-  <installerConfigurationFolder folder="/home/mknauer/packaging/config" />
+  <installerConfigurationFolder
+    folder="/home/mknauer/projects/packaging33/org.eclipse.epp/releng/org.eclipse.epp.config/config" />
 
   <!-- folder, pointing to a folder containing the zipped root files for each of 
     the target platforms. -->
@@ -152,18 +156,39 @@
       ws="win32"
       arch="x86">
       <archiveFormat format="antZip"></archiveFormat>
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
     <platform
       os="linux"
       ws="gtk"
       arch="x86">
       <archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
     <platform
       os="macosx"
       ws="carbon"
-      arch="x86">
+      arch="ppc">
       <archiveFormat format="tar" />
+      <eclipseIniFileContent>-showsplash
+org.eclipse.platform
+--launcher.XXMaxPermSize
+128M
+-vmargs
+-Xms40m
+-Xmx512m</eclipseIniFileContent>
     </platform>
   </targetPlatforms>
 </configuration>
diff --git a/releng/org.eclipse.epp.config/config/customTargetsStub.xml b/releng/org.eclipse.epp.config/config/customTargetsStub.xml
index 34a439b..483a353 100644
--- a/releng/org.eclipse.epp.config/config/customTargetsStub.xml
+++ b/releng/org.eclipse.epp.config/config/customTargetsStub.xml
@@ -5,11 +5,14 @@
 	<!-- This goal of this target is to get the packaging map files of the things you care for 
 	       The files must be fetched into the downloadDirectory folder -->
 	<target name="getMapFiles" unless="localMaps">
+	  <!-- if packagerMapURL is not set
 		<get src="${packagerMapURL}" dest="${downloadDirectory}/initial.map" usetimestamp="true" />
+	  -->
 	</target>
 
 	<target name="init">
 		<property name="archiveNamePrefix" value="${buildId}" />
 	</target>
 
-	<!--This file is a stub. It will be completed by the packager at runtime.-->
\ No newline at end of file
+	<!-- This file is a stub. It will be completed by EPP at runtime. -->
+
diff --git a/releng/org.eclipse.epp.config/config/packager.properties b/releng/org.eclipse.epp.config/config/packager.properties
index 7e12687..3b591f8 100644
--- a/releng/org.eclipse.epp.config/config/packager.properties
+++ b/releng/org.eclipse.epp.config/config/packager.properties
@@ -1,38 +1,61 @@
 #This file is adapted to the needs of the Eclipse Packaging Project.

 #Do not modify.

 

+#The directory used as a base for the all process

+# Provided by EPP.

+#baseDirectory = <folder>

+

+#Setting this to true will cause the dependency analysis to only be done on the features and plugins reachable from the ${featureList}.

+filteredDependencyCheck=false

+

 # A comma separated list of feature ids that will be part of the archive.

 # Provided by EPP. 

-#featureList =  

-

-# A comma seperated list of the component from which the features listed in featureList can be found

-# This is used as a optimization to avoid unnecessary downloads. * should be specified if you don't know

-componentFilter=*

-#, emf, cdt, hyades, ve, uml2

-

-# filter to optimize the download of archives. Blank does not filter anything.

-contentFilter=

+#featureList = <featuresToGather>

 

 # The list of {os, ws, arch} configurations to build.  This 

 # value is a '&' separated list of ',' separate triples. 

+# By default the value is *,*,* which is platform independant

 # Provided by EPP.

-#config=

-#   macosx,carbon,x86&\

-#	win32,win32,x86&\   

-#	linux, gtk, ppc

+#config=win32, win32, x86 & \

+#	linux, gtk, ppc &\

+# linux, gtk, x86 & \

+#	linux, gtk, x86_64 & \

+#	linux, motif, x86 & \

+#	solaris, motif, sparc & \

+#	solaris, gtk, sparc & \

+#	aix, motif, ppc & \

+#	hpux, motif, PA_RISC & \

+#	macosx, carbon, ppc

+

+#Set this variable to normalize plug-in and feature names while packaging 

+normalizeWhilePackaging=true

+

+################ DOWNLOAD ############################

+#Skip any download and unzipping work because the things to be packaged are already available in ${target}

+#Comment the property if you want the download and unzip to occur.

+#prefilledTarget = true

 

 #Don't download packager map files, they should already exist in ${downloadDirectory}

 #comment out this property to download the map file from packagerMapURL

-localMaps = true

-#The URL from which to download the packager map file

+#skipMaps = true

+#localMaps = true

+#The URL from which to download the packager map file. If more than one file needs to be downloaded, edit the getMapFiles target in your customTargets.xml

 #packagerMapURL = 

 

+#Don't download the archives.

+#skipFetch = true

+

+# A comma seperated list of the component from which the features listed in featureList can be found

+# This is used as a optimization to avoid unnecessary downloads.

+# * should be specified if you don't know

+componentFilter=*

+

+# A comma separated list of filters used to optimize the download of archives.

+#Values in this filter should match the 

+contentFilter=sdk

+

 

 ################ FOLDERS ############################

-#The directory used as a base for the all process. 

-#Provided by EPP.

-#baseDirectory =

-

 # The place in which all the scripts will be contained

 workingDirectory = ${baseDirectory}/workingPlace

 buildDirectory = ${workingDirectory}

@@ -50,7 +73,10 @@
 # The name of the root of the archives downloaded.  Features and plug-ins will be looked for 

 # in ${tempDirectory}/${featurePaths}/features and ${tempDirectory}/${featurePaths}/plugins 

 # It is possible to specify a list of roots, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=143854  for details.

-featurePaths = eclipse

+#featurePaths = eclipse

+

+# A comma separated lists of places where plugins and features will be looked for 

+target = ${tempDirectory}/eclipse

 

 

 ################## MISC ##########################

@@ -62,18 +88,23 @@
 buildType=I

 

 #Set the name of the archive that will result from the product build.

-archiveNamePrefix =RCP

+#archiveNamePrefix =RCP

 

 # Label for the build.  Used in naming the build output

 buildLabel=${buildType}.${buildId}

 

 #The format of the archive. By default a zip is created using antZip.

 # Provided by EPP.

-# archivesFormat=

-# macosx,carbon,x86-tar&\

-# linux,gtk,x86-tar&\

-# win32,win32,x86-antZip

-

+#archivesFormat=win32, win32, x86 - antZip& \

+#	linux, gtk, ppc - antZip &\

+#    linux, gtk, x86 - antZip& \

+#	linux, gtk, x86_64 - antZip& \

+# linux, motif, x86 - antZip& \

+#	solaris, motif, sparc - antZip& \

+#	solaris, gtk, sparc - antZip& \

+#	aix, motif, ppc - antZip& \

+#	hpux, motif, PA_RISC - antZip& \

+#	macosx, carbon, ppc - antZip

 

 # extra arguments to be passed to zip / unzip (-y is usually used on unix for zip)

 zipargs=