* [gentoo-soc] Gentoo Maven Integration - Weekly Report #1
@ 2011-05-31 7:05 Kasun Gajasinghe
[not found] ` <4DE4952C.5030604@cryptelium.net>
[not found] ` <4de496d7.a723440a.17fc.ffff8b01@mx.google.com>
0 siblings, 2 replies; 3+ messages in thread
From: Kasun Gajasinghe @ 2011-05-31 7:05 UTC (permalink / raw
To: gentoo-soc; +Cc: kiorky, Serkan Kaba, Alistair Bush
Hello everyone,
The goal of this project is to be easily able to write ebuilds for
upstream projects that use Apache Maven as the build system. The Maven
integration allows to natively use Apache Maven in Java packages in
the main tree. The current system work around the support for Maven
projects by transforming them to Ant. It generates build.xml via “mvn
ant:ant” command and sanitizes that. This conversion too has some
problems and needs to fixed. With this project, developers gains the
ability to use native Maven support for writing ebuilds and will get
full support for using maven-to-ant feature.
Progress:
* The development is carried out at the gsoc-maven-overlay at [0]
* The first step of this project is to bump all the maven related
ebuilds. Current ebuilds are around 3 years old. There are about 40
ebuilds to bump, so it'll be a little lengthy process.
* Decided to go ahead with Maven 2.x (the latest release is
2.2.1) see [1] for the discussion.
* All the ebuilds related to "maven || wagon || plexus || doxia"
needs to be bumped.
* I was trying to bump the plexus-server. It has been a quite a
process since some dependencies isn't available anymore.
* Then it turned out that plexus-server is only used by wagon-ftp
ebuild. Wagon-ftp needs plexus-ftp which is a sub-project of
plexus-server. So, I've been trying to write a new ebuild for the
plexus-ftp.
* I've wrote the ebuild, but still needs some work to get it into
work. There's some issues with pom rewriting. Either the pom file
contains some issues or javatoolkit/maven-helper.py-2.6, the script
for pom rewriting contains a bug.
* Fixed an issue in the java-maven-2.eclass which caused the
build maven-base-poms ebuild to fail.
* Got [3] setup to temporily host some source tarballs.
Next:
* Getting the plexus-ftp and wagon-ftp ebuilds to work. This
process goes through fixing all the DEPEND which will take some time.
Once the this got to work, bumping the rest of the ebuilds is just an
iterative (and exhausting ;) ) process.
* Need to fix the java-maven-2.eclass for the bugs and errors
during the course of the bumping process.
* The ultimate goal is to get building maven from source fully
working/bootstrapping maven.
Questions:
* Need to figure out what DEPENDs should be included for maven
based ebuilds. Does all the artifacts in the <dependencies> in the POM
needed to be included?
* In addition to patching build.xml generated from `mvn ant:ant`,
Is there any other changes needs to be done to the source?
[0] http://overlays.gentoo.org/proj/java/log/gsoc-maven-overlay
[1] http://comments.gmane.org/gmane.linux.gentoo.java/2161
[2] http://dev.gentooexperimental.org/~kasun/
Thanks,
--Kasun
--
~~~*******'''''''''''''*******~~~
Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.
Blog: http://kasunbg.blogspot.com
Twitter: http://twitter.com/kasunbg
^ permalink raw reply [flat|nested] 3+ messages in thread
* [gentoo-soc] Re: Gentoo Maven Integration - Weekly Report #1
[not found] ` <4DE4952C.5030604@cryptelium.net>
@ 2011-05-31 12:31 ` Kasun Gajasinghe
0 siblings, 0 replies; 3+ messages in thread
From: Kasun Gajasinghe @ 2011-05-31 12:31 UTC (permalink / raw
To: kiorky; +Cc: gentoo-soc, Serkan Kaba, Alistair Bush
On Tue, May 31, 2011 at 12:43 PM, kiorky <kiorky@cryptelium.net> wrote:
>
>
> Le 31/05/2011 09:05, Kasun Gajasinghe a écrit :
>> Hello everyone,
>>
>> The goal of this project is to be easily able to write ebuilds for
>> upstream projects that use Apache Maven as the build system. The Maven
>> integration allows to natively use Apache Maven in Java packages in
>> the main tree. The current system work around the support for Maven
>> projects by transforming them to Ant. It generates build.xml via “mvn
>> ant:ant” command and sanitizes that. This conversion too has some
>> problems and needs to fixed. With this project, developers gains the
>> ability to use native Maven support for writing ebuilds and will get
>> full support for using maven-to-ant feature.
>>
>> Progress:
>> * The development is carried out at the gsoc-maven-overlay at [0]
>> * The first step of this project is to bump all the maven related
>> ebuilds. Current ebuilds are around 3 years old. There are about 40
>> ebuilds to bump, so it'll be a little lengthy process.
>> * Decided to go ahead with Maven 2.x (the latest release is
>> 2.2.1) see [1] for the discussion.
>> * All the ebuilds related to "maven || wagon || plexus || doxia"
>> needs to be bumped.
>> * I was trying to bump the plexus-server. It has been a quite a
>> process since some dependencies isn't available anymore.
>> * Then it turned out that plexus-server is only used by wagon-ftp
>> ebuild. Wagon-ftp needs plexus-ftp which is a sub-project of
>> plexus-server. So, I've been trying to write a new ebuild for the
>> plexus-ftp.
>
> +1, as i said you to go this way
>
>> * I've wrote the ebuild, but still needs some work to get it into
>> work. There's some issues with pom rewriting. Either the pom file
>> contains some issues or javatoolkit/maven-helper.py-2.6, the script
>> for pom rewriting contains a bug.
>
> Please describe the bug, it may be a feature.
This is the log for emerge -avtp plexus-ftp. I have added the source
tarball to [2].
http://paste.pocoo.org/show/398225/
Log for `emerge --info =dev-java/plexus-ftp-1.0_alpha1`
http://paste.pocoo.org/show/398230/
I'm trying emerging it without any dependencies included. So, it
should actually fail, but not in src_unpack phase.
>
>
>> * Fixed an issue in the java-maven-2.eclass which caused the
>> build maven-base-poms ebuild to fail.
>
>> * Got [3] setup to temporily host some source tarballs.
>>
>> Next:
>> * Getting the plexus-ftp and wagon-ftp ebuilds to work. This
>> process goes through fixing all the DEPEND which will take some time.
>> Once the this got to work, bumping the rest of the ebuilds is just an
>> iterative (and exhausting ;) ) process.
>
> I informed you of that, welcome to my previous work, and at this time even the
> ebuild were not there :p Good luck !
Yeah.. POM contains around 15 dependencies. Though your work of
plexus-server didn't contain any dependencies. I thought it should
have huge deps covering ftp, http etc.! I'll see.
>
>> * Need to fix the java-maven-2.eclass for the bugs and errors
>> during the course of the bumping process.
> Please be exact on the bugs, it may be features.
> For example, i truncated dependencies in poms.
>
>
>> * The ultimate goal is to get building maven from source fully
>> working/bootstrapping maven.
>
> We agree
>
>>
>> Questions:
>> * Need to figure out what DEPENDs should be included for maven
>> based ebuilds. Does all the artifacts in the <dependencies> in the POM
>> needed to be included?
>
> Its the ones you remove from the eclass you didnt say me why on irc.
It isn't. I only removed "source? ( app-arch/zip )" from DEPEND
because it caused a build failure on maven-base-poms. I thought I made
aware of it!
My above question was about the need of including all the articfacts
in the DEPEND of the particular ebuild.
The changeset: http://overlays.gentoo.org/proj/java/changeset/8382/gsoc-maven-overlay/eclass/java-maven-2.eclass
>
>> * In addition to patching build.xml generated from `mvn ant:ant`,
>> Is there any other changes needs to be done to the source?
>
> I remember truncate some dependency informations in poms not for maven when it
> will run for other projects to download externally stuff.
> Maven for system as emerging an ebuild with maven as the project builder will
> use system jars in 99% of cases, and the pom of the project needs to be
> rewritter so, to exclude version & some depenencies stuff not for it to download
> from the internet.
OK. I willl look at the maven-helper py script. Though I've no prior
experience with python hope this'll go well.
>
> For the user experience, maven will behave as noramally, downloading stuff from
> the internet, system stuff is just for system.
>
>
>>
>>
>> [0] http://overlays.gentoo.org/proj/java/log/gsoc-maven-overlay
>> [1] http://comments.gmane.org/gmane.linux.gentoo.java/2161
[2] http://dev.gentooexperimental.org/~kasun/
>>
>> Thanks,
>> --Kasun
>>
>
> --
> Cordialement,
> KiOrKY
> GPG Key FingerPrint: 0x1A1194B7681112AF
> Pensez à l’environnement.
> N’imprimez ce courriel que si vous en avez vraiment besoin.
>
>
--
~~~*******'''''''''''''*******~~~
Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.
Blog: http://kasunbg.blogspot.com
Twitter: http://twitter.com/kasunbg
^ permalink raw reply [flat|nested] 3+ messages in thread
* [gentoo-soc] Re: Gentoo Maven Integration - Weekly Report #1
[not found] ` <4de496d7.a723440a.17fc.ffff8b01@mx.google.com>
@ 2011-05-31 12:40 ` Kasun Gajasinghe
0 siblings, 0 replies; 3+ messages in thread
From: Kasun Gajasinghe @ 2011-05-31 12:40 UTC (permalink / raw
To: Alistair Bush; +Cc: gentoo-soc, kiorky, Serkan Kaba
On Tue, May 31, 2011 at 12:51 PM, Alistair Bush <ali_bush@gentoo.org> wrote:
> On Tue, 31 May 2011 12:35:48 Kasun Gajasinghe wrote:
>> Hello everyone,
>>
>> The goal of this project is to be easily able to write ebuilds for
>> upstream projects that use Apache Maven as the build system. The Maven
>> integration allows to natively use Apache Maven in Java packages in
>> the main tree. The current system work around the support for Maven
>> projects by transforming them to Ant. It generates build.xml via “mvn
>> ant:ant” command and sanitizes that. This conversion too has some
>> problems and needs to fixed. With this project, developers gains the
>> ability to use native Maven support for writing ebuilds and will get
>> full support for using maven-to-ant feature.
>>
>> Progress:
>> * The development is carried out at the gsoc-maven-overlay at [0]
>> * The first step of this project is to bump all the maven related
>> ebuilds. Current ebuilds are around 3 years old. There are about 40
>> ebuilds to bump, so it'll be a little lengthy process.
>> * Decided to go ahead with Maven 2.x (the latest release is
>> 2.2.1) see [1] for the discussion.
>> * All the ebuilds related to "maven || wagon || plexus || doxia"
>> needs to be bumped.
>> * I was trying to bump the plexus-server. It has been a quite a
>> process since some dependencies isn't available anymore.
>> * Then it turned out that plexus-server is only used by wagon-ftp
>> ebuild. Wagon-ftp needs plexus-ftp which is a sub-project of
>> plexus-server. So, I've been trying to write a new ebuild for the
>> plexus-ftp.
>> * I've wrote the ebuild, but still needs some work to get it into
>> work. There's some issues with pom rewriting. Either the pom file
>> contains some issues or javatoolkit/maven-helper.py-2.6, the script
>> for pom rewriting contains a bug.
>> * Fixed an issue in the java-maven-2.eclass which caused the
>> build maven-base-poms ebuild to fail.
>> * Got [3] setup to temporily host some source tarballs.
>>
>> Next:
>> * Getting the plexus-ftp and wagon-ftp ebuilds to work. This
>> process goes through fixing all the DEPEND which will take some time.
>> Once the this got to work, bumping the rest of the ebuilds is just an
>> iterative (and exhausting ;) ) process.
>> * Need to fix the java-maven-2.eclass for the bugs and errors
>> during the course of the bumping process.
>> * The ultimate goal is to get building maven from source fully
>> working/bootstrapping maven.
>>
>> Questions:
>> * Need to figure out what DEPENDs should be included for maven
>> based ebuilds. Does all the artifacts in the <dependencies> in the POM
>> needed to be included?
>
> See http://maven.apache.org/guides/introduction/introduction-to-dependency-
> mechanism.html#Dependency_Scope
>
> compile = DEPEND and RDEPEND
> provided = DEPEND but not RDEPEND
> runtime = RDEPEND
> test = DEPEND but in test? ( )
> system = DEPEND
> import = ????
Oh, it greatly summarizes the work. I'll look in to 'import' thing.
Guess it's not a priority item since the site says "We currently do
not recommend using this for projects that get deployed to Central.".
And it only available on maven 2.0.9+.
>
>
>
>> * In addition to patching build.xml generated from `mvn ant:ant`,
>> Is there any other changes needs to be done to the source?
>>
>
> From what I remember there is the potential maven to generate sourcecode as
> part of a pom's execution. This gen-src needs to also be packaged as the
> generated build.xml file will not replicate those steps.
noted.
>
> You should be aware that mvn ant:ant supports only a very limited implentation
> compared to what projects can do natively within maven. essentually it only
> implements compile, jar and test phases.
>
Yes. I remember Kiorky saying that ant:ant is only intended to use for
bootstrapping maven!
>>
>> [0] http://overlays.gentoo.org/proj/java/log/gsoc-maven-overlay
>> [1] http://comments.gmane.org/gmane.linux.gentoo.java/2161
>> [2] http://dev.gentooexperimental.org/~kasun/
>>
Thanks,
--Kasun
--
~~~*******'''''''''''''*******~~~
Kasun Gajasinghe,
University of Moratuwa,
Sri Lanka.
Blog: http://kasunbg.blogspot.com
Twitter: http://twitter.com/kasunbg
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-05-31 12:40 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-31 7:05 [gentoo-soc] Gentoo Maven Integration - Weekly Report #1 Kasun Gajasinghe
[not found] ` <4DE4952C.5030604@cryptelium.net>
2011-05-31 12:31 ` [gentoo-soc] " Kasun Gajasinghe
[not found] ` <4de496d7.a723440a.17fc.ffff8b01@mx.google.com>
2011-05-31 12:40 ` Kasun Gajasinghe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox