qulice
qulice copied to clipboard
Quality Police for Java projects: aggregator of Checkstyle and PMD
Qulice is a static analysis quality control instrument for Java projects. It combines all the best static analysis instruments and pre-configure them, including Checkstyle and PMD. You don't need to use and configure them individually any more.
Read more at www.qulice.com.
Also, read this blog post first: Strict Control of Java Code Quality.
Just add this plugin to your pom.xml
:
<build>
<plugins>
<plugin>
<groupId>com.qulice</groupId>
<artifactId>qulice-maven-plugin</artifactId>
<configuration>
<license>file:${basedir}/LICENSE.txt</license>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Then, make sure you have the JDK binaries (including the Java compiler javac
)
accessible from your PATH
environment variable (e.g. if you have JDK 1.8.0
installed in Windows your PATH should contain something like C:\Program Files\Java\jdk1.8.0\bin
).
Also remember that we support Maven version >= 3.1.0.
The path to license has to be declared in the following format:
file:${basedir}/LICENSE.txt
, it's the default value, one can use any full path
instead of ${basedir}
.
Read this short summary of typical mistakes you may encounter in your project.
In order to download schemas required for XML validation you might need proxy
setup. Maven proxy is not supported, but standard
JVM proxy
works fine. To use it just add -Dhttp.proxyHost=HOST -Dhttp.proxyPort=PORT
to your MAVEN_OPTS
environment variable or to Maven command, e.g.
mvn clean verify -Dhttp.proxyHost=HOST -Dhttp.proxyPort=PORT
.
How to contribute
Fork repository, make changes, send us a pull request. We will review
your changes and apply them to the master
branch shortly, provided
they don't violate our quality standards. To avoid frustration, before
sending us your pull request please run full Maven build:
$ mvn clean install -Pqulice
Keep in mind that JDK7 and Maven 3.1.0 are the lowest versions you may use.