As mentioned before I'm not a big fan of merging these plugins. IMO,
SHITTY provides a lot of additional functionality on top of what the
maven-invoker-plugin provides, like:
* Groovy integration
* More flexible configuration
* Clean and install support integrated (for less pom.xml
configuration)
* ANSI color support
* Parallel test invocation
* Support for richer test validation and rejection
* Smarter handling for invocations when project defines no tests
At first I was using the maven-clean-plugin, maven-install-plugin and
maven-inovker-plugin, but I found it insufficient in my desire to
simplify configuration and allow some projects to define tests and
others to omit them. I also wanted to add colors to make it a little
easier for me to grok the output, run tests in parallel, support more
flexible validation and a bunch of other issues. So I choose to write
a new plugin at the Codehaus, which allows me to *very quickly* add
features, respond to problems and grow the functionality of the
plugin. Apache plugins on the other hand are a little more limited in
flexibility, which tends to slow the release cycle and IMO puts a bit
of a damper on innovation from the reduced numbers of iterations. Its
not a knock on Apache, as I'm a commiter and PMC member, but that is
really and at this point in the life of SHITTY I believe that its best
to continue living at the Codehaus.
IMO, invoker is useful, but so is SHITTY. I created SHITTY because I
needed something that worked NOW, and didn't have time to wait weeks
or months for patch review and application, and then weeks or months
more for a release so I could actually use it.
Personally I don't think folks really care about BeanShell vs.
Groovy... and if I took a pool I'd imaging most folks would rather
have Groovy. But if its a big deal I can make SHITTY run BeanShell
scripts.
Anyways... SHITTY was created out of my frustration with clean,
install and invoker... to make my life easier, and allow me to build
projects (mostly mojo projects) which had some reasonable tests to
ensure that I didn't screw anything up. I personally don't see that
clean, install and invoker plugins merging together. So I'd rather
see the invoker continue to be a plugin to help with invocation of sub-
maven builds, and SHITTY for complete integration testing of sub-maven
builds. Maybe one day they can share more code... though since SHITTY
is written in Groovy and maven-invoker-plugin is Java, I'm not sure
how that will work out.
I think some time is still needed to add more features and let both
plugins mature...
Hope that helps some :-)
--jason
On Dec 17, 2007, at 12:17 AM, olivier lamy wrote:
Hi,
Agree on merge but in a new plugin or merging in maven-invoker-
plugin ?
Before starting this work, I'd like to release the current
maven-invoker-plugin to not delay some other releases which depends
on this.
I will call a vote today.
After we can work on the merge.
Thoughs ? or objections ?
--
Olivier
2007/12/17, nicolas de loof <[EMAIL PROTECTED]>:
I just looked at invoker plugin as part of maven-jar-plugin it tests.
Looks very similar to shitty, just two diffs :
- shitty handles installing a test jar in the local repo. Invoker
requires
more conf in POM to install the jar in a custom local repo (the way
it is
used in MJAR)
- shitty uses groovy for verify scripts, verifier uses beanshell.
Both accept standard Java.
Couldn't those two plugins merge ? They are so similar !
2007/12/14, nicolas de loof <[EMAIL PROTECTED]>:
Not sure to understand, maybe I miss-used testing-harness :
I set a test POM with just the plugin configuration, so that I can
run :
File testPom = new File( getBasedir(),
"src/test/resources/compile.pom" );
Mojo mojo = (Mojo) lookupMojo( "compile", testPom );
assertNotNull( "Failed to configure the plugin", mojo );
mojo.execute();
Right, but then when my plugin has many plexus @component I have
to set
them in the test POM as configuration elements, using
implementation="XXXStub". So it seems this NOT to be a real maven
build.
The
EclipsePlugin requires a MavenProject with many sub-components,
that is
difficult to setup
Or maybe I missunderstood the use of this plugin ?
Nico.
2007/12/14, Brian E. Fox <[EMAIL PROTECTED]>:
AFAIK, shitty is similar to invoker, but does more : it install
the
current
artifact in local repo with version "testing" and invoke a maven
build.
Seems to be what the invoker it-test do. Shitty alos use groovy
scripts
to
test the result.
This is _exactly_ what the plugin testing harness (currently used
by
the
eclipse plugin) does.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]