[
https://jira.codehaus.org/browse/MNG-5091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315371#comment-315371
]
Steven Swor commented on MNG-5091:
----------------------------------
As a workaround, you can use the GMaven plugin to set the validation level
during the Maven build. Here's an example which coerces it down to
{{org.apache.maven.model.building.ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0}}
during the {{validate}} phase. Add the following to your
{{project.build.plugins}} section
{code}
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<configuration>
<!--
This tells gmaven-plugin we want to run against Groovy 2
-->
<providerSelection>2.0</providerSelection>
</configuration>
<executions>
<execution>
<id>change-validation-level</id>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
def desiredValidationLevel =
org.apache.maven.model.building.ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0
def request = session.request.projectBuildingRequest
if (request.validationLevel > desiredValidationLevel) {
log.warn("Correcting validation level. Was {}. Now
{}", request.validationLevel, desiredValidationLevel)
request.validationLevel = desiredValidationLevel
}
</source>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.gmaven.runtime</groupId>
<artifactId>gmaven-runtime-2.0</artifactId>
<version>1.5</version>
<exclusions>
<exclusion>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
{code}
Note: I'm not sure if forcing GMaven to use Groovy 2 is required. I just
copied an existing usage of the plugin and tweaked it for this example.
> Add option to fail build if WARNING's appear in POM
> ---------------------------------------------------
>
> Key: MNG-5091
> URL: https://jira.codehaus.org/browse/MNG-5091
> Project: Maven 2 & 3
> Issue Type: Improvement
> Components: Command Line, POM
> Affects Versions: 3.0.3
> Reporter: Karl Heinz Marbaise
> Priority: Minor
> Fix For: 3.1.x
>
> Attachments: MNG-5091-maven-embedder.patch
>
>
> It would be nice to have the option to let a build fail if something like
> this will appear:
> {code}
> [INFO] Scanning for projects...
> [WARNING]
> [WARNING] Some problems were encountered while building the effective model
> for com.soebes.training.module:050-project-without-warnings:jar:0.1.0-SNAPSHOT
> [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must
> be unique: org.slf4j:slf4j-api:jar -> duplicate declaration of version 1.6.1
> @ line 28, column 14
> [WARNING]
> [WARNING] It is highly recommended to fix these problems because they
> threaten the stability of your build.
> [WARNING]
> [WARNING] For this reason, future Maven versions might no longer support
> building such malformed projects.
> [WARNING]
> {code}
> This shoud be done for WARNING's in case of missing versions for plugins etc.
> Currently it is possible to set the Validation leven in Jenkins/Hudson
> already but it is not possible on command line. So an option on command line
> like:
> {code}
> mvn --fail-warning ...
> {code}
> would be great. Or may be a good supplemental option to set the validation
> level like:
> {code}
> mvn --validation-level MINIMAL
> mvn --validation-level MAVEN20
> mvn --validation-level MAVEN30
> mvn --validation-level MAVEN31
> mvn --validation-level DEFAULT
> {code}
> or may be both. May this might be an enhancement for Maven 3.0.4 ?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira