You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Nelson Carpentier <ne...@gmail.com> on 2006/08/04 02:46:44 UTC

Maven Philosophy...

I've encountered some nigh-philosophical difficulties with the
adoption of Maven, and I was
wondering if anyone here could help me talk through them...?

I think Maven is a great idea, and adopting some of the best practices
has made my life
as the build developer a lot easier. I have been a Maven advocate at
work since I started
there last year, I've got the books, from O'Reilly and from Mergere. I
love and embrace
the best practices, but what do I do when our needs fall outside the
bounds of Maven's
well-established best practices?

Here are 3 examples of concepts that my team uses, but fall outside the bounds:

1) Our "unit tests" also include hitting the database.  I know that this is
usually considered a part of the "integration tests", but we've had long
discussions about this and we ended up agreeing that the benefit outweighs
the fairly small costs.  This only affects the Maven conversation when trying
to deal with re-initializing the DB via the Hibernate3 plugin.  What a pain
in the arse!  I have been through every single page of documentation for the
plugin, and I think it has a LONG way to go...  (Yes, I understand I can
volunteer my time to help make it better, but let's keep this discussion
framed in the present and near future, ok?)

2) Coverage.  Not only do we want to know what our "unit test" coverages are,
we want to know what our end-to-end coverage is.  For us, end-to-end numbers
include harnessing data on coverage from "unit testing" *and* "integration
tests", which others may feel more comfortable calling "application tests".
(For us, "integration tests" = actually deploying the app,and hitting it
with HTMLUnit, etc...)
I don't see how we can get these numbers for a n-tier project within the
standard Maven multi-module build, and/or with using the Cobertura plugin.

3) While we do try to have our "unit tests" clean up afterthemselves in the
database, we do need to seed data into the DB for the "integration tests",
so there is actually something there for the "integration tests" to expect.
Currently the reporting aspects seem to run seperately (and multiple times)
per build, and/or "site" invocation.  For tests that don't clean up,
running multiple times is not really an option.

The kicker is that I have implemented all of these concepts in our current
ANT builds.  I created a fairly standard-ish build process for our team,
modeled on Maven that we tend to call "1/2 Maven".

I dealt with #3 by creating another "module" that just has tests using the
DAO's to put data into the DB.  Then, the later module's tests are written
expecting that data.

#2 I deal with by creating extra Cobertura-instrumented artifacts, and
passing those around.  There's also a bit of finagling native to
Cobertura involved with getting the coverage numbers off of an app-
server.  I was able to overcome this with ANT, but would it really
work within the standard Maven process?


- Nelz

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Maven Philosophy...

Posted by Wayne Fay <wa...@gmail.com>.
Yes, and anything you feel like building from scratch or implementing
a Maven plugin for... ;-)

Wayne

On 8/6/06, Jimisola Laursen <li...@jimisola.com> wrote:
> That leaves me with Cobertura and Emma. Correct?
>
> Regards,
> Jimisola
> --
> View this message in context: http://www.nabble.com/Maven-Philosophy...-tf2048781.html#a5674735

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Maven Philosophy...

Posted by Jimisola Laursen <li...@jimisola.com>.
vmassol wrote:

>> That leaves me with Cobertura and Emma. Correct?

> Another option is to spend some bucks on if it fits your needs. It'll
> probably cost you less than finding working alternatives but all that
> depends on your needs I guess. For example if you spend 1 day looking for
> an
> alternative it'll already have paid for itself... ;-)

Wished I made USD1500 a day :)

> I haven't used cobertura nor emma recently so I can't tell you which one
> is
> best. The only one I really know is Clover and that's the one I used on
> business projects. I also use it on oss projects. And I wrote the m1
> clover
> plugin and now the m2 plugin so I'm 100% biased :-)

Are we all biased in somewhat way? :)

 / Jimisola

-Vincent


	

	
		
___________________________________________________________________________
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le
sujet !
Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et
vos expériences.
http://fr.answers.yahoo.com


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org



-- 
View this message in context: http://www.nabble.com/Maven-Philosophy...-tf2048781.html#a5681748
Sent from the Maven - Users forum at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Maven Philosophy...

Posted by Vincent Massol <vi...@massol.net>.

> -----Original Message-----
> From: Jimisola Laursen [mailto:lists@jimisola.com]
> Sent: dimanche 6 août 2006 19:49
> To: users@maven.apache.org
> Subject: Re: Maven Philosophy...
> 
> 
> 
> Scott Battaglia wrote:
> >
> > Projects released under an open source license can qualify for a
> > non-commercial license of Clover:
> > http://www.cenqua.com/clover/licensing.html (its towards the bottom of
> > the page)
> >
> > -Scott
> >
> >
> 
> I don't know what I was thinking of in my previous post but I wrote
> non-commercial when I meant commercial. That is, this is for a commercial
> product - not a non-commercial.
> 
> That leaves me with Cobertura and Emma. Correct?

Another option is to spend some bucks on if it fits your needs. It'll
probably cost you less than finding working alternatives but all that
depends on your needs I guess. For example if you spend 1 day looking for an
alternative it'll already have paid for itself... ;-)

I haven't used cobertura nor emma recently so I can't tell you which one is
best. The only one I really know is Clover and that's the one I used on
business projects. I also use it on oss projects. And I wrote the m1 clover
plugin and now the m2 plugin so I'm 100% biased :-)

-Vincent


	

	
		
