Thanks Anders,
I just see that I put <configuration> in <execution> element and not
directly in <plugin> that why maven don't find my rule list.
Now I've my AcmeparentInheritRule, I only need to find way to specify
rule list on command line

Arnaud.

2012/10/25 Anders Hammar <[email protected]>:
> Why didn't you use the xml snippet I sent you? It is correct while the
> one you've created is wrong.
>
> /Anders
>
> On Thu, Oct 25, 2012 at 4:56 PM, Arnaud bourree
> <[email protected]> wrote:
>> <project xmlns="http://maven.apache.org/POM/4.0.0";
>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
>> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>>   <modelVersion>4.0.0</modelVersion>
>>   <!-- Parent must be acme-parent. -->
>>   <parent>
>>     <groupId>com.acme.rules</groupId>
>>     <artifactId>acme-parent</artifactId>
>>     <version>1.0</version>
>>   </parent>
>>   <groupId>tmp.cub.rule</groupId>
>>   <artifactId>inherit-usage</artifactId>
>>   <version>1.0</version>
>>   <packaging>pom</packaging>
>>   <build>
>>       <pluginManagement>
>>           <plugins>
>>       <plugin>
>>         <groupId>org.apache.maven.plugins</groupId>
>>         <artifactId>maven-enforcer-plugin</artifactId>
>>         <version>${enforcer-api.version}</version>
>>         <dependencies>
>>           <dependency>
>>             <groupId>com.acme.rules</groupId>
>>             <artifactId>cub-enforcer-rules</artifactId>
>>             <version>${project.version}</version>
>>           </dependency>
>>         </dependencies>
>>         <executions>
>>           <execution>
>>             <configuration>
>>               <rules>
>>                 <AcmeParentInheritRule
>> implementation="com.acme.rules.AcmeParentInheritRule"/>
>>               </rules>
>>             </configuration>
>>           </execution>
>>         </executions>
>>       </plugin>
>>               </plugins>
>>     </pluginManagement>
>>     <plugins>
>>       <plugin>
>>         <groupId>org.apache.maven.plugins</groupId>
>>         <artifactId>maven-enforcer-plugin</artifactId>
>>         <executions>
>>           <execution>
>>             <id>acme-parent</id>
>>             <goals>
>>               <goal>enforce</goal>
>>             </goals>
>>             <configuration>
>>               <rules>
>>                 <AcmeParentInheritRule
>> implementation="com.acme.rules.AcmeParentInheritRule"/>
>>               </rules>
>>             </configuration>
>>           </execution>
>>         </executions>
>>       </plugin>
>>     </plugins>
>>   </build>
>> </project>
>>
>> 2012/10/25 Anders Hammar <[email protected]>:
>>> I can't say for sure as you don't provide a link to your pom, but I'm
>>> fairly sure you've configured it wrong. It should work.
>>>
>>> /Anders
>>>
>>> On Thu, Oct 25, 2012 at 2:13 PM, Arnaud bourree
>>> <[email protected]> wrote:
>>>> 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 <[email protected]>:
>>>>> 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
>>>>> <[email protected]> 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 <[email protected]>:
>>>>>>> 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 <[email protected]> 
>>>>>>> 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:[email protected]]
>>>>>>>> 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 <[email protected]>:
>>>>>>>>> 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
>>>>>>>>> <[email protected]> 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: [email protected]
>>>>>>>>>> For additional commands, e-mail: [email protected]
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ---------------------------------------------------------------------
>>>>>>>>> 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]
>>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> 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]
>>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> 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]
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]
>>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to