You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-dev@jakarta.apache.org by Petar Tahchiev <pa...@gmail.com> on 2007/01/29 12:09:40 UTC

Bringing Cactus Back To Life

Hi gyus,

my name is Petar Toshev Tahchiev and for the past over six months I have
been working with Felipe Leme
on the Cactus project. It all started on the last year's Google's Summer Of
Code where I wanted to apply
with the project of building a Cactus-Maven2-plugin and refactoring the
build tree of cactus. However our project
wasn't voted I couldn't take part. Anyway I had some problems later and a
few months ago I started working hard
on the project again. Through all that time I have been working on my
personal project in sourceforge [2], where
you now can reach the new, refactored,  cactus trunk.

I took as a base the repository at [1], trying to make the build using
maven2. I must admit It's been a really hard work,
as the old build of cactus, using ANT was MORE than complicated. Some of the
difficulties I met was that Maven does not
support multi-source tree projects, and that's the case of cactus: we have a
"framework" module, and in it several
sub-modules:

j2ee-12/
j2ee-13/
j2ee-14/
share-12-13-14/
share-13-14/

and when building the different package for the different JDK, we always use
some of the share sub-modules. Anyway,
this problem I have managed, by using uberjars. I package the wrappers for
the different JDKs in an artifact, and then the
share submodules also. Later when building the uberjars, the wrappers and
the share submodules are extracted and packaged
as a whole, using the assembly plugin.
I also spent a great deal of time in trying to improve the documentation.
Maven2 has the ability to generate a site for every single
artifact. The main cactus site was very ugly when being built with maven,
because the XDOC format differed from the
one maven recognizes (for example the <section> tag gets as attribute a
"title", not an id and many other small changes). I spent
a lot of time trying to fix the changes, and there may be still some places
where I have missed, so if you find the site apporopriate
we can use it.

 I also added the clover plugin in the pom.xml and saw the test-coverage was
not so big, so I also spent some time writing
a few testcases.

I also spent some time in fixing 2 of the bugs in the jira.

Another milestone in my work was making the Cactus-Ant Cargo integration. I
researched for a few days and managed to make
it. I had a few problems with one of the Cargo components, but I asked on
the Cargo list if it could be changed, and supplied
a patch for the Cargo 0.9 release (Vincent Massol may remember if he is
reading this) and the patch was applied.

Another Issue I would like to mention is the building of the Cactus-Samples
module. As I didn't have a Cactus-M2 plugin
it was practically impossible to test the samples against a real container.
So I added profiles and used the cargo-plugin
just to start and stop the containers for now, until I make the
Cactus-M2-plugin. If you would like to test the project with a
specific container you have to specify the container as a profile, for
instance: mvn install -P tomcat5x

Also another thing I would like to mention is the Checkstyle plugin. After
adding it to the build I found about 300 checkstyle
errors that prevented the build from passing successfully. I spent some time
fixing those mistakes so the build now is being
build successfully with checkstyle reports.

Also I talked on the Cargo's lists about the expected release date of Cargo
0.9 and I was explained that cargo is expected to
release any day now. So I made additional cactus-cargo.09 integration. So my
point is that if you want to test the trunk at [2]
you have to check out and install the cargo-.09 project at first.

========================================

A few weeks ago I started making the Cactus-M2-plugin. My first attempt was
very ugly. I made it mainly because I was
qurious if It was possible of soing it that way. In the implementation of
the mojos I just instantiated the CactifyWar/Ear tasks
and called their execute methods. (If you are really interested I was able
to make it that way :-), though it depended on the
cactus-ant-integration module and was REALLY ugly). Then I started anew
writing the plugin after losing two days in vain.
But my work was stalled for a while, as I moved to a new job. This weekend I
made the cactifyWar/Ear and MergeWebXML
mojos, and placed them in the trunk of my sourceforge's repo. The only thing
that left was the CactusTestMojo that still doesnot
work for unknown reasons to me. After extending the Surefireplugin mojo of
maven I get a null pointer exception in the parent
mojo. After investigating it in the maven lists it turned it is a bug in
maven. I  posted an issue in the maven JIRA recently, and right
 now I expect them to answer me.  So I am currenty working on the maven
