I try without sucess: [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building Unnamed - tmp.acme.rule:inherit-usage:pom:1.0 [INFO] task-segment: [enforcer:enforce] [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] One or more required plugin parameters are invalid/missing for 'enforcer:enforce'
[0] Inside the definition for plugin 'maven-enforcer-plugin' specify the following: <configuration> ... <rules>VALUE</rules> </configuration>. Note that I run it after mvn clear Arnaud. 2012/10/25 Anders Hammar <and...@hammar.net>: > In your configuration, the rule configuration is on execution level > meaning that it will only be used for the lifecycle execution (mvn > package e.g.) and not when execution the plugin for command line (mvn > enforcer:enforce). > > There's been some noise around using the enforcer plugin from > command-line lately (is it you?). Personally I don't really get it, > but that's just me. > > If you want to be able to run mvn enforcer:enforce you need to move > the configuration to plugin level and also put it in the > pluginManagement section. Something like this: > > <build> > <pluginManagement> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-enforcer-plugin</artifactId> > <version>1.1.1</version> > <configuration> > <rules> > <AcmeParentInheritRule > implementation="com.acme.AcmeParentInheritRule" /> > </rules> > </configuration> > <dependencies> > <dependency> > <groupId>com.acme</groupId> > <artifactId>acme-enforcer-rules</artifactId> > <version>1.0</version> > </dependency> > </dependencies> > </plugin> > </plugins> > </pluginManagement> > <plugins> > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-enforcer-plugin</artifactId> > <executions> > <execution> > <id>enforcer-check</id> > <goals> > <goal>enforce</goal> > </goals> > </execution> > </executions> > </plugin> > </plugins> > </build> > > This is the simplest way of doing this, btu there are drawbacks. One > is that all execution bindings will have the same rule set. In your > case probably not an issue. If it is an issue there are ways around > this by using the magic id ("default-cli") for the command line > execution. I have never used that magic id though in a real world use > case. > > /Anders > > On Thu, Oct 25, 2012 at 10:01 AM, Arnaud bourree > <arnaud.bour...@gmail.com> wrote: >> On my side, I put configuration in <plugins> section and not in >> <pluginManagment> one. >> <build> >> <plugins> >> <plugin> >> <groupId>org.apache.maven.plugins</groupId> >> <artifactId>maven-enforcer-plugin</artifactId> >> <version>1.1.1</version> >> <dependencies> >> <dependency> >> <groupId>com.acme</groupId> >> <artifactId>acme-enforcer-rules</artifactId> >> <version>1.0</version> >> </dependency> >> </dependencies> >> <executions> >> <execution> >> <configuration> >> <rules> >> <AcmeParentInheritRule >> implementation="com.acme.AcmeParentInheritRule"/> >> </rules> >> </configuration> >> <goals> >> <goal>enforce</goal> >> </goals> >> </execution> >> </executions> >> </plugin> >> </plugins> >> </build> >> >> And I note that "mvn enforcer:enforce" doesn't work without "package" >> So I run "mvn package enforcer:enforce" >> But in fact if you run "mvn package" maven will run enforcer rules >> >> Arnaud >> >> 2012/10/25 Anders Hammar <and...@hammar.net>: >>> You probably have the configuration in the wrong place. Is it on >>> plugin level or execution level? It has to be on plugin level if >>> you're to run "mvn enforcer:enforce". Also, it should be in the >>> pluginManagement section. >>> >>> /Anders >>> >>> On Thu, Oct 25, 2012 at 7:27 AM, Wang, Simon <yunfeng.w...@ebay.com> wrote: >>>> I specified rule in pom.xml, after run "mvn enforcer:enforce", still >>>> complain no rules set. >>>> Really don't know what happened. >>>> >>>> Regards >>>> Simon >>>> -----Original Message----- >>>> From: Arnaud bourree [mailto:arnaud.bour...@gmail.com] >>>> Sent: 2012年10月24日 22:18 >>>> To: Maven Users List >>>> Subject: Re: Specify enforcer:enforce rules from command line >>>> >>>> I create issue MENFORCER-142 >>>> >>>> I found a partial work-around: running mvn enforcer:enforce fail if there >>>> is no rules set :-/ >>>> >>>> But that not enough for me. >>>> >>>> Regards, >>>> >>>> Arnaud. >>>> >>>> >>>> 2012/10/23 Anders Hammar <and...@hammar.net>: >>>>> Don't think it's possible. The enforcer plugin is meant to be bound to >>>>> the build lifecycle so it should be configured in the pom. But I guess >>>>> an enhancement ticket with a patch could change that? :-) >>>>> >>>>> /Anders >>>>> >>>>> On Tue, Oct 23, 2012 at 5:50 PM, Arnaud bourree >>>>> <arnaud.bour...@gmail.com> wrote: >>>>>> Hello, >>>>>> >>>>>> How could we specify enforcer:enforce rules from command line? >>>>>> >>>>>> I want to run command line like following without updating any pom.xml: >>>>>> mvn enforcer:enforce -Drules=com.acme.UseAcmeParentPom >>>>>> >>>>>> The goal of this enforcer:enforce rule is to check that Acme's >>>>>> developers write pom.xml which inherit from acme's parent pom.xml And >>>>>> because they may not inherit from acme's parent pom.xml, I cannot >>>>>> specify enforcer rule in. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Arnaud. >>>>>> >>>>>> --------------------------------------------------------------------- >>>>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>>>>> For additional commands, e-mail: users-h...@maven.apache.org >>>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>>>> For additional commands, e-mail: users-h...@maven.apache.org >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>>> For additional commands, e-mail: users-h...@maven.apache.org >>>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >>> For additional commands, e-mail: users-h...@maven.apache.org >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org >> For additional commands, e-mail: users-h...@maven.apache.org >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org