Ok,

Here are the new 'Studio Launchers' -> http://svn.apache.org/viewvc?rev=608563&view=rev

Now, here's what I wanted to do in the build (and couldn't...):

--> Profile Simplification
I think we can simplify the profiles and update them to follow the eclipse naming for platforms.

I would rename the profiles as is:
- notests
- linux-x86
- linux-x86_64
- linux-ppc
- macosx
- win32

This means:
   - merging the two Mac OS X profiles into a single one (the application is the same if it's a PowerPC Mac or an Intel Mac).
   - dropping the windows 64bits profile as we don't have such a machine (so we can't generate the appropriate launcher) and no one has been complaining on the ML for the lack of such a release.

--> Add new platform specific variables
With the arrival of the new studio launchers we need to add new platform specific variables:
- two for the studio launcher itself (there is one per platform) : studio.launcher.platformrelated.groupId and studio.launcher.platformrelated.artifactId
- two for the equinox launcher dependency needed by the new studio launcher : equinox.launcher.platformrelated.groupId and equinox.launcher.platformrelated.artifactId

I have edited the root pom.xml to reflect these changes
Here is the profiles section:
  <profiles>
    <!-- Skip tests -->
    <profile>
      <id>notests</id>
      <properties>
        <maven.test.skip>true</maven.test.skip>
      </properties>
    </profile>

    <!-- Linux x86 -->
    <profile>
      <id>linux-x86</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <swt.platformrelated.groupId>org.eclipse.swt.gtk.linux</swt.platformrelated.groupId>
        <swt.platformrelated.artifactId>x86</swt.platformrelated.artifactId>
        <equinox.launcher.platformrelated.groupId>org.eclipse.equinox.launcher.gtk.linux</equinox.launcher.platformrelated.groupId>
        <equinox.launcher.platformrelated.artifactId>x86</equinox.launcher.platformrelated.artifactId>
        <studio.launcher.platformrelated.groupId>org.apache.directory.studio</studio.launcher.platformrelated.groupId>
        <studio.launcher.platformrelated.artifactId>launcher-linux</studio.launcher.platformrelated.artifactId>
      </properties>
    </profile>

    <!-- Linux x86_64 -->
    <profile>
      <id>linux-x86_64</id>
      <properties>
        <swt.platformrelated.groupId>org.eclipse.swt.gtk.linux</swt.platformrelated.groupId>
        <swt.platformrelated.artifactId >x86_64</swt.platformrelated.artifactId>
        <equinox.launcher.platformrelated.groupId>org.eclipse.equinox.launcher.gtk.linux</equinox.launcher.platformrelated.groupId>
        <equinox.launcher.platformrelated.artifactId >x86_64</equinox.launcher.platformrelated.artifactId>
        <studio.launcher.platformrelated.groupId>org.apache.directory.studio</studio.launcher.platformrelated.groupId>
        <studio.launcher.platformrelated.artifactId >launcher-linux</studio.launcher.platformrelated.artifactId>
      </properties>
    </profile>

    <!-- Linux PPC -->
    <profile>
      <id>linux-ppc</id>
      <properties>
        <swt.platformrelated.groupId>org.eclipse.swt.gtk.linux</swt.platformrelated.groupId>
        <swt.platformrelated.artifactId>ppc</swt.platformrelated.artifactId>
        <equinox.launcher.platformrelated.groupId>org.eclipse.equinox.launcher.gtk.linux</equinox.launcher.platformrelated.groupId>
        <equinox.launcher.platformrelated.artifactId>ppc</equinox.launcher.platformrelated.artifactId>
        <studio.launcher.platformrelated.groupId>org.apache.directory.studio</studio.launcher.platformrelated.groupId>
        <studio.launcher.platformrelated.artifactId>launcher-linux</studio.launcher.platformrelated.artifactId>
      </properties>
    </profile>

    <!-- Windows -->
    <profile>
      <id>win32</id>
      <properties>
        <swt.platformrelated.groupId> org.eclipse.swt.win32.win32</swt.platformrelated.groupId>
        <swt.platformrelated.artifactId>x86</swt.platformrelated.artifactId>
        <equinox.launcher.platformrelated.groupId>org.eclipse.equinox.launcher.win32.win32 </equinox.launcher.platformrelated.groupId>
        <equinox.launcher.platformrelated.artifactId>x86</equinox.launcher.platformrelated.artifactId>
        <studio.launcher.platformrelated.groupId >org.apache.directory.studio</studio.launcher.platformrelated.groupId>
        <studio.launcher.platformrelated.artifactId>launcher-win32</studio.launcher.platformrelated.artifactId>
      </properties>
    </profile>

    <!-- Mac OS X -->
    <profile>
      <id>macosx</id>
      <properties>
        <swt.platformrelated.groupId>org.eclipse.swt.carbon</swt.platformrelated.groupId>
        <swt.platformrelated.artifactId>macosx</swt.platformrelated.artifactId>
        <equinox.launcher.platformrelated.groupId>org.eclipse.equinox.launcher.carbon</equinox.launcher.platformrelated.groupId>
        <equinox.launcher.platformrelated.artifactId>macosx</equinox.launcher.platformrelated.artifactId>
        <studio.launcher.platformrelated.groupId>org.apache.directory.studio</studio.launcher.platformrelated.groupId>
        <studio.launcher.platformrelated.artifactId>launcher-macosx</studio.launcher.platformrelated.artifactId>
      </properties>
    </profile>
  </profiles>

