Brian
I've just tried to build and run your example from
http://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html.
There's no problem building it, just my attempt to use it doesnt work. I'm
using mvn 2.0.9.

I consistently get the error below, any ideas? 

[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>.

[INFO]
------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Error configuring:
org.apache.maven.plugins:maven-enforcer-plugin. Reason: Invalid o
r missing parameters: [Mojo parameter [name: 'rules'; alias: 'null']] for
mojo: org.apache.maven.plugins:maven-enforcer-plugin:1.0-beta-1:en
force
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:587)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:512)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:482)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.PluginParameterException: Error
configuring: org.apache.maven.plugins:maven-enforcer-plugin. Reason: Inva
lid or missing parameters: [Mojo parameter [name: 'rules'; alias: 'null']]
for mojo: org.apache.maven.plugins:maven-enforcer-plugin:1.0-beta
-1:enforce
        at
org.apache.maven.plugin.DefaultPluginManager.checkRequiredParameters(DefaultPluginManager.java:1042)
        at
org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:659)
        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:429)
        at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        ... 16 more
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 7 seconds
[INFO] Finished at: Tue May 19 17:21:43 BST 2009
[INFO] Final Memory: 6M/11M
[INFO]
------------------------------------------------------------------------

My plugin config is:-

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.0-beta-1</version>
    <dependencies>
      <dependency>
        <groupId>custom-rule</groupId>
        <artifactId>custom-rule-sample</artifactId>
        <version>1.0</version>
      </dependency>
    </dependencies>
    <executions>
      <execution>
        <id>enforce</id>
        <configuration>
          <rules>
            <myCustomRule
implementation="org.apache.maven.enforcer.rule.MyCustomRule">
              <shouldIfail>false</shouldIfail>
            </myCustomRule>
          </rules>
        </configuration>
        <goals>
          <goal>enforce</goal>
        </goals>
      </execution>
    </executions>
</plugin>

thanks
Bruce


bgik wrote:
> 
> Hi Brian
> Thanks for the swift reply. I'll take a look at this.
> 
> much appreciated
> 
> 
> BRIAN FOX-5 wrote:
>> 
>> The maven-enforcer-plugin is well suited for this. You could use one of
>> the
>> existing rules, perhaps the failIfFileExists or easily write your own
>> rule.
>> 
>> On Mon, May 18, 2009 at 12:47 PM, bgik <bruce_ki...@hotmail.com> wrote:
>> 
>>>
>>> Hi
>>> I have a 3rd party lib that i have no control over.
>>>
>>> In my env it makes no sense to create 2 instances of a given class from
>>> this
>>> lib, in fact it may cause issues, so i have updated my codebase to wrap
>>> one
>>> in a singleton. Going forward there's nothing to stop anyone creating
>>> another one though.
>>>
>>> What i would like is for
>>>
>>> mvn compile
>>>
>>> to actually fail even though my code is syntactically correct if it
>>> encounters any attempt to create a 2nd instance of this class.
>>>
>>> Is there a way to do this? I presume I could write some plugin but i'd
>>> like
>>> to avoid that if possible as time is short
>>>
>>> many thanks
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Have-maven-stop-compilation-when-some-rule-is-broken-tp23601222p23601222.html
>>> Sent from the Maven - Users mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
>>> For additional commands, e-mail: users-h...@maven.apache.org
>>>
>>>
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Have-maven-stop-compilation-when-some-rule-is-broken-tp23601222p23619752.html
Sent from the Maven - Users mailing list archive at Nabble.com.


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

Reply via email to