Gentoo Archives: gentoo-soc

From: Kasun Gajasinghe <kasunbg@×××××.com>
To: Alistair Bush <ali_bush@g.o>
Cc: gentoo-soc@l.g.o, kiorky <kiorky@××××××××××.net>, Serkan Kaba <serkan@g.o>
Subject: [gentoo-soc] Re: Gentoo Maven Integration - Weekly Report #1
Date: Tue, 31 May 2011 12:40:41
Message-Id: BANLkTi=xPLH7n2LLY7CacUOZS7nQ2qB2ew@mail.gmail.com
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