Theses dependencies must be added to the eclipse dependencies section:
      <dependency>
        <groupId>org.eclipse.equinox.launcher.gtk.linux</groupId>
        <artifactId>x86</artifactId>
        <version>1.0.2.R331_v20071019</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox.launcher.gtk.linux</groupId>
        <artifactId>x86_64</artifactId>
        <version>1.0.2.R331_v20071019 </version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox.launcher.gtk.linux</groupId>
        <artifactId>ppc</artifactId>
        <version> 1.0.2.R331_v20071019</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox.launcher.win32.win32</groupId>
        <artifactId>x86</artifactId>
        <version>1.0.2.R331_v20071019</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.equinox.launcher.carbon</groupId>
        <artifactId>macosx</artifactId>
        <version>1.0.2.R331_v20071019</version>
      </dependency>

And these ones to the Apache Directory Studio dependencies
<dependency>
        <groupId>org.apache.directory.studio </groupId>
        <artifactId>laucher-linux</artifactId>
        <version>1.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directory.studio </groupId>
        <artifactId>laucher-macosx</artifactId>
        <version>1.1.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.directory.studio </groupId>
        <artifactId>laucher-win32</artifactId>
        <version>1.1.0</version>
      </dependency>

Finally (this is the part I could not achieve correctly...), we need to update the build to use the new 'studio launcher' with its 'equinox dependency' instead of the old eclipse distribution we were using.

WDYT ? (I hope it is clear enough... If not, don't hesitate to ask...)

Pierre-Arnaud

On Jan 3, 2008 6:02 PM, Pierre-Arnaud Marcelot <pa@marcelot.net > wrote:
That's what I was trying to do in the pom.xml files. But I could not get It working for now... :(
There are still some things I don't understand very well in the build.

What I'm going to do is uploading the 'studio launchers' (so you can replicate them in your online repo) and explain what I wanted to do.
I think with your help and knowledge on the build system, we'll be able to make it work...

Pierre-Arnaud


On Jan 3, 2008 5:54 PM, Felix Knecht < felixk@apache.org> wrote:
Pierre-Arnaud Marcelot schrieb:
> On Jan 3, 2008 4:56 PM, Felix Knecht < felixk@apache.org
> <mailto:felixk@apache.org>> wrote:
>
>     If this are the new 'eclipse starters':
>     Zip them to zip or tar.gz and deploy them into the local-repo like
>     above
>     using -Dpackaging=[zip¦tar.gz]. So they can be downloaded as artifact
>     and be unpacked be a dependency goal.
>
>
> No, these are not the new 'eclipse starters'.

There are still dependencies for the RCP dist:
<dependency>
       <groupId>org.eclipse</groupId>
       <artifactId>eclipse-RCP-macosx-carbon</artifactId>
       <version>3.3.1.1</version>
       <type>tar.gz</type>
</dependency>
...

Do we still need them after you added the starters or can we skip them?

Felix