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>
and 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. Qulice can't catch them, that's why this wiki page...
Proxy
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.
Got questions?
If you have questions or general suggestions, don't hesitate to submit a new Github issue.