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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to