You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by cedric walter <ce...@gmail.com> on 2013/08/13 23:22:05 UTC

Apache POI and Maven modules (mavenization)?

 Hi all,

Any plan or roadmap to move away from the custom ANT build.xml in favor of
Maven (mavenization)?

using maven would lower the barrier to maintain apache poi build,
standardize the structure, ease build, ease reporting

I could help there if  there is a demand, there are some challenges through:

- developer getting use too the new structure (it would be simpler to
understand and maintain) but nothing that a good documentation can not
solve.
- moving file around without losing history (an experience that is always
painful in svn)
- change in jenkins but other Apache project use also Maven so not a big
deal,
- to be continued...

Thanks for your feedback
Cédric Walter

Re: Apache POI and Maven modules (mavenization)?

Posted by Yegor Kozlov <ye...@dinom.ru>.
poi-main and poi-scratchpad fit in Maven more or less OK.

My concern is poi-ooxml.  This module has lots of unusual stuff, in
particular, downloading and building ooxml schemas.

Personally, I'm more against Maven than for it. Maven is nice when your
project fits in it or you are starting a new one from scratch. POI is just
too big a dinosaur :).

What we can improve is how we download and manage dependencies and Ivy is
the way to go.

Yegor


On Thu, Aug 15, 2013 at 12:43 AM, Dominik Stadler <do...@gmx.at>wrote:

> Hi,
>
> Obviously I am not an Maven expert, but one or two years ago I would have
> opted to keep away from Maven right away because nearly every Maven-based
> project I came across failed to build because of broken dependencies.
> Nowadays this has changed a lot, although there are still cases where
> dependencies suddenly cannot be found and make it hard to get a project
> built.
>
> In my experience Maven works best when the build process is straight
> forward and does not try to do unusual things. Not sure if the things that
> the Apache POI build does are easily fitted into a pom.
>
> Is there a chance that we can create a pom which works with the current
> source layout to compare build-speed and functionality without doing the
> full switch initially? Is that feasible or would we stretch Maven to its
> limits there already? Otherwise you will probably need to use a branch so
> we can also verify CI and building on other machines, but you will end up
> with all the merge-pain afterwards...
>
> And regarding Eclipse, I have Project files locally which allow me to do
> all development work without ever running Ant unless I want to run all
> test-cases or do jar-builds. We can easily add those to SVN to make them
> available for others, I don't like it either when some external
> build-process needs to be invoked just to compile the code and run a single
> unit-test, but that is easily possible with the Ant-based build as well.
>
> Dominik.
>
> On Wed, Aug 14, 2013 at 12:09 AM, cedric walter <cedric.walter@gmail.com
> >wrote:
>
> > I am pretty convinced that it would even run a lot faster. I have work in
> > some huge projects using maven (50 or more modules)..
> >
> > After looking at all the target in the build.xml, i see that lot are
> > duplicated and just try to create a kind of lifecycle: compile - test -
> > javadoc and so on... Maven will do a better job with its standard phases,
> > with less lines, and open new possibilities through plugins. I can not be
> > 100% sure but i don't see a need for custom plugins (except rat). Only
> > stuff not clear as for now is Apache Forest, it seems to run only from
> Ant
> > in Maven (
> > http://forrest.apache.org/docs_0_90/howto/howto-forrest-from-maven.html)
> >
> > Maybe I should also say that Maven phases will be mapped to your IDE
> > lifecycle, so you wont have to
> > 1. write code,
> > 2. run ant compile ant target
> > 3. and wait
> >
> > Advantages i also see
> > * Maven pom will be productive not generated
> > * publishing to maven is for free (deploy phase)
> > * ...
> > The IDE will run the javac compiler within maven in the background to the
> > phase compile.
> >
> > The biggest pain i see is about moving file around without messing the
> > history (SVN is really not good at that).
> >
> > I assume there is other projects at Apache.org that went to Apache Maven
> > path, maybe it would be good to get in touch with them to get their
> initial
> > motivations, feedback, better identify some risks...
> >
> > Cédric
> >
> >
> >
> >
> >
> >
> > On Tue, Aug 13, 2013 at 11:40 PM, Nick Burch <ap...@gagravarr.org>
> wrote:
> >
> > > On Tue, 13 Aug 2013, cedric walter wrote:
> > >
> > >> Any plan or roadmap to move away from the custom ANT build.xml in
> favor
> > >> of Maven (mavenization)?
> > >>
> > >
> > > Is it actually possible for maven to support all the targets in the POI
> > > build.xml file, without writing custom plugins / having to have Maven
> > call
> > > ant to do a load of stuff?
> > >
> > > The ant script has the advantages of being very quick to run (I find it
> > > much faster than maven based projects I also work on), and generally
> > > working (so doesn't need a lot of work).
> > >
> > > I'm not personally against a move to maven, but I wouldn't be keen if
> it
> > > either got slower to build or test the project, or if we lost some of
> the
> > > targets we currently have. Is that possible?
> > >
> > > Nick
> > >
> > >
> ------------------------------**------------------------------**---------
> > > To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> > > For additional commands, e-mail: dev-help@poi.apache.org
> > >
> > >
> >
> >
> > --
> > Regards,
> > Cédric
> >
> > www.waltercedric.com
> > www.cedricwalter.com
> >
>

Re: Apache POI and Maven modules (mavenization)?

Posted by Dominik Stadler <do...@gmx.at>.
Hi,

Obviously I am not an Maven expert, but one or two years ago I would have
opted to keep away from Maven right away because nearly every Maven-based
project I came across failed to build because of broken dependencies.
Nowadays this has changed a lot, although there are still cases where
dependencies suddenly cannot be found and make it hard to get a project
built.

In my experience Maven works best when the build process is straight
forward and does not try to do unusual things. Not sure if the things that
the Apache POI build does are easily fitted into a pom.

Is there a chance that we can create a pom which works with the current
source layout to compare build-speed and functionality without doing the
full switch initially? Is that feasible or would we stretch Maven to its
limits there already? Otherwise you will probably need to use a branch so
we can also verify CI and building on other machines, but you will end up
with all the merge-pain afterwards...

And regarding Eclipse, I have Project files locally which allow me to do
all development work without ever running Ant unless I want to run all
test-cases or do jar-builds. We can easily add those to SVN to make them
available for others, I don't like it either when some external
build-process needs to be invoked just to compile the code and run a single
unit-test, but that is easily possible with the Ant-based build as well.

Dominik.

On Wed, Aug 14, 2013 at 12:09 AM, cedric walter <ce...@gmail.com>wrote:

> I am pretty convinced that it would even run a lot faster. I have work in
> some huge projects using maven (50 or more modules)..
>
> After looking at all the target in the build.xml, i see that lot are
> duplicated and just try to create a kind of lifecycle: compile - test -
> javadoc and so on... Maven will do a better job with its standard phases,
> with less lines, and open new possibilities through plugins. I can not be
> 100% sure but i don't see a need for custom plugins (except rat). Only
> stuff not clear as for now is Apache Forest, it seems to run only from Ant
> in Maven (
> http://forrest.apache.org/docs_0_90/howto/howto-forrest-from-maven.html)
>
> Maybe I should also say that Maven phases will be mapped to your IDE
> lifecycle, so you wont have to
> 1. write code,
> 2. run ant compile ant target
> 3. and wait
>
> Advantages i also see
> * Maven pom will be productive not generated
> * publishing to maven is for free (deploy phase)
> * ...
> The IDE will run the javac compiler within maven in the background to the
> phase compile.
>
> The biggest pain i see is about moving file around without messing the
> history (SVN is really not good at that).
>
> I assume there is other projects at Apache.org that went to Apache Maven
> path, maybe it would be good to get in touch with them to get their initial
> motivations, feedback, better identify some risks...
>
> Cédric
>
>
>
>
>
>
> On Tue, Aug 13, 2013 at 11:40 PM, Nick Burch <ap...@gagravarr.org> wrote:
>
> > On Tue, 13 Aug 2013, cedric walter wrote:
> >
> >> Any plan or roadmap to move away from the custom ANT build.xml in favor
> >> of Maven (mavenization)?
> >>
> >
> > Is it actually possible for maven to support all the targets in the POI
> > build.xml file, without writing custom plugins / having to have Maven
> call
> > ant to do a load of stuff?
> >
> > The ant script has the advantages of being very quick to run (I find it
> > much faster than maven based projects I also work on), and generally
> > working (so doesn't need a lot of work).
> >
> > I'm not personally against a move to maven, but I wouldn't be keen if it
> > either got slower to build or test the project, or if we lost some of the
> > targets we currently have. Is that possible?
> >
> > Nick
> >
> > ------------------------------**------------------------------**---------
> > To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> > For additional commands, e-mail: dev-help@poi.apache.org
> >
> >
>
>
> --
> Regards,
> Cédric
>
> www.waltercedric.com
> www.cedricwalter.com
>

Re: Apache POI and Maven modules (mavenization)?

Posted by cedric walter <ce...@gmail.com>.
I am pretty convinced that it would even run a lot faster. I have work in
some huge projects using maven (50 or more modules)..

After looking at all the target in the build.xml, i see that lot are
duplicated and just try to create a kind of lifecycle: compile - test -
javadoc and so on... Maven will do a better job with its standard phases,
with less lines, and open new possibilities through plugins. I can not be
100% sure but i don't see a need for custom plugins (except rat). Only
stuff not clear as for now is Apache Forest, it seems to run only from Ant
in Maven (
http://forrest.apache.org/docs_0_90/howto/howto-forrest-from-maven.html)

Maybe I should also say that Maven phases will be mapped to your IDE
lifecycle, so you wont have to
1. write code,
2. run ant compile ant target
3. and wait

Advantages i also see
* Maven pom will be productive not generated
* publishing to maven is for free (deploy phase)
* ...
The IDE will run the javac compiler within maven in the background to the
phase compile.

The biggest pain i see is about moving file around without messing the
history (SVN is really not good at that).

I assume there is other projects at Apache.org that went to Apache Maven
path, maybe it would be good to get in touch with them to get their initial
motivations, feedback, better identify some risks...

Cédric






On Tue, Aug 13, 2013 at 11:40 PM, Nick Burch <ap...@gagravarr.org> wrote:

> On Tue, 13 Aug 2013, cedric walter wrote:
>
>> Any plan or roadmap to move away from the custom ANT build.xml in favor
>> of Maven (mavenization)?
>>
>
> Is it actually possible for maven to support all the targets in the POI
> build.xml file, without writing custom plugins / having to have Maven call
> ant to do a load of stuff?
>
> The ant script has the advantages of being very quick to run (I find it
> much faster than maven based projects I also work on), and generally
> working (so doesn't need a lot of work).
>
> I'm not personally against a move to maven, but I wouldn't be keen if it
> either got slower to build or test the project, or if we lost some of the
> targets we currently have. Is that possible?
>
> Nick
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> For additional commands, e-mail: dev-help@poi.apache.org
>
>


-- 
Regards,
Cédric

www.waltercedric.com
www.cedricwalter.com

Re: Apache POI and Maven modules (mavenization)?

Posted by Nick Burch <ap...@gagravarr.org>.
On Tue, 13 Aug 2013, cedric walter wrote:
> Any plan or roadmap to move away from the custom ANT build.xml in favor 
> of Maven (mavenization)?

Is it actually possible for maven to support all the targets in the POI 
build.xml file, without writing custom plugins / having to have Maven call 
ant to do a load of stuff?

The ant script has the advantages of being very quick to run (I find it 
much faster than maven based projects I also work on), and generally 
working (so doesn't need a lot of work).

I'm not personally against a move to maven, but I wouldn't be keen if it 
either got slower to build or test the project, or if we lost some of the 
targets we currently have. Is that possible?

Nick

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org