1 |
On Tue, May 31, 2011 at 12:51 PM, Alistair Bush <ali_bush@g.o> wrote: |
2 |
> On Tue, 31 May 2011 12:35:48 Kasun Gajasinghe wrote: |
3 |
>> Hello everyone, |
4 |
>> |
5 |
>> The goal of this project is to be easily able to write ebuilds for |
6 |
>> upstream projects that use Apache Maven as the build system. The Maven |
7 |
>> integration allows to natively use Apache Maven in Java packages in |
8 |
>> the main tree. The current system work around the support for Maven |
9 |
>> projects by transforming them to Ant. It generates build.xml via “mvn |
10 |
>> ant:ant” command and sanitizes that. This conversion too has some |
11 |
>> problems and needs to fixed. With this project, developers gains the |
12 |
>> ability to use native Maven support for writing ebuilds and will get |
13 |
>> full support for using maven-to-ant feature. |
14 |
>> |
15 |
>> Progress: |
16 |
>> * The development is carried out at the gsoc-maven-overlay at [0] |
17 |
>> * The first step of this project is to bump all the maven related |
18 |
>> ebuilds. Current ebuilds are around 3 years old. There are about 40 |
19 |
>> ebuilds to bump, so it'll be a little lengthy process. |
20 |
>> * Decided to go ahead with Maven 2.x (the latest release is |
21 |
>> 2.2.1) see [1] for the discussion. |
22 |
>> * All the ebuilds related to "maven || wagon || plexus || doxia" |
23 |
>> needs to be bumped. |
24 |
>> * I was trying to bump the plexus-server. It has been a quite a |
25 |
>> process since some dependencies isn't available anymore. |
26 |
>> * Then it turned out that plexus-server is only used by wagon-ftp |
27 |
>> ebuild. Wagon-ftp needs plexus-ftp which is a sub-project of |
28 |
>> plexus-server. So, I've been trying to write a new ebuild for the |
29 |
>> plexus-ftp. |
30 |
>> * I've wrote the ebuild, but still needs some work to get it into |
31 |
>> work. There's some issues with pom rewriting. Either the pom file |
32 |
>> contains some issues or javatoolkit/maven-helper.py-2.6, the script |
33 |
>> for pom rewriting contains a bug. |
34 |
>> * Fixed an issue in the java-maven-2.eclass which caused the |
35 |
>> build maven-base-poms ebuild to fail. |
36 |
>> * Got [3] setup to temporily host some source tarballs. |
37 |
>> |
38 |
>> Next: |
39 |
>> * Getting the plexus-ftp and wagon-ftp ebuilds to work. This |
40 |
>> process goes through fixing all the DEPEND which will take some time. |
41 |
>> Once the this got to work, bumping the rest of the ebuilds is just an |
42 |
>> iterative (and exhausting ;) ) process. |
43 |
>> * Need to fix the java-maven-2.eclass for the bugs and errors |
44 |
>> during the course of the bumping process. |
45 |
>> * The ultimate goal is to get building maven from source fully |
46 |
>> working/bootstrapping maven. |
47 |
>> |
48 |
>> Questions: |
49 |
>> * Need to figure out what DEPENDs should be included for maven |
50 |
>> based ebuilds. Does all the artifacts in the <dependencies> in the POM |
51 |
>> needed to be included? |
52 |
> |
53 |
> See http://maven.apache.org/guides/introduction/introduction-to-dependency- |
54 |
> mechanism.html#Dependency_Scope |
55 |
> |
56 |
> compile = DEPEND and RDEPEND |
57 |
> provided = DEPEND but not RDEPEND |
58 |
> runtime = RDEPEND |
59 |
> test = DEPEND but in test? ( ) |
60 |
> system = DEPEND |
61 |
> import = ???? |
62 |
|
63 |
Oh, it greatly summarizes the work. I'll look in to 'import' thing. |
64 |
Guess it's not a priority item since the site says "We currently do |
65 |
not recommend using this for projects that get deployed to Central.". |
66 |
And it only available on maven 2.0.9+. |
67 |
|
68 |
> |
69 |
> |
70 |
> |
71 |
>> * In addition to patching build.xml generated from `mvn ant:ant`, |
72 |
>> Is there any other changes needs to be done to the source? |
73 |
>> |
74 |
> |
75 |
> From what I remember there is the potential maven to generate sourcecode as |
76 |
> part of a pom's execution. This gen-src needs to also be packaged as the |
77 |
> generated build.xml file will not replicate those steps. |
78 |
|
79 |
noted. |
80 |
|
81 |
> |
82 |
> You should be aware that mvn ant:ant supports only a very limited implentation |
83 |
> compared to what projects can do natively within maven. essentually it only |
84 |
> implements compile, jar and test phases. |
85 |
> |
86 |
|
87 |
Yes. I remember Kiorky saying that ant:ant is only intended to use for |
88 |
bootstrapping maven! |
89 |
|
90 |
>> |
91 |
>> [0] http://overlays.gentoo.org/proj/java/log/gsoc-maven-overlay |
92 |
>> [1] http://comments.gmane.org/gmane.linux.gentoo.java/2161 |
93 |
>> [2] http://dev.gentooexperimental.org/~kasun/ |
94 |
>> |
95 |
|
96 |
Thanks, |
97 |
--Kasun |
98 |
|
99 |
|
100 |
|
101 |
-- |
102 |
~~~*******'''''''''''''*******~~~ |
103 |
Kasun Gajasinghe, |
104 |
University of Moratuwa, |
105 |
Sri Lanka. |
106 |
Blog: http://kasunbg.blogspot.com |
107 |
Twitter: http://twitter.com/kasunbg |