• 0.27.4

Usage

It's easy (you need to use Maven version >= 3.1.0):

<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>0.27.4</version>
      <executions>
        <execution>
          <goals>
            <goal>check</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

POM XPath Assertions

Qulice can validate your pom.xml against a list of XPath queries. Each query has to find at least one node in the POM, otherwise the build will fail. Configure the queries via the asserts parameter:

<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>0.27.4</version>
      <configuration>
        <asserts>
          <param>/pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='qulice-maven-plugin']/pom:artifactId/text()</param>
          <param>/pom:project/pom:dependencies/pom:dependency[pom:artifactId='commons-io']/pom:version[.='1.2.5']/text()</param>
        </asserts>
      </configuration>
    </plugin>
  </plugins>
</build>

The pom namespace prefix is bound to http://maven.apache.org/POM/4.0.0 and must be used in every component of every XPath query. Each query must end with /text().

Cutting Edge Version

If you want to use current version of the product, you can do it with this configuration in your pom.xml:

<pluginRepositories>
  <pluginRepository>
    <id>oss.sonatype.org</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
  </pluginRepository>
</pluginRepositories>
<build>
  <plugins>
    <plugin>
      <groupId>com.qulice</groupId>
      <artifactId>qulice-maven-plugin</artifactId>
      <version>1.0-SNAPSHOT</version>
      [...]
    </plugin>
  </plugins>
</build>