___________________________________________________________________________ 
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! 
Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. 
http://fr.answers.yahoo.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Maven Philosophy...

Posted by Jimisola Laursen <li...@jimisola.com>.

Scott Battaglia wrote:
> 
> Projects released under an open source license can qualify for a 
> non-commercial license of Clover:
> http://www.cenqua.com/clover/licensing.html (its towards the bottom of 
> the page)
> 
> -Scott
> 
> 

I don't know what I was thinking of in my previous post but I wrote
non-commercial when I meant commercial. That is, this is for a commercial
product - not a non-commercial.

That leaves me with Cobertura and Emma. Correct?

Regards,
Jimisola
-- 
View this message in context: http://www.nabble.com/Maven-Philosophy...-tf2048781.html#a5674735
Sent from the Maven - Users forum at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Maven Philosophy...

Posted by Scott Battaglia <sc...@rutgers.edu>.
Projects released under an open source license can qualify for a 
non-commercial license of Clover:
http://www.cenqua.com/clover/licensing.html (its towards the bottom of 
the page)

-Scott




Vincent Massol wrote:
>   
>> -----Original Message-----
>> From: Jimisola Laursen [mailto:lists@jimisola.com]
>> Sent: dimanche 6 août 2006 15:05
>> To: users@maven.apache.org
>> Subject: RE: Maven Philosophy...
>>
>>
>>
>> vmassol wrote:
>>     
>>> [snip]
>>> FWIW this is currently supported in the Clover plugin. The plugin does
>>> this
>>> by creating clovered artifacts that it installs in your local repository
>>> and
>>> swaps a project's dependencies in favor of those clovered one when it
>>> finds
>>> them. I'm using it on Cargo's build successfully to report on full
>>>       
>> project
>>     
>>> coverage.
>>>
>>> -Vincent
>>> [snip]
>>>
>>>
>>>       
>> Sadly, Clover is not free for non-commercial use. 
>>     
>
> AFAIK you can easily get a license for non-commercial use.
>
> -Vincent
>   
>
>
>
>
>
> ___________________________________________________________________________
> Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet !
> Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences.
> http://fr.answers.yahoo.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Maven Philosophy...

Posted by Vincent Massol <vi...@massol.net>.

> -----Original Message-----
> From: Jimisola Laursen [mailto:lists@jimisola.com]
> Sent: dimanche 6 août 2006 15:05
> To: users@maven.apache.org
> Subject: RE: Maven Philosophy...
> 
> 
> 
> vmassol wrote:
> >
> > [snip]
> > FWIW this is currently supported in the Clover plugin. The plugin does
> > this
> > by creating clovered artifacts that it installs in your local repository
> > and
> > swaps a project's dependencies in favor of those clovered one when it
> > finds
> > them. I'm using it on Cargo's build successfully to report on full
> project
> > coverage.
> >
> > -Vincent
> > [snip]
> >
> >
> 
> Sadly, Clover is not free for non-commercial use. 

AFAIK you can easily get a license for non-commercial use.

-Vincent


	

	
		
___________________________________________________________________________ 
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! 
Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. 
http://fr.answers.yahoo.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Maven Philosophy...

Posted by Jimisola Laursen <li...@jimisola.com>.

vmassol wrote:
> 
> [snip]
> FWIW this is currently supported in the Clover plugin. The plugin does
> this
> by creating clovered artifacts that it installs in your local repository
> and
> swaps a project's dependencies in favor of those clovered one when it
> finds
> them. I'm using it on Cargo's build successfully to report on full project
> coverage.
> 
> -Vincent
> [snip]
> 
> 

Sadly, Clover is not free for non-commercial use. Which leaves Cobertura and
Emma. The tool also has to play along with AspectJ which I use.

Cobertura doesn't play well with AspectJ (at least to my knowledge) and Emma
doesn't seem to have a Maven 2 Plugin works at the time. Am I wrong? Are
there any other alternatives?

Regards,
Jimisola
-- 
View this message in context: http://www.nabble.com/Maven-Philosophy...-tf2048781.html#a5672499
Sent from the Maven - Users forum at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Maven Philosophy...

Posted by Vincent Massol <vi...@massol.net>.

> -----Original Message-----
> From: Nelson Carpentier [mailto:nelz9999@gmail.com]
> Sent: vendredi 4 août 2006 02:47
> To: users@maven.apache.org
> Subject: Maven Philosophy...

[snip]

> 2) Coverage.  Not only do we want to know what our "unit test" coverages
> are,
> we want to know what our end-to-end coverage is.  For us, end-to-end
> numbers
> include harnessing data on coverage from "unit testing" *and* "integration
> tests", which others may feel more comfortable calling "application
> tests".
> (For us, "integration tests" = actually deploying the app,and hitting it
> with HTMLUnit, etc...)
> I don't see how we can get these numbers for a n-tier project within the
> standard Maven multi-module build, and/or with using the Cobertura plugin.

FWIW this is currently supported in the Clover plugin. The plugin does this
by creating clovered artifacts that it installs in your local repository and
swaps a project's dependencies in favor of those clovered one when it finds
them. I'm using it on Cargo's build successfully to report on full project
coverage.

-Vincent


	

	
		
___________________________________________________________________________ 
Découvrez un nouveau moyen de poser toutes vos questions quelque soit le sujet ! 
Yahoo! Questions/Réponses pour partager vos connaissances, vos opinions et vos expériences. 
http://fr.answers.yahoo.com 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org