cactus plugin and I think that in a few weeks I will finish it.

============================

I have added a submodule for JDK 1.5 support and this will be my next
occupation (if anyone of you don't do it :-)).
Also maybe the maven1 plugin needs to be fixed as it could be broken because
of the refactoring of the ant-integration module to use
cargo's containers.
So if we manage to fix these things and release the Cactus-1.8 it would be a
great thing.  I want some of the other cactus-committers to
review the subversion repository anf
============================

So to summon up the situation is this:I understand that there is still lots
of work to be done, but I definitely think that we are on the right way.
If any of the cactus-committers is able to look at the source tree in [2]
and give his feedback if it is good
enough to port it (maybe as a branch at first) on the cactus official repo.
So we can all continue working on it. Also it would be good
to hear from you, what else could be done for the successful release of the
of Cactus-1.8 project - this project definitely deserves our
joint efforts for bringing it to life again.


Thank you.

P.S . I would like to thank Felipe for his support and encouragement. And
despite he was busy enough, he found some time to guide me
on some of the issues: what needed additionaly to be done, and where I had
made mistakes.



[1] http://svn.apache.org/repos/asf/jakarta/cactus/trunk/
[2] svn co https://mamouth.svn.sourceforge.net/svnroot/mamouth mamouth

-- 
Regards, Petar!
Karlovo, Bulgaria.

Re: Bringing Cactus Back To Life

Posted by Felipe Leme <fe...@gmail.com>.
On 1/29/07, Petar Tahchiev <pa...@gmail.com> wrote:
> Yes it would be nice to bring the code back in the apache organization, but

Just to make things clear again: at any time Petar wanted to move the
code away from ASF; he just created such SourceForge repository so my
lethargy on setting up a sandbox (or applying his patches) didn't get
in the way of his work.

> I am totally unaware what is expected of me. I mean if there is anything I

Actually, you contributed to the project in the last weeks more than
the other developers did in 1 year, so that's not much more to be
expected from you :-)

> have to do for the code to be brought back in the official repository,
> please let me know.

Let's see what Martin says from my previous email - he is Jakarta's VP
and is more aware of the right way of handling this situation. Anyway,
I can tell you in advance that Apache works in a 'meritocratic' way,
where people gradually gets rights according to their contributions.
Once you do enough, we call a vote to get you as a committer; I would
call the vote after you did some stuff in the M2 branch, but I was not
able to keep your pace.

-- Felipe

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


Re: Bringing Cactus Back To Life

Posted by Petar Tahchiev <pa...@gmail.com>.
On 29/01/07, Martin van den Bemt <ml...@mvdb.net> wrote:
>
>
>
> Petar Tahchiev wrote:
> > Hi gyus,
> >
> > So to summon up the situation is this:I understand that there is still
> lots
> > of work to be done, but I definitely think that we are on the right way.
> > If any of the cactus-committers is able to look at the source tree in
> [2]
> > and give his feedback if it is good
> > enough to port it (maybe as a branch at first) on the cactus official
> repo.
> > So we can all continue working on it. Also it would be good
> > to hear from you, what else could be done for the successful release of
> the
> > of Cactus-1.8 project - this project definitely deserves our
> > joint efforts for bringing it to life again.
>
> I am in favor of moving things back to Apache, too bad the refactor wasn't
> done here to begin with
> though. The consequence of this is, that the changes need to come through
> the incubator. Which means :
>
> - A code grant for the code to be moved here.
> - Gettings CLA's on file
> - Start a vote to accept the code.
> - Start a vote to get Petar on board as a committer.
>
> The first 3 is to make sure that everything is covered legally.
>
> Mvgr,
> Martin
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cactus-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: cactus-dev-help@jakarta.apache.org
>
>
Martin hello,

