Maven Dependencies

jQAssistant is able to analyze Maven dependencies from a repository, just by including the path:

<plugin>
   <groupId>com.buschmais.jqassistant</groupId>
   <artifactId>jqassistant-maven-plugin</artifactId>
   <executions>
      <execution>
         <id>copy-dependencies-analysis-class</id>
         <goals>
            <goal>copy-dependencies</goal>
         </goals>
         <configuration>
            <outputDirectory>${dependencyAnalysis.path}</outputDirectory>
            <includeScope>compile</includeScope>
            <excludeTransitive>true</excludeTransitive>
         </configuration>
      </execution>
      <execution>
         <id>copy-dependencies-analysis-source</id>
         <goals>
            <goal>copy-dependencies</goal>
         </goals>
         <configuration>
            <outputDirectory>${dependencyAnalysis.path}</outputDirectory>
            <includeScope>compile</includeScope>
            <classifier>sources</classifier>
            <excludeTransitive>true</excludeTransitive>
         </configuration>
      </execution>
   </executions>
</plugin>

But this will analyze all the dependencies stored there, which can take a really long time.

Analyzing a Subset of Dependencies

Having this property defined:

<dependencyAnalysis.path>${project.build.directory}/jqadeps</dependencyAnalysis.path>

The dependencies can be copied inside that folder.

Note that they are filtered, so only those from the specified group are included, ignoring transitive dependencies.

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-dependency-plugin</artifactId>
   <executions>
      <execution>
         <id>dependencies-lib-folder</id>
         <goals>
            <goal>copy-dependencies</goal>
         </goals>
         <configuration>
            <outputDirectory>${dependencyAnalysis.path}</outputDirectory>
            <includeGroupIds>es.seresco</includeGroupIds>
            <includeScope>compile</includeScope>
            <classifier>sources</classifier>
            <excludeTransitive>true</excludeTransitive>
         </configuration>
      </execution>
   </executions>
</plugin>

Now the path can be included.

<plugin>
   <groupId>com.buschmais.jqassistant</groupId>
   <artifactId>jqassistant-maven-plugin</artifactId>
   <executions>
      <execution>
         <id>jqassistant-scan</id>
         <goals>
            <goal>scan</goal>
         </goals>
         <configuration>
            <scanIncludes>
               <scanInclude>
                  <path>${dependencyAnalysis.path}</path>
               </scanInclude>
            </scanIncludes>
         </configuration>
      </execution>
   <executions>
<plugin>

Last updated