Hi, Okay... so what's decided now. Shall we,
1. extend the plugin executor in the maven core to not invoke the plugin at all (as implemented by my patches) or... 2. extend the maven-plugin-plugin to automatically generate skip properties Moreover, if we make maven-plugin-plugin to emit the 'skip' property, then the plugin should still implement the 'skip' logic in its code. Is my understanding correct ? Will you please clarify the next steps ? Sincere Regards, Kalyan C. Akella On Mon, Feb 7, 2011 at 11:50 PM, Jason van Zyl <[email protected]> wrote: > > On Feb 7, 2011, at 1:18 PM, Mark Struberg wrote: > > > yes, I just tried to explain that we have this already in lots of > plugins. > > > > > > Btw, there are 2 basically different way to implement this: > > > > a.) extending the maven-plugin-plugin to automatically generate skip > properties (similar to what we do already with the 'help' mojo) > > > > b.) extending the plugin executor in the maven core to not invoke the > plugin at all. > > > > +1 > > Obey the existing properties or the executor directives. > > > > > Both have pros and cons, e.g. would > > a) allow the plugins to be used even with older maven versions but the > plugins would need to be released with the new maven-plugin-plugin. > > b) otoh would allow us to skip those plugins without even changing > plugins. But this would require maven >= 3.1 ... > > > > For now I like the idea with extending the maven-plugin-plugin. Maybe we > can even tune the generation with xdoc annotations... > > > > If you can make the naming of the property the same as what the executor > directives would be you can make them work exactly the same way most likely. > > > So keep the ideas coming ;) > > > > > > LieGrue, > > strub > > > > > > --- On Mon, 2/7/11, Jason van Zyl <[email protected]> wrote: > > > >> From: Jason van Zyl <[email protected]> > >> Subject: Re: Regarding MNG-3321 - Support for Skipping Plugin Execution > >> To: "Maven Developers List" <[email protected]> > >> Date: Monday, February 7, 2011, 3:17 PM > >> I think a declarative way to skip a > >> plugin execution which the core can then deal with is more > >> scalable then trying to implement this in every plugin. With > >> some declarative nomenclature the execution plan could > >> easily be modified to skip certain executions. > >> > >> On Feb 7, 2011, at 3:56 AM, Mark Struberg wrote: > >> > >>> Fair enough, there are already lots of plugins which > >> provide a skip logic. Most times this is even split into two > >> options > >>> > >>> 1.) a general skip > >>> 2.) skip if executed on a parent pom > >>> > >>> I pretty often need this if I have large builds. In > >> this case, I e.g. create a backend-parent.pom which contains > >> all the JPA stuff, database setup, migration- and testdata > >> import etc. > >>> > >>> ad 1.) sometimes there are backend projects which e.g. > >> don't have testdata, no database, etc. Instead of providing > >> just another parent pom, I just skip the sql-maven-plugin > >> for example. > >>> > >>> ad 2.) parent poms most times have no testdata, etc > >> ... > >>> > >>> The skip functionality is necessary in this scenario, > >> because you can easily add additional plugins via profiles - > >> but you can hardly remove plugins this way ;) > >>> > >>> > >>> You can look at the sql-maven-plugin and > >> openjpa-maven-plugin for examples and property namings. > >>> > >>> Of course, the skip behaviour is a welcome benefit for > >> lots of plugins, but I fear by far not for all. > >>> > >>> > >>> I recently came a long a problem in OpenJPA. Since JPA > >> test results can highly differ depending on which > >> persistence option got used while enhancment, I like to > >> create an own openjpa-regression-tests submodule, containing > >> lots of other tests. But of course all the poms/jars of > >> those tests should not pollute my local repo nor even worse > >> the upstream repo. So I gladly found that even the > >> maven-deploy-plugin has such a skip flag! > >>> > >>> LieGrue, > >>> strub > >>> > >>> > >>> > >>> > >>> --- On Mon, 2/7/11, Kristian Rosenvold <[email protected]> > >> wrote: > >>> > >>>> From: Kristian Rosenvold <[email protected]> > >>>> Subject: Re: Regarding MNG-3321 - Support for > >> Skipping Plugin Execution > >>>> To: "Maven Developers List" <[email protected]> > >>>> Date: Monday, February 7, 2011, 7:42 AM > >>>> It really sounds to me like this > >>>> should be done with a profile that is > >>>> triggered > >>>> by the presence of a specific file (i.e. > >>>> "db-changeset.sql"), as can be > >>>> seen > >>>> at > http://maven.apache.org/guides/introduction/introduction-to-profiles.html > >>>> > >>>> At least this is the way most people handle this, > >> which > >>>> ensures that the > >>>> db-upgrade procedure has a well-defined set of > >> actions > >>>> attached to it > >>>> that can be inferred from reading the poms. > >>>> > >>>> Was there something specific that prevented you > >> from using > >>>> profiles? > >>>> > >>>> Kristian > >>>> > >>>> Den 07.02.2011 04:46, skrev Kalyan Akella: > >>>>> A few days back, I was working with the > >> Liquibase > >>>> Maven > >>>>> Plugin<http://www.liquibase.org/manual/maven>for doing DB > >>>> upgrades in > >>>>> my project. This plugin has 2 specific goals, > >> among > >>>>> others, which I was using, > >>>>> update<http://www.liquibase.org/manual/maven_update>& > >>>>> rollback<http://www.liquibase.org/manual/maven_rollback>. > >>>> 'update' goal > >>>>> executes all the Liquibase change-sets& > >>>> 'rollback' undoes the applied > >>>>> change-sets. > >>>>> > >>>>> So here's my scenario. I need update& > >>>> rollback to happen on my local test > >>>>> DB during the integration-test phase. > >> Moreover, I want > >>>> them to execute only > >>>>> when I introduce a Liquibase changeset. The > >> idea was > >>>> to verify whether my > >>>>> change-set is a valid one by doing an > >>>> upgrade->rollback->upgrade cycle on > >>>>> the test DB. Because, there were a large > >> number of > >>>> updates, I only wanted > >>>>> this to happen if I introduce a change-set in > >> the > >>>> first place. > >>>>> > >>>>> Initially, I wanted to control this behavior > >> at the > >>>> plugin level (in the > >>>>> POM) where I choose to execute the Liquibase > >> plugins > >>>> or not based on whether > >>>>> I pass in a system property (ala, -DskipTests) > >> or > >>>> through some other > >>>>> mechanism. Unfortunately, both the Liquibase > >> plugins > >>>> do not support the skip > >>>>> flag (as others do, like the surefire plugin). > >> I had > >>>> to later achieve this > >>>>> result by moving these two plugins inside a > >> Maven > >>>> profile and skip the > >>>>> profile altogether using the activation tag. > >>>>> > >>>>> So, here's my point. Whatever reasoning was > >> behind the > >>>> introduction of > >>>>> 'skip' flag functionality in some plugins > >> like > >>>> surefire, is the same very > >>>>> reason we need this support to be built across > >> all > >>>> plugins in a generic way. > >>>>> We can achieve this at the Maven level either > >> through > >>>> the CLI or through the > >>>>> POM as my implementation proves. It is of > >> course, up > >>>> to the community to > >>>>> decide when this should be rolled out as a > >> feature. > >>>>> > >>>>> Sincere Regards, > >>>>> Kalyan C. Akella > >>>>> > >>>>> On Sun, Feb 6, 2011 at 8:32 PM, Jason van > >> Zyl<[email protected]> > >> > >>>> wrote: > >>>>> > >>>>>> Out of curiosity what is the first thing > >> you used > >>>> this feature for? > >>>>>> > >>>>>> On Feb 6, 2011, at 8:06 AM, Kalyan Akella > >> wrote: > >>>>>> > >>>>>>> Hi, > >>>>>>> > >>>>>>> Thank you for the comments. > >>>>>>> > >>>>>>> First of all, these changes DO NOT > >> affect the > >>>> existing integration test > >>>>>>> suite. I verified this by running the > >> ENTIRE > >>>> suite with& without my > >>>>>>> patches. The *results are the same*. > >>>>>>> > >>>>>>> Secondly, I am in no urgent need to > >> get these > >>>> changes to Maven 3.0.x. Do > >>>>>> it > >>>>>>> as you see fit. My request for > >> applying the > >>>> patches was only from a pure > >>>>>>> code review perspective. > >>>>>>> > >>>>>>> Lastly, I shall update the JIRA ticket > >> with > >>>> the specific use cases where > >>>>>>> this feature helps. If my time > >> permits, I'll > >>>> update the usage& > >>>>>>> documentation. > >>>>>>> > >>>>>>> Sincere Regards, > >>>>>>> Kalyan C. Akella > >>>>>>> > >>>>>>> On Sun, Feb 6, 2011 at 3:28 AM, Jason > >> van > >>>> Zyl<[email protected]> > >>>>>> wrote: > >>>>>>>> On Feb 5, 2011, at 7:43 AM, Kalyan > >> Akella > >>>> wrote: > >>>>>>>> > >>>>>>>>> Hi, > >>>>>>>>> > >>>>>>>>> I attached the revised patches > >> to the > >>>> issues that implement the > >>>>>>>> following: > >>>>>>>>> 1. ability to skip multiple > >>>> plugins& their executions at CLI, > >>>>>>>>> 2. ability to skip > >> plugins& > >>>> their executions in POM using the<skip> > >>>>>>>>> element > >>>>>>>>> > >>>>>>>>> I'm still working on the > >>>> documentation. Please apply the patches and > >>>>>> let > >>>>>>>> me > >>>>>>>>> know your comments. > >>>>>>>>> > >>>>>>>> These patches are not going to be > >> applied > >>>> to trunk right away. > >>>>>>>> > >>>>>>>> I would suggest using the Github > >> Maven > >>>> tree, make a branch and apply > >>>>>> your > >>>>>>>> changes there if you would like > >> people to > >>>> try them. This is something > >>>>>> that > >>>>>>>> would greatly change the behavior > >> of Maven > >>>> so it's not going into 3.0.x. > >>>>>> It > >>>>>>>> may go into Maven 3.1 but that's > >> a > >>>> discussion. Changes like this aren't > >>>>>>>> going in without a discussion. I > >> also > >>>> asked that explanations be > >>>>>> provided > >>>>>>>> about why this patch is useful and > >> the use > >>>> cases surrounding its > >>>>>>>> functionality. > >>>>>>>> > >>>>>>>> If you haven't already, we can > >> show you > >>>> how the integration test suite > >>>>>>>> works, as any changes you make > >> must not > >>>> affect the operation of the > >>>>>> existing > >>>>>>>> integration tests. > >>>>>>>> > >>>>>>>>> Sincere Regards, > >>>>>>>>> Kalyan C. Akella > >>>>>>>>> > >>>>>>>>> On Wed, Feb 2, 2011 at 9:27 > >> AM, Kalyan > >>>> Akella<[email protected] > >>>>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>> Hi, > >>>>>>>>>> > >>>>>>>>>> Thank you for the patch > >> review > >>>> comments. I hope it is integrated to > >>>>>> the > >>>>>>>>>> trunk. > >>>>>>>>>> > >>>>>>>>>> My next steps: > >>>>>>>>>> > >>>>>>>>>> 1. Implement support for > >> skipping > >>>> multiple plugins/executions at the > >>>>>>>> CLI. > >>>>>>>>>> 2. Implement ability to > >> skip > >>>> plugin execution through the POM as > >>>>>>>> required > >>>>>>>>>> by http://jira.codehaus.org/browse/MNG-3102 > >>>>>>>>>> 3. Add documentation (with > >> the > >>>> proper reasoning) for both these > >>>>>>>> approaches. > >>>>>>>>>> > >>>>>>>>>> Sincere Regards, > >>>>>>>>>> Kalyan C. Akella > >>>>>>>>>> > >>>>>>>>>> On Wed, Feb 2, 2011 at > >> 3:17 AM, > >>>> Kristian Rosenvold< > >>>>>>>>>> [email protected]> > >> > >>>> wrote: > >>>>>>>>>> > >>>>>>>>>>> Our main topic of > >> discussion > >>>> on irc was initially if this *should* be > >>>>>> a > >>>>>>>>>>> 3.0.X or 3.1 issue due > >> to > >>>> being somewhat of a borderline between > >>>>>>>>>>> improvement/new > >> feature. It > >>>> seems to me like the way this discussion > >>>>>> is > >>>>>>>>>>> heading, it should > >> probably be > >>>> tagged 3.1. > >>>>>>>>>>> > >>>>>>>>>>> I agree very much > >> about > >>>> getting some well defined use cases and > >>>>>>>>>>> John's comments on the > >> issue > >>>> are also very good. > >>>>>>>>>>> > >>>>>>>>>>> I will leave the issue > >> at > >>>> "3.1" for now, and request well defined > >>>>>>>>>>> use-cases on the > >> issue. > >>>>>>>>>>> > >>>>>>>>>>> Kristian (I have all > >> the skip > >>>> options I need already) > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> ti., 01.02.2011 kl. > >> 15.44 > >>>> -0500, skrev Jason van Zyl: > >>>>>>>>>>>> So the technical > >> work was > >>>> done implementing this but no where in the > >>>>>>>>>>> issue does it describe > >> why > >>>> this feature is useful. > >>>>>>>>>>>> This fundamentally > >> changes > >>>> the behaviour of the lifecycle and the > >>>>>>>>>>> example listed in the > >> issue is > >>>> skipping tests. Some explanation of > >>>>>> why > >>>>>>>> this > >>>>>>>>>>> is good would be nice, > >> there's > >>>> nothing about the reasoning of the > >>>>>>>> feature in > >>>>>>>>>>> the issue. Possibly > >> something > >>>> like: > >>>>>>>>>>>> - As a user I > >> would like > >>>> to skip the test phase locally, and only > >>>>>> from > >>>>>>>>>>> the command line so > >> it's > >>>> easier while I experiment putting new test > >>>>>>>> features > >>>>>>>>>>> in place. But I would > >> like to > >>>> guarantee that these can only be done > >>>>>>>> from the > >>>>>>>>>>> command line and never > >> in the > >>>> presence of the release plugin so that > >>>>>>>>>>> skipping phases is not > >> done > >>>> inadvertently during a release. > >>>>>>>>>>>> The second case in > >> a issue > >>>> doesn't strike me as useful without an > >>>>>>>>>>> explanation, to run to > >> the > >>>> install phase but not package the JAR? > >>>>>>>>>>>> I think a > >> fundamental > >>>> alteration of behaviour requires an > >>>>>> explanation > >>>>>>>> of > >>>>>>>>>>> reasoning. I believe > >> that is > >>>> reasonable. It initially strikes me as a > >>>>>>>>>>> potentially bad idea. > >> Maybe > >>>> you talked about the reasoning in IRC, > >>>>>>>> which I > >>>>>>>>>>> think is perfectly > >> fine, just > >>>> toss the discussion or salient points > >>>>>> of > >>>>>>>> the > >>>>>>>>>>> reasoning into the > >> issue. > >>>>>>>>>>>> On Feb 1, 2011, at > >> 3:00 > >>>> PM, Kristian Rosenvold wrote: > >>>>>>>>>>>> > >>>>>>>>>>>>> I have looked > >> at the > >>>> patch diffs and it looks really great, one of > >>>>>>>> the > >>>>>>>>>>>>> better patches > >> I've > >>>> seen in the issue trackers ! > >>>>>>>>>>>>> > >>>>>>>>>>>>> We had a quick > >> chat > >>>> about this patch on irc and we figured we could > >>>>>>>>>>> take > >>>>>>>>>>>>> this patch for > >> 3.0.x. > >>>>>>>>>>>>> > >>>>>>>>>>>>> One thing we > >> would > >>>> like though, is to be able to specify multiple > >>>>>>>>>>>>> exclusions, > >> not just > >>>> one plugin/execution. Any chance you could fix > >>>>>>>>>>>>> that ? > >>>>>>>>>>>>> > >>>>>>>>>>>>> As for the > >>>> documentation, that would be something > >>>>>>>>>>>>> like https://svn.apache.org/repos/asf/maven/site/trunk > >>>>>>>>>>>>> > >>>>>>>>>>>>> and the > >> document > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>> > >> src/site/apt/guides/mini/guide-configuring-maven.apt > >>>>>>>>>>>>> > >>>>>>>>>>>>> Sorry for not > >> replying > >>>> immediately; been busy preparing > >>>>>>>>>>>>> my trip to the > >> alps > >>>> tomorrow ;) > >>>>>>>>>>>>> > >>>>>>>>>>>>> Kristian > >>>>>>>>>>>>> > >>>>>>>>>>>>> > >>>>>>>>>>>>> ti., > >> 01.02.2011 kl. > >>>> 09.16 +0530, skrev Kalyan Akella: > >>>>>>>>>>>>>> Hi, > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> Any > >> updates on the > >>>> patch. Did it apply cleanly ? Any comments, > >>>>>>>>>>> changes ?? > >>>>>>>>>>>>>> Sincere > >> Regards, > >>>>>>>>>>>>>> Kalyan C. > >> Akella > >>>>>>>>>>>>>> > >>>>>>>>>>>>>> On Sat, > >> Jan 29, > >>>> 2011 at 8:01 AM, Kalyan Akella< > >>>>>>>>>>> [email protected]>wrote: > >>>>>>>>>>>>>>> Hi, > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> Thank > >> you for > >>>> the comments. I updated the issue, > >>>>>>>>>>>>>>> http://jira.codehaus.org/browse/MNG-3321 > >>>> with the modified > >>>>>>>> patches. > >>>>>>>>>>>>>>> > >> Regarding your > >>>> point about documentation, will you please point > >>>>>> me > >>>>>>>>>>> to the > >>>>>>>>>>>>>>> exact > >> location > >>>> where I should include the usage instructions for > >>>>>>>>>>> this > >>>>>>>>>>>>>>> > >> feature and > >>>> other info (perhaps a wiki ?). > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> > >> Sincere > >>>> Regards, > >>>>>>>>>>>>>>> Kalyan > >> C. > >>>> Akella > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>> On > >> Fri, Jan > >>>> 28, 2011 at 12:55 PM, Kristian Rosenvold< > >>>>>>>>>>>>>>> [email protected]> > >> > >>>> wrote: > >>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >> Thanks for > >>>> the patch, which looks good. I added some comments > >> to > >>>>>>>>>>> the > >>>>>>>>>>>>>>>> > >> issue, http://jira.codehaus.org/browse/MNG-3321 > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >> Kristian > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>>>>>>> > >>>>>>>>>>> > >>>> > >> --------------------------------------------------------------------- > >>>>>>>>>>>>>>>> > >> 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] > >>>>>>>>>>>>> > >>>>>>>>>>>> Thanks, > >>>>>>>>>>>> > >>>>>>>>>>>> Jason > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>> > >> ---------------------------------------------------------- > >>>>>>>>>>>> Jason van Zyl > >>>>>>>>>>>> Founder, > >> Apache > >>>> Maven > >>>>>>>>>>>> http://twitter.com/jvanzyl > >>>>>>>>>>>> > >>>> > >> --------------------------------------------------------- > >>>>>>>>>>>> > >>>>>>>>>>>> First, the taking > >> in of > >>>> scattered particulars under one Idea, > >>>>>>>>>>>> so that everyone > >>>> understands what is being talked about ... > >> Second, > >>>>>>>>>>>> the separation of > >> the Idea > >>>> into parts, by dividing it at the joints, > >>>>>>>>>>>> as nature directs, > >> not > >>>> breaking any limb in half as a bad carver > >>>>>>>> might. > >>>>>>>>>>>> -- Plato, Phaedrus > >> (Notes > >>>> on the Synthesis of Form by C. Alexander) > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>> > >> --------------------------------------------------------------------- > >>>>>>>>>>> To unsubscribe, > >> e-mail: [email protected] > >>>>>>>>>>> For additional > >> commands, > >>>> e-mail: [email protected] > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>> Thanks, > >>>>>>>> > >>>>>>>> Jason > >>>>>>>> > >>>>>>>> > >>>> > >> ---------------------------------------------------------- > >>>>>>>> Jason van Zyl > >>>>>>>> Founder, Apache Maven > >>>>>>>> http://twitter.com/jvanzyl > >>>>>>>> > >>>> > >> --------------------------------------------------------- > >>>>>>>> > >>>>>>>> We all have problems. How we deal > >> with > >>>> them is a measure of our worth. > >>>>>>>> > >>>>>>>> -- Unknown > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>> Thanks, > >>>>>> > >>>>>> Jason > >>>>>> > >>>>>> > >>>> > >> ---------------------------------------------------------- > >>>>>> Jason van Zyl > >>>>>> Founder, Apache Maven > >>>>>> http://twitter.com/jvanzyl > >>>>>> > >>>> > >> --------------------------------------------------------- > >>>>>> > >>>>>> We all have problems. How we deal with > >> them is a > >>>> measure of our worth. > >>>>>> > >>>>>> -- Unknown > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>> > >>>> > >>>> > >> --------------------------------------------------------------------- > >>>> 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] > >>> > >> > >> Thanks, > >> > >> Jason > >> > >> ---------------------------------------------------------- > >> Jason van Zyl > >> Founder, Apache Maven > >> http://twitter.com/jvanzyl > >> --------------------------------------------------------- > >> > >> A man enjoys his work when he understands the whole and > >> when he > >> is responsible for the quality of the whole > >> > >> -- Christopher Alexander, A Pattern Language > >> > >> > >> > >> > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > Thanks, > > Jason > > ---------------------------------------------------------- > Jason van Zyl > Founder, Apache Maven > http://twitter.com/jvanzyl > --------------------------------------------------------- > > the course of true love never did run smooth ... > > -- Shakespeare > > > >