Yes it would be nice to bring the code back in the apache organization, but
I am totally unaware what is expected of me. I mean if there is anything I
have to do for the code to be brought back in the official repository,
please let me know.

-- 
Regards, Petar!
Karlovo, Bulgaria.

Re: Bringing Cactus Back To Life

Posted by Martin van den Bemt <ml...@mvdb.net>.
Felipe Leme wrote:
> Hi Martin,
> 
> On 1/29/07, Martin van den Bemt <ml...@mvdb.net> wrote:
> 
>> I am in favor of moving things back to Apache, too bad the refactor
>> wasn't done here to
>> begin with though.
> 
> That's my fault. When Petar started the work, the changes would be too
> big for supplying patches at Jira (one patch would be a few megabytes,
> for instance). So, I said I would check if we could set up some sort
> of sandbox on Jakarta where he could commit the changes, but I ended
> up not pursuing such task.

> 
>> The consequence of this is, that the changes need to come through the
>> incubator.
> 
> Are you sure that's the only alternative? I mean, the project is
> already stale, I am afraid that would slow down things even more.

It's just for legal clearance, incubator is more than incubating projects ;)
> 
> What if we are able to automatically apply each change, using SVN
> scripts? If he started the Sourceforge repository from a given ASF
> repository release, it should not be that hard.

Let's keep it simple and sane by using a code grant and cla :)

> 
>> - Gettings CLA's on file
>> - Start a vote to get Petar on board as a committer.
> 
> If we start such vote and get him approved as a Cactus committer
> (which CLA in place), would we still need the incubator step?

Yep, see above..

> 
>> The first 3 is to make sure that everything is covered legally.
> 
> I understand our precautions on the legal field (and that's one of the
> main advantages of ASF compared to other OSS organizations), but I can
> assure we're fine on Petar's case, i.e., he will gladly follow all the
> procedures we ask him too.

I believe the fact that we are ok Petar's case, but we want to have it in writing ;)

I have a mail ready for the steps and just forwarded to the private list to see which order is
preferred : first a vote on acceptance of the codebase and then paperwork or the other way around..

Mvgr,
Martin

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


Re: Bringing Cactus Back To Life

Posted by Felipe Leme <fe...@gmail.com>.
Hi Martin,

On 1/29/07, Martin van den Bemt <ml...@mvdb.net> wrote:

> I am in favor of moving things back to Apache, too bad the refactor wasn't done here to
> begin with though.

That's my fault. When Petar started the work, the changes would be too
big for supplying patches at Jira (one patch would be a few megabytes,
for instance). So, I said I would check if we could set up some sort
of sandbox on Jakarta where he could commit the changes, but I ended
up not pursuing such task.

> The consequence of this is, that the changes need to come through the incubator.

Are you sure that's the only alternative? I mean, the project is
already stale, I am afraid that would slow down things even more.

What if we are able to automatically apply each change, using SVN
scripts? If he started the Sourceforge repository from a given ASF
repository release, it should not be that hard.

> - Gettings CLA's on file
> - Start a vote to get Petar on board as a committer.

If we start such vote and get him approved as a Cactus committer
(which CLA in place), would we still need the incubator step?

> The first 3 is to make sure that everything is covered legally.

I understand our precautions on the legal field (and that's one of the
main advantages of ASF compared to other OSS organizations), but I can
assure we're fine on Petar's case, i.e., he will gladly follow all the
procedures we ask him too.

-- Felipe

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


Re: Bringing Cactus Back To Life

Posted by Martin van den Bemt <ml...@mvdb.net>.

