You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lenya.apache.org by florent andré <fl...@4sengines.com> on 2012/09/26 12:25:41 UTC

Little steps forward to lenya3

Hi devs !

Hope all goes well for you !

Just to let you know some work I have done on spare time.

This work is actually here : 
https://github.com/florent-andre/lenya/tree/maven-migration
and of course will be pushing back to apache svn when less experimental.

So, as experienced with the cocoon3 + maven experience (current trunk), 
too bigs technology steps are not suitable for our community.

So, my main idea is to do little modifications with minimal breaks.

In this context, I choose to start the migration to maven3 :
* Changes are mostly at the build level, no big code drawback
* And when it's done, we will appreciate the goods (centralized 
dependencies versioning, release, profiles, standard structure, etc...)

One of the tricky stuff I see in ant build is the capability to patch 
web.xml and cocoon.xconf.
This feature is really interesting and don't have to be lost imo.
I search around an existing maven plugin to do so, but don't find it, 
and so go to implement one using cocoon's ant's task code.

After some fights with maven plugin development I get something working 
[1]. This is really not clean but do the trick.
Under this folder you will see :
/maven-xpatch : that is the plugin's code
/test : that contains 2 tests projects intended to be in 
integration-test of the plugin when I clear my mind on how to well test 
maven plugins.

The idea of this plugin is :
- listall dependencies of the project (the webapp in our case)
- if dependenc(y|ies) have META-INF/patches folder with patch files in 
it, apply the patches to the current webapp project.

Again, really experimental for now, open to all comments/advices.

Apart from that I started to convert src/java folder to a maven project 
(core-api) and get it done.
Next convert will be src/impl into core-impl.

Apart from this two "specials" folder I will change source folder 
configuration in maven in order to not change our code organization and 
to it compilable by ant before total switching to maven.

Mvn will be a good step IMO, that will help us to go to the next ones, 
as I think, could be (unordered) : updated version of dependencies, osgi 
compliance, code re-organisation, inclusion of new frameworks (cocoon3, 
apache camel,...), ....

Feedbacks welcome !
++


[1] 
https://github.com/florent-andre/lenya/tree/maven-migration/src/maven-xpatch-plugin

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


Re: Little steps forward to lenya3

Posted by Richard Frovarp <rf...@apache.org>.
Hey Florent,

How's it going? I haven't had a chance to go over this yet, been busy with
a great many other things. Would it perhaps make sense to move to Gradle
instead? I just talked with a Gradle expert, Tim Berglund, at the
conference I'm at, and he said that importing ant builds and ant tasks into
a Gradle build is very simple. He said that the Gradleware people are in
Germany, so I don't know if they are going to be around ApacheCon or not.
He is willing to help out if we need some help with the migration. It might
be a way for us to go.

Richard

On Wed, Sep 26, 2012 at 5:25 AM, florent andré <
florent.andre-dev@4sengines.com> wrote:

> Hi devs !
>
> Hope all goes well for you !
>
> Just to let you know some work I have done on spare time.
>
> This work is actually here : https://github.com/florent-**
> andre/lenya/tree/maven-**migration<https://github.com/florent-andre/lenya/tree/maven-migration>
> and of course will be pushing back to apache svn when less experimental.
>
> So, as experienced with the cocoon3 + maven experience (current trunk),
> too bigs technology steps are not suitable for our community.
>
> So, my main idea is to do little modifications with minimal breaks.
>
> In this context, I choose to start the migration to maven3 :
> * Changes are mostly at the build level, no big code drawback
> * And when it's done, we will appreciate the goods (centralized
> dependencies versioning, release, profiles, standard structure, etc...)
>
> One of the tricky stuff I see in ant build is the capability to patch
> web.xml and cocoon.xconf.
> This feature is really interesting and don't have to be lost imo.
> I search around an existing maven plugin to do so, but don't find it, and
> so go to implement one using cocoon's ant's task code.
>
> After some fights with maven plugin development I get something working
> [1]. This is really not clean but do the trick.
> Under this folder you will see :
> /maven-xpatch : that is the plugin's code
> /test : that contains 2 tests projects intended to be in integration-test
> of the plugin when I clear my mind on how to well test maven plugins.
>
> The idea of this plugin is :
> - listall dependencies of the project (the webapp in our case)
> - if dependenc(y|ies) have META-INF/patches folder with patch files in it,
> apply the patches to the current webapp project.
>
> Again, really experimental for now, open to all comments/advices.
>
> Apart from that I started to convert src/java folder to a maven project
> (core-api) and get it done.
> Next convert will be src/impl into core-impl.
>
> Apart from this two "specials" folder I will change source folder
> configuration in maven in order to not change our code organization and to
> it compilable by ant before total switching to maven.
>
> Mvn will be a good step IMO, that will help us to go to the next ones, as
> I think, could be (unordered) : updated version of dependencies, osgi
> compliance, code re-organisation, inclusion of new frameworks (cocoon3,
> apache camel,...), ....
>
> Feedbacks welcome !
> ++
>
>
> [1] https://github.com/florent-**andre/lenya/tree/maven-**
> migration/src/maven-xpatch-**plugin<https://github.com/florent-andre/lenya/tree/maven-migration/src/maven-xpatch-plugin>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: dev-unsubscribe@lenya.apache.**org<de...@lenya.apache.org>
> For additional commands, e-mail: dev-help@lenya.apache.org
>
>