Gentoo Archives: gentoo-soc

From: Kasun Gajasinghe <kasunbg@×××××.com>
To: kiorky <kiorky@××××××××××.net>
Cc: gentoo-soc@l.g.o, Serkan Kaba <serkan@g.o>, Alistair Bush <ali_bush@g.o>
Subject: [gentoo-soc] Re: Gentoo Maven Integration - Weekly Report #1
Date: Tue, 31 May 2011 12:32:05
Message-Id: BANLkTikup8gvSZy1oW8Vdg8mZf_bS0PAUg@mail.gmail.com
1 On Tue, May 31, 2011 at 12:43 PM, kiorky <kiorky@××××××××××.net> wrote:
2 >
3 >
4 > Le 31/05/2011 09:05, Kasun Gajasinghe a écrit :
5 >> Hello everyone,
6 >>
7 >> The goal of this project is to be easily able to write ebuilds for
8 >> upstream projects that use Apache Maven as the build system. The Maven
9 >> integration allows to natively use Apache Maven in Java packages in
10 >> the main tree. The current system work around the support for Maven
11 >> projects by transforming them to Ant. It generates build.xml via “mvn
12 >> ant:ant” command and sanitizes that. This conversion too has some
13 >> problems and needs to fixed. With this project, developers gains the
14 >> ability to use native Maven support for writing ebuilds and will get
15 >> full support for using maven-to-ant feature.
16 >>
17 >> Progress:
18 >> * The development is carried out at the gsoc-maven-overlay at [0]
19 >> * The first step of this project is to bump all the maven related
20 >> ebuilds. Current ebuilds are around 3 years old. There are about 40
21 >> ebuilds to bump, so it'll be a little lengthy process.
22 >>      * Decided to go ahead with Maven 2.x (the latest release is
23 >> 2.2.1) see [1] for the discussion.
24 >>      * All the ebuilds related to "maven || wagon || plexus || doxia"
25 >> needs to be bumped.
26 >>      * I was trying to bump the plexus-server. It has been a quite a
27 >> process since some dependencies isn't available anymore.
28 >>      * Then it turned out that plexus-server is only used by wagon-ftp
29 >> ebuild. Wagon-ftp needs plexus-ftp which is a sub-project of
30 >> plexus-server. So, I've been trying to write a new ebuild for the
31 >> plexus-ftp.
32 >
33 > +1, as i said you to go this way
34 >
35 >>      * I've wrote the ebuild, but still needs some work to get it into
36 >> work. There's some issues with pom rewriting. Either the pom file
37 >> contains some issues or javatoolkit/maven-helper.py-2.6, the script
38 >> for pom rewriting contains a bug.
39 >
40 > Please describe the bug, it may be a feature.
41
42 This is the log for emerge -avtp plexus-ftp. I have added the source
43 tarball to [2].
44 http://paste.pocoo.org/show/398225/
45
46 Log for `emerge --info =dev-java/plexus-ftp-1.0_alpha1`
47 http://paste.pocoo.org/show/398230/
48
49 I'm trying emerging it without any dependencies included. So, it
50 should actually fail, but not in src_unpack phase.
51
52 >
53 >
54 >>      * Fixed an issue in the java-maven-2.eclass which caused the
55 >> build maven-base-poms ebuild to fail.
56 >
57 >>      * Got [3] setup to temporily host some source tarballs.
58 >>
59 >> Next:
60 >>      * Getting the plexus-ftp and wagon-ftp ebuilds to work. This
61 >> process goes through fixing all the DEPEND which will take some time.
62 >> Once the this got to work, bumping the rest of the ebuilds is just an
63 >> iterative (and exhausting ;) ) process.
64 >
65 > I informed you of that, welcome to my previous work, and at this time even the
66 > ebuild were not there :p Good luck !
67
68 Yeah.. POM contains around 15 dependencies. Though your work of
69 plexus-server didn't contain any dependencies. I thought it should
70 have huge deps covering ftp, http etc.! I'll see.
71
72 >
73 >>      * Need to fix the java-maven-2.eclass for the bugs and errors
74 >> during the course of the bumping process.
75 > Please be exact on the bugs, it may be features.
76 > For example, i truncated dependencies in poms.
77 >
78 >
79 >>      * The ultimate goal is to get building maven from source fully
80 >> working/bootstrapping maven.
81 >
82 > We agree
83 >
84 >>
85 >> Questions:
86 >>      * Need to figure out what DEPENDs should be included for maven
87 >> based ebuilds. Does all the artifacts in the <dependencies> in the POM
88 >> needed to be included?
89 >
90 > Its the ones you remove from the eclass you didnt say me why on irc.
91
92 It isn't. I only removed "source? ( app-arch/zip )" from DEPEND
93 because it caused a build failure on maven-base-poms. I thought I made
94 aware of it!
95 My above question was about the need of including all the articfacts
96 in the DEPEND of the particular ebuild.
97 The changeset: http://overlays.gentoo.org/proj/java/changeset/8382/gsoc-maven-overlay/eclass/java-maven-2.eclass
98
99 >
100 >>      * In addition to patching build.xml generated from `mvn ant:ant`,
101 >> Is there any other changes needs to be done to the source?
102 >
103 > I remember truncate some dependency informations in poms not for maven when it
104 > will run for other projects to download externally stuff.
105 > Maven for system as emerging an ebuild with maven as the project builder will
106 > use system jars in 99% of cases, and the pom of the project needs to be
107 > rewritter so, to exclude version & some depenencies stuff not for it to download
108 > from the internet.
109
110 OK. I willl look at the maven-helper py script. Though I've no prior
111 experience with python hope this'll go well.
112
113 >
114 > For the user experience, maven will behave as noramally, downloading stuff from
115 > the internet, system stuff is just for system.
116 >
117 >
118 >>
119 >>
120 >> [0] http://overlays.gentoo.org/proj/java/log/gsoc-maven-overlay
121 >> [1] http://comments.gmane.org/gmane.linux.gentoo.java/2161
122
123 [2] http://dev.gentooexperimental.org/~kasun/
124
125 >>
126 >> Thanks,
127 >> --Kasun
128 >>
129 >
130 > --
131 > Cordialement,
132 > KiOrKY
133 > GPG Key FingerPrint: 0x1A1194B7681112AF
134 > Pensez à l’environnement.
135 > N’imprimez ce courriel que si vous en avez vraiment besoin.
136 >
137 >
138
139
140
141 --
142 ~~~*******'''''''''''''*******~~~
143 Kasun Gajasinghe,
144 University of Moratuwa,
145 Sri Lanka.
146 Blog: http://kasunbg.blogspot.com
147 Twitter: http://twitter.com/kasunbg