Petar Tahchiev wrote:
> Hi gyus,
> 
> So to summon up the situation is this:I understand that there is still lots
> of work to be done, but I definitely think that we are on the right way.
> If any of the cactus-committers is able to look at the source tree in [2]
> and give his feedback if it is good
> enough to port it (maybe as a branch at first) on the cactus official repo.
> So we can all continue working on it. Also it would be good
> to hear from you, what else could be done for the successful release of the
> of Cactus-1.8 project - this project definitely deserves our
> joint efforts for bringing it to life again.

I am in favor of moving things back to Apache, too bad the refactor wasn't done here to begin with
though. The consequence of this is, that the changes need to come through the incubator. Which means :

- A code grant for the code to be moved here.
- Gettings CLA's on file
- Start a vote to accept the code.
- Start a vote to get Petar on board as a committer.

The first 3 is to make sure that everything is covered legally.

Mvgr,
Martin


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


Re: Bringing Cactus Back To Life

Posted by Vincent Massol <vi...@massol.net>.
Hi Petar,

Seems you've been busy! :-)

This is all great news. I'm no longer working on Cactus but I'm happy  
to see you've been working on this and giving a momentum to Cactus. I  
guess the challenge is now to integrate all your good work in the  
main source tree... Good luck for that!

> I also added the clover plugin in the pom.xml and saw the test- 
> coverage was
> not so big, so I also spent some time writing
> a few testcases.

There might be a mistake here because last time I left the project we  
had over 75% test coverage. Maybe you're just counting unit tests and  
not functional tests. In which case you'll need to add functional  
tests to the mix as the majority of tests in Cactus are functional  
tests AFAIR.

Thanks
-Vincent

On Jan 29, 2007, at 12:09 PM, Petar Tahchiev wrote:

