|
Home > Archive > Apache Directory Project > November 2007 > Studio Maven Build
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Studio Maven Build
|
|
| Felix Knecht 2007-11-05, 1:11 pm |
| Hi all
I hope to have finally committed everything into my sandbox -so feel free to have a look at and play with it. You'll
find for sure bugs or things witch are still not in a way that you can work with it (I have absolutely no idea how the
studio development within eclipse works ).
Some notes
- I'm working on a linux box (i386 and amd64 -> I doubt that everything works for MAC or WIN).
- The build prerequisits a apache directory project pom (9-SNAPSHOT) in your local maven repo (-> just do a mvn clean
install in the trunk of a AD project checkout on your machine).
- To get the studio-*/lib directories run mvn install -Pprepare-for-eclipse
- Checkout url is https://svn.apache.org/repos/asf/di...sandbox/felixk/
- See also http://cwiki.apache.org/confluence/x/txEB
- There are failing testcases -> use -Dmaven.test.skip=true as param in your CMD
(e.g. mvn clean install -Dmaven.test.skip=true)
I hope it's way to go for the studio mavenization :-)
Felix
| |
| Stefan Seelmann 2007-11-05, 7:11 pm |
| Hi Felix,
first of all, really great work. Many thanks :-)
I was able to build studio using
mvn install -Pprepare-for-eclipse -Dmaven.test.skip=true
on linux. Works like a charm :-)
>
> I hope to have finally committed everything into my sandbox -so feel free to have a look at and play with it. You'll
> find for sure bugs or things witch are still not in a way that you can work with it (I have absolutely no idea how the
> studio development within eclipse works ).
>
Here are the steps using the ant/ivy build:
- Checkout sources
- Run "ant resolve"
- Start eclipse (using a fresh workspace)
- Select File->Import->General->Existing Projects into Workspace
- Choose the folder with the sources
- After some time there should be a list of projects, select all and finish
One important thing is that the .project and .classpath files within
each project are present. Right now they are managed by eclipse and they
are under source control.
In maven there is an task "mvn eclipse:eclipse" that generates these
files. I tried this command and it generates the files but with wrong
content. There are too much jars included and one jar was missing
(That's where I have to say: I have absolutely no idea how the maven
build works :-( ).
> Some notes
> - I'm working on a linux box (i386 and amd64 -> I doubt that everything works for MAC or WIN).
> - The build prerequisits a apache directory project pom (9-SNAPSHOT) in your local maven repo (-> just do a mvn clean
> install in the trunk of a AD project checkout on your machine).
> - To get the studio-*/lib directories run mvn install -Pprepare-for-eclipse
> - Checkout url is https://svn.apache.org/repos/asf/di...sandbox/felixk/
> - See also http://cwiki.apache.org/confluence/x/txEB
> - There are failing testcases -> use -Dmaven.test.skip=true as param in your CMD
> (e.g. mvn clean install -Dmaven.test.skip=true)
>
> I hope it's way to go for the studio mavenization :-)
>
I hope I could test some more tomorrow.
Regards,
Stefan
| |
| Pierre-Arnaud Marcelot 2007-11-06, 7:11 am |
| Hi Felix,
Thanks!
As Stefan said, really good job...
I tested it with 'mvn clean install -Dmaven.test.skip=true' and it worked
well... 
I'm using, here at work, a Linux box with Ubuntu 7.10 on a i386 machine.
I'm going to test this tonight, at home, on my Mac with Mac OS X and
Windows.
I tried the '-Dos.name=mac os x -Dos.arch=i386' and '-Dos.name="mac os x" -
Dos.arch=i386' but I got a build failure. I'm going to investigate on that.
I'm going to have a look at the maven plugin you've written and how the
build is works...
I'll get back to you very soon.
Thank you very much for mavenizing this stuff. 
Regards,
P-A
On Nov 6, 2007 12:15 AM, Stefan Seelmann <seelmann-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
> Hi Felix,
>
> first of all, really great work. Many thanks :-)
>
> I was able to build studio using
> mvn install -Pprepare-for-eclipse -Dmaven.test.skip=true
> on linux. Works like a charm :-)
>
> free to have a look at and play with it. You'll
> work with it (I have absolutely no idea how the
>
> Here are the steps using the ant/ivy build:
> - Checkout sources
> - Run "ant resolve"
> - Start eclipse (using a fresh workspace)
> - Select File->Import->General->Existing Projects into Workspace
> - Choose the folder with the sources
> - After some time there should be a list of projects, select all and
> finish
>
> One important thing is that the .project and .classpath files within
> each project are present. Right now they are managed by eclipse and they
> are under source control.
>
> In maven there is an task "mvn eclipse:eclipse" that generates these
> files. I tried this command and it generates the files but with wrong
> content. There are too much jars included and one jar was missing
> (That's where I have to say: I have absolutely no idea how the maven
> build works :-( ).
>
> works for MAC or WIN).
> your local maven repo (-> just do a mvn clean
> -Pprepare-for-eclipse
> https://svn.apache.org/repos/asf/di...sandbox/felixk/
> your CMD
>
> I hope I could test some more tomorrow.
>
> Regards,
> Stefan
>
>
>
| |
| Felix Knecht 2007-11-06, 7:11 am |
| Pierre-Arnaud Marcelot schrieb:
> Hi Felix,
>
> Thanks!
> As Stefan said, really good job...
Thanks, but it's not yet working perfect ...
>
> I tested it with 'mvn clean install -Dmaven.test.skip=true' and it
> worked well... 
> I'm using, here at work, a Linux box with Ubuntu 7.10 on a i386 machine.
>
> I'm going to test this tonight, at home, on my Mac with Mac OS X and
> Windows.
>
> I tried the '-Dos.name=mac os x -Dos.arch=i386' and '-Dos.name="mac os
> x" -Dos.arch=i386 ' but I got a build failure. I'm going to
> investigate on that.
This has probably to do with http://jira.codehaus.org/browse/MNG-2190. I
don't know yet how to solve it.
One possible solution (IMO not a very nice way) is to 'hardcode' the
profiles. This means that you always need to indicate on commandline
which profile you want to use - even for a build for the current OS your
working on (e.g. -Plinux-i386).
I wonder if it would make sense to collect the issues coming up for the
mavenization either on JIRA (I think this is overkill as it is only
sandbox) or open a sandbox cwiki page for this (better overview) or just
keep the tasks somewhere in the mail thread?
Felix
>
> I'm going to have a look at the maven plugin you've written and how
> the build is works...
>
> I'll get back to you very soon.
>
> Thank you very much for mavenizing this stuff. 
>
> Regards,
> P-A
>
>
> On Nov 6, 2007 12:15 AM, Stefan Seelmann <seelmann-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org
> <mailto:seelmann-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org>> wrote:
>
> Hi Felix,
>
> first of all, really great work. Many thanks :-)
>
> I was able to build studio using
> mvn install -Pprepare-for-eclipse -Dmaven.test.skip=true
> on linux. Works like a charm :-)
>
> feel free to have a look at and play with it. You'll
> you can work with it (I have absolutely no idea how the
>
> Here are the steps using the ant/ivy build:
> - Checkout sources
> - Run "ant resolve"
> - Start eclipse (using a fresh workspace)
> - Select File->Import->General->Existing Projects into Workspace
> - Choose the folder with the sources
> - After some time there should be a list of projects, select all
> and finish
>
> One important thing is that the .project and .classpath files within
> each project are present. Right now they are managed by eclipse
> and they
> are under source control.
>
> In maven there is an task "mvn eclipse:eclipse" that generates these
> files. I tried this command and it generates the files but with wrong
> content. There are too much jars included and one jar was missing
> (That's where I have to say: I have absolutely no idea how the maven
> build works :-( ).
>
> everything works for MAC or WIN).
> (9-SNAPSHOT) in your local maven repo (-> just do a mvn clean
> -Pprepare-for-eclipse
> https://svn.apache.org/repos/asf/di...sandbox/felixk/
> param in your CMD
>
> I hope I could test some more tomorrow.
>
> Regards,
> Stefan
>
>
>
| |
| Pierre-Arnaud Marcelot 2007-11-06, 7:11 am |
| On Nov 6, 2007 11:31 AM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
>
> Thanks, but it's not yet working perfect ...
Yes, maybe, but that's a very good start we can now improve...
This has probably to do with http://jira.codehaus.org/browse/MNG-2190. I
> don't know yet how to solve it.
Yeah, that's it... 
One possible solution (IMO not a very nice way) is to 'hardcode' the
> profiles. This means that you always need to indicate on commandline
> which profile you want to use - even for a build for the current OS your
> working on (e.g. -Plinux-i386).
That's a solution we could use until we find out how to do it in a nicer
way...
I wonder if it would make sense to collect the issues coming up for the
> mavenization either on JIRA (I think this is overkill as it is only
> sandbox) or open a sandbox cwiki page for this (better overview) or just
> keep the tasks somewhere in the mail thread?
Yeah, a page in Confluence makes more sense to me. Once we move the build
system in the trunk to Maven, we could use Jira to report issues.
P-A
| |
| Felix Knecht 2007-11-06, 7:11 am |
| Pierre-Arnaud Marcelot schrieb:
> On Nov 6, 2007 11:31 AM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org
> <mailto:felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org>> wrote:
>
> Thanks, but it's not yet working perfect ...
>
>
> Yes, maybe, but that's a very good start we can now improve...
>
> This has probably to do with
> http://jira.codehaus.org/browse/MNG-2190. I
> don't know yet how to solve it.
>
>
> Yeah, that's it... 
>
> One possible solution (IMO not a very nice way) is to 'hardcode' the
> profiles. This means that you always need to indicate on commandline
> which profile you want to use - even for a build for the current
> OS your
> working on (e.g. -Plinux-i386).
>
>
> That's a solution we could use until we find out how to do it in a
> nicer way...
>
> I wonder if it would make sense to collect the issues coming up
> for the
> mavenization either on JIRA (I think this is overkill as it is only
> sandbox) or open a sandbox cwiki page for this (better overview)
> or just
> keep the tasks somewhere in the mail thread?
>
>
> Yeah, a page in Confluence makes more sense to me. Once we move the
> build system in the trunk to Maven, we could use Jira to report issues.
Ok. I started the page here:
http://cwiki.apache.org/confluence/x/XRIB
I still need to get used with the formatting in confluence - so the page
may still looks a bit weird.
Felix
| |
| Pierre-Arnaud Marcelot 2007-11-06, 7:11 am |
| Thanks Felix.
I edited it with headings (h1. and h2. tags) for a better understanding.
I'll report in the page all the problems I have.
P-A
On Nov 6, 2007 11:57 AM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
> Pierre-Arnaud Marcelot schrieb:
>
> Ok. I started the page here:
> http://cwiki.apache.org/confluence/x/XRIB
>
> I still need to get used with the formatting in confluence - so the page
> may still looks a bit weird.
>
> Felix
>
>
| |
| Pierre-Arnaud Marcelot 2007-11-07, 7:11 am |
| Hi,
I just added a few remarks and questions on the Confluence page (
http://cwiki.apache.org/confluence/x/txEB ).
Here are the topics:
- Profiles
- NOTICE and MANIFEST.MF files in META-INF folder
- plugin.properties, project.properties, feature.properties files
- Empty ${local-repo} folder at the root
- Versionning
I'll continue to dig into the build system and add content to the page
within the day.
Regards,
Pierre-Arnaud Marcelot
On Nov 6, 2007 1:04 PM, Pierre-Arnaud Marcelot <pa-4jgSjUMpRqTk1uMJSBkQmQ@public.gmane.org> wrote:
> Thanks Felix.
>
> I edited it with headings (h1. and h2. tags) for a better understanding.
>
> I'll report in the page all the problems I have.
>
> P-A
>
>
>
> On Nov 6, 2007 11:57 AM, Felix Knecht < felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
>
>
| |
|
|
| Pierre-Arnaud Marcelot 2007-11-07, 1:11 pm |
| Hi,
On Nov 7, 2007 1:23 PM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
> What 'profiles' are (intended) used for studio distributions?
> Shall all possibilities you can download an RCP dist for be supported
> and build ()?
Right now we support the following distributions:
Mac OS X PPC and i386 (Intel)
Windows (tested on XP and Vista, and it should work on Windows 2000 too)
Linux PPC, i386 and AMD64
I think they are the most commonly used configurations and we should
concentrate on these one. There no need to build a Linux (x86/Motif) version
if nobody needs it. If someone uses Linux (x86/Motif) and tells us on the ML
he would like a version of Studio, then we can integrate this one.
They are varying depending on the version of RCP your looking at:
> 3.2.1
>
> http://archive.eclipse.org/eclipse/...10945/index.php
> 3.2.2
>
> http://archive.eclipse.org/eclipse/...21330/index.php
> 3.3.1.1
>
> http://download.eclipse.org/eclipse...31652/index.php
> 3.4M3
>
> http://download.eclipse.org/eclipse...12000/index.php
> And - when migration to maven build process - which version(s) shall be
> used (ATM it's 3.2.1 based)?
Yes, it's based on 3.2.1 at the moment. This is because we could not get a
way to generate (within eclipse) the executables for Apache Directory Studio
(to replace the 3.2.1 ones) with Eclipse 3.3.0. I could not export the RCP
Application as a Mac OS X application correctly, the export was failing...
Maybe version 3.3.1.1 fixes that, I'll have to try again.
It would be very great if we could migrate both Ant+Ivy to Maven and Eclipse
version 3.2.1 to Eclipse version 3.3.x (for our Eclipse dependencies).
For eclipse most of the dependencies do not exist in a remote maven
> repository. Do you think it's possible/make sense to put them e.g. to
> the http://repo1.maven.org/maven2 repository (I think this is owned by
> ASF)? This could avoid the need of keeping them in a 'local-repo' within
> the studio project.
> Anyway I need to fix creation of the emtpy folders.
Now, that you prepared all the packages in their Maven repository format,
why not. But I wonder if that will be ok with the repository and the Eclipse
Foundation.
FYI, I have updated the page with our discussion (I need to update it with
the comments of this mail too).
Regards,
Pierre-Arnaud Marcelot
| |
| Felix Knecht 2007-11-07, 1:11 pm |
| I set a watch on the confluence page to get notified when the page has
changes. This can avoid to write or c&p the things twice. Shall we just
do the discussions this way (just update in confluence) or still have it
twice (mailing-list and confluence)?
Pierre-Arnaud Marcelot schrieb:
> Hi,
>
> On Nov 7, 2007 1:23 PM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org
> <mailto:felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org>> wrote:
>
> What 'profiles' are (intended) used for studio distributions?
> Shall all possibilities you can download an RCP dist for be supported
> and build ()?
>
>
> Right now we support the following distributions:
> Mac OS X PPC and i386 (Intel)
> Windows (tested on XP and Vista, and it should work on Windows 2000 too)
> Linux PPC, i386 and AMD64
>
Ok. Maybe this can help to find a better way about the profile chosing.
> I think they are the most commonly used configurations and we should
> concentrate on these one. There no need to build a Linux (x86/Motif)
> version if nobody needs it. If someone uses Linux (x86/Motif) and
> tells us on the ML he would like a version of Studio, then we can
> integrate this one.
>
> They are varying depending on the version of RCP your looking at:
> 3.2.1
> http://archive.eclipse.org/eclipse/...10945/index.php
> 3.2.2
> http://archive.eclipse.org/eclipse/...21330/index.php
> 3.3.1.1 <http://3.3.1.1>
> http://download.eclipse.org/eclipse...31652/index.php
> 3.4M3
> http://download.eclipse.org/eclipse...12000/index.php
> <http://download.eclipse.org/eclipse...12000/index.php>
> And - when migration to maven build process - which version(s)
> shall be
> used (ATM it's 3.2.1 based)?
>
>
> Yes, it's based on 3.2.1 at the moment. This is because we could not
> get a way to generate (within eclipse) the executables for Apache
> Directory Studio (to replace the 3.2.1 ones) with Eclipse 3.3.0. I
> could not export the RCP Application as a Mac OS X application
> correctly, the export was failing... Maybe version 3.3.1.1
> <http://3.3.1.1> fixes that, I'll have to try again.
>
> It would be very great if we could migrate both Ant+Ivy to Maven and
> Eclipse version 3.2.1 to Eclipse version 3.3.x (for our Eclipse
> dependencies).
>
> For eclipse most of the dependencies do not exist in a remote maven
> repository. Do you think it's possible/make sense to put them e.g. to
> the http://repo1.maven.org/maven2 <http://repo1.maven.org/maven2>
> repository (I think this is owned by
> ASF)? This could avoid the need of keeping them in a 'local-repo'
> within
> the studio project.
> Anyway I need to fix creation of the emtpy folders.
>
>
> Now, that you prepared all the packages in their Maven repository
> format, why not. But I wonder if that will be ok with the repository
> and the Eclipse Foundation.
I don't know, this would be one of the questions.
>
> FYI, I have updated the page with our discussion (I need to update it
> with the comments of this mail too).
Thanks.
Felix
| |
| Pierre-Arnaud Marcelot 2007-11-08, 7:11 am |
| Hi Felix,
On Nov 7, 2007 2:37 PM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
> I set a watch on the confluence page to get notified when the page has
> changes. This can avoid to write or c&p the things twice. Shall we just
> do the discussions this way (just update in confluence) or still have it
> twice (mailing-list and confluence)?
I did the same.
Let's continue on that page.
Regards,
Pierre-Arnaud Marcelot
| |
| Felix Knecht 2007-11-20, 1:11 pm |
| Hi Stefan
>
> Here are the steps using the ant/ivy build:
> - Checkout sources
> - Run "ant resolve"
> - Start eclipse (using a fresh workspace)
> - Select File->Import->General->Existing Projects into Workspace
> - Choose the folder with the sources
> - After some time there should be a list of projects, select all and finish
>
So far I am, but howto start the plugins within eclipse?
- I open the studio-rcp/studio.product file.
- In the Overview-Tab
+ I try to Testing/ 1. Synchronize -> Error 'The product's defining plug-in could not be found.
+ I try to Testing/ 2. Launch an Eclipse Application -> Error SESSION Tue Nov 20 19:08:18 CET 2007
------------------------------------------
!ENTRY org.eclipse.equinox.launcher 4 0 2007-11-20 19:08:18.687
!MESSAGE Exception launching the Eclipse Platform:
!STACK
java.lang.ClassNotFoundException: org.eclipse.core.runtime.adaptor.EclipseStarter
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:505)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
I'm using JDK1.6, Eclipse Europe 3.3.1.1. Do I need to install any further Eclipse plugins or can't I launch the plugins
like this as an application?
Thanks
Felix
| |
| Pierre-Arnaud Marcelot 2007-11-20, 7:11 pm |
| Hi Felix,
You can launch any Eclipse plugin from its plugin.xml file, "Overview" tab,
by selecting "Testing" > "Launch an Eclipse Application".
This action will bundle all open projects inside a new instance of Eclipse
and launch it.
The case of the RCP application is different.
It's been a long time since I last tested the RCP application inside
Eclipse...
We usually use the Ant build to launch and test the whole RCP application
for two reasons:
- we had a lot of problems with the generation of the RCP application inside
Eclipse before (sometimes Eclipse did not managed to generate the
application).
- Apache Directory Studio now contains a certain number of eclipse plugins
that need to be bundled with it (Ldap Browser plugins, Schema Editor
plugins, Apache DS Configuration plugins, etc.) and we could not tell
Eclipse to bundle properly these dependencies when launching the RCP
product.
So, to summarize:
- to test a particular plugin, we launch it inside an Eclipse application.
- to test the complete Apache Directory Studio RCP App, we build it with Ant
and launch it.
Hope this helps,
Pierre-Arnaud Marcelot
On Nov 20, 2007 7:10 PM, Felix Knecht <felixk-1oDqGaOF3Lkdnm+yROfE0A@public.gmane.org> wrote:
> Hi Stefan
>
> finish
>
> So far I am, but howto start the plugins within eclipse?
>
> - I open the studio-rcp/studio.product file.
> - In the Overview-Tab
> + I try to Testing/ 1. Synchronize -> Error 'The product's defining
> plug-in could not be found.
> + I try to Testing/ 2. Launch an Eclipse Application -> Error SESSION Tue
> Nov 20 19:08:18 CET 2007
> ------------------------------------------
> !ENTRY org.eclipse.equinox.launcher 4 0 2007-11-20 19:08:18.687
> !MESSAGE Exception launching the Eclipse Platform:
> !STACK
> java.lang.ClassNotFoundException:
> org.eclipse.core.runtime.adaptor.EclipseStarter
> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:505)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
> at org.eclipse.equinox.launcher.Main.main(Main.java:1148)
>
>
> I'm using JDK1.6, Eclipse Europe 3.3.1.1. Do I need to install any further
> Eclipse plugins or can't I launch the plugins
> like this as an application?
>
> Thanks
> Felix
>
>
| |
| Felix Knecht 2007-11-21, 1:11 pm |
| Pierre-Arnaud Marcelot schrieb:
> Hi Felix,
>
> You can launch any Eclipse plugin from its plugin.xml file, "Overview"
> tab, by selecting "Testing" > "Launch an Eclipse Application".
> This action will bundle all open projects inside a new instance of
> Eclipse and launch it.
>
> The case of the RCP application is different.
> It's been a long time since I last tested the RCP application inside
> Eclipse...
> We usually use the Ant build to launch and test the whole RCP
> application for two reasons:
> - we had a lot of problems with the generation of the RCP application
> inside Eclipse before (sometimes Eclipse did not managed to generate the
> application).
> - Apache Directory Studio now contains a certain number of eclipse
> plugins that need to be bundled with it (Ldap Browser plugins, Schema
> Editor plugins, Apache DS Configuration plugins, etc.) and we could not
> tell Eclipse to bundle properly these dependencies when launching the
> RCP product.
>
> So, to summarize:
> - to test a particular plugin, we launch it inside an Eclipse application.
> - to test the complete Apache Directory Studio RCP App, we build it with
> Ant and launch it.
>
> Hope this helps,
Yep, thanks for help.
After all I had to accept for myself to that each studio-* has to be imported as an own project into eclipse ( it's even
written like this in the docu but I resisted to believe however...).
Now I can go back to the mavenization to get it working .
Felix
|
|
|
|
|