Maven Plugin

To set it up:

<plugin>
   <!-- JQAssistant -->
   <!-- Architecture analysis tool. -->
   <groupId>com.buschmais.jqassistant</groupId>
   <artifactId>jqassistant-maven-plugin</artifactId>
   <executions>
      <execution>
         <id>jqassistant-scan</id>
         <goals>
            <goal>scan</goal>
         </goals>
      </execution>
      <execution>
         <id>validate-spring-boot</id>
         <goals>
            <goal>analyze</goal>
         </goals>
         <configuration>
            <groups>
               <group>junit4:Default</group>
               <group>spring-boot:Strict</group>
            </groups>
            <concepts>
               <concept>cdi:*</concept>
               <concept>classpath:*</concept>
               <concept>decorator:*</concept>
               <concept>dependency:*</concept>
               <concept>ejb3:*</concept>
               <concept>git:*</concept>
               <concept>interceptor:*</concept>
               <concept>java:*</concept>
               <concept>java8:*</concept>
               <concept>jaxrs:*</concept>
               <concept>jpa2:*</concept>
               <concept>junit:*</concept>
               <concept>junit4:*</concept>
               <concept>osgi-bundle:*</concept>
               <concept>spring-boot:*</concept>
               <concept>spring-component:*</concept>
               <concept>spring-data:*</concept>
               <concept>spring-injection:*</concept>
               <concept>spring-transaction:*</concept>
            </concepts>
            <warnOnSeverity>MINOR</warnOnSeverity>
            <failOnSeverity>MAJOR</failOnSeverity>
            <rule>
               <defaultConceptSeverity>INFO</defaultConceptSeverity>
            </rule>
         </configuration>
      </execution>
   </executions>
</plugin>

To set up reporting:

<plugin>
   <!-- JQAssistant -->
   <!-- Architecture analysis tool. -->
   <groupId>com.buschmais.jqassistant</groupId>
   <artifactId>jqassistant-maven-plugin</artifactId>
   <reportSets>
      <reportSet>
         <reports>
            <report>report</report>
         </reports>
      </reportSet>
   </reportSets>
</plugin>

Usage

Just run the integration tests:

mvn clean verify

Or the plugin commands (this will require additional configuration to load the groups):

mvn jqassistant:scan jqassistant:analyze

Once it has finished you can start a local client for checking the analysis:

mvn jqassistant:server

Or if you need to make use of advanced funciones remember to activate APOC:

mvn jqassistant:server -Djqassistant.embedded.apocEnabled=true

The server will be available at http://localhost:7474

Last updated