> Hi gyus,
>
> my name is Petar Toshev Tahchiev and for the past over six months I  
> have
> been working with Felipe Leme
> on the Cactus project. It all started on the last year's Google's  
> Summer Of
> Code where I wanted to apply
> with the project of building a Cactus-Maven2-plugin and refactoring  
> the
> build tree of cactus. However our project
> wasn't voted I couldn't take part. Anyway I had some problems later  
> and a
> few months ago I started working hard
> on the project again. Through all that time I have been working on my
> personal project in sourceforge [2], where
> you now can reach the new, refactored,  cactus trunk.
>
> I took as a base the repository at [1], trying to make the build using
> maven2. I must admit It's been a really hard work,
> as the old build of cactus, using ANT was MORE than complicated.  
> Some of the
> difficulties I met was that Maven does not
> support multi-source tree projects, and that's the case of cactus:  
> we have a
> "framework" module, and in it several
> sub-modules:
>
> j2ee-12/
> j2ee-13/
> j2ee-14/
> share-12-13-14/
> share-13-14/
>
> and when building the different package for the different JDK, we  
> always use
> some of the share sub-modules. Anyway,
> this problem I have managed, by using uberjars. I package the  
> wrappers for
> the different JDKs in an artifact, and then the
> share submodules also. Later when building the uberjars, the  
> wrappers and
> the share submodules are extracted and packaged
> as a whole, using the assembly plugin.
> I also spent a great deal of time in trying to improve the  
> documentation.
> Maven2 has the ability to generate a site for every single
> artifact. The main cactus site was very ugly when being built with  
> maven,
> because the XDOC format differed from the
> one maven recognizes (for example the <section> tag gets as  
> attribute a
> "title", not an id and many other small changes). I spent
> a lot of time trying to fix the changes, and there may be still  
> some places
> where I have missed, so if you find the site apporopriate
> we can use it.
>
> I also added the clover plugin in the pom.xml and saw the test- 
> coverage was
> not so big, so I also spent some time writing
> a few testcases.
>
> I also spent some time in fixing 2 of the bugs in the jira.
>
> Another milestone in my work was making the Cactus-Ant Cargo  
> integration. I
> researched for a few days and managed to make
> it. I had a few problems with one of the Cargo components, but I  
> asked on
> the Cargo list if it could be changed, and supplied
> a patch for the Cargo 0.9 release (Vincent Massol may remember if  
> he is
> reading this) and the patch was applied.
>
> Another Issue I would like to mention is the building of the Cactus- 
> Samples
> module. As I didn't have a Cactus-M2 plugin
> it was practically impossible to test the samples against a real  
> container.
> So I added profiles and used the cargo-plugin
> just to start and stop the containers for now, until I make the
> Cactus-M2-plugin. If you would like to test the project with a
> specific container you have to specify the container as a profile, for
> instance: mvn install -P tomcat5x
>
> Also another thing I would like to mention is the Checkstyle  
> plugin. After
> adding it to the build I found about 300 checkstyle
> errors that prevented the build from passing successfully. I spent  
> some time
> fixing those mistakes so the build now is being
> build successfully with checkstyle reports.
>
> Also I talked on the Cargo's lists about the expected release date  
> of Cargo
> 0.9 and I was explained that cargo is expected to
> release any day now. So I made additional cactus-cargo.09  
> integration. So my
> point is that if you want to test the trunk at [2]
> you have to check out and install the cargo-.09 project at first.
>
> ========================================
>
> A few weeks ago I started making the Cactus-M2-plugin. My first  
> attempt was
> very ugly. I made it mainly because I was
> qurious if It was possible of soing it that way. In the  
> implementation of
> the mojos I just instantiated the CactifyWar/Ear tasks
> and called their execute methods. (If you are really interested I  
> was able
> to make it that way :-), though it depended on the
> cactus-ant-integration module and was REALLY ugly). Then I started  
> anew
> writing the plugin after losing two days in vain.
> But my work was stalled for a while, as I moved to a new job. This  
> weekend I
> made the cactifyWar/Ear and MergeWebXML
> mojos, and placed them in the trunk of my sourceforge's repo. The  
> only thing
> that left was the CactusTestMojo that still doesnot
> work for unknown reasons to me. After extending the Surefireplugin  
> mojo of
> maven I get a null pointer exception in the parent
> mojo. After investigating it in the maven lists it turned it is a  
> bug in
> maven. I  posted an issue in the maven JIRA recently, and right
> now I expect them to answer me.  So I am currenty working on the maven
> cactus plugin and I think that in a few weeks I will finish it.
>
> ============================
>
> I have added a submodule for JDK 1.5 support and this will be my next
> occupation (if anyone of you don't do it :-)).
> Also maybe the maven1 plugin needs to be fixed as it could be  
> broken because
> of the refactoring of the ant-integration module to use
> cargo's containers.
> So if we manage to fix these things and release the Cactus-1.8 it  
> would be a
> great thing.  I want some of the other cactus-committers to
> review the subversion repository anf
> ============================
>
> So to summon up the situation is this:I understand that there is  
> still lots
> of work to be done, but I definitely think that we are on the right  
> way.
> If any of the cactus-committers is able to look at the source tree  
> in [2]
> and give his feedback if it is good
> enough to port it (maybe as a branch at first) on the cactus  
> official repo.
> So we can all continue working on it. Also it would be good
> to hear from you, what else could be done for the successful  
> release of the
> of Cactus-1.8 project - this project definitely deserves our
> joint efforts for bringing it to life again.
>
>
> Thank you.
>
> P.S . I would like to thank Felipe for his support and  
> encouragement. And
> despite he was busy enough, he found some time to guide me
> on some of the issues: what needed additionaly to be done, and  
> where I had
> made mistakes.
>
>
>
> [1] http://svn.apache.org/repos/asf/jakarta/cactus/trunk/
> [2] svn co https://mamouth.svn.sourceforge.net/svnroot/mamouth mamouth
>
> -- 
> Regards, Petar!
> Karlovo, Bulgaria.


	

	
		
___________________________________________________________________________ 
Yahoo! Mail r�invente le mail ! D�couvrez le nouveau Yahoo! Mail et son interface r�volutionnaire.
http://fr.mail.yahoo.com

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