The Structure101 Key Measures can be reported via SonarQube. The configuration to do this is straight forward and can re-use an existing Structure101 Build configuration file.

It is assumed that SonarQube Scanner is already configured within your maven build.

The plugin is installed by copying the sonar-structure101-plugin.jar file to the SonarQube extensions/plugins folder and restarting the SonarQube daemon.

The plugin is configured by adding properties in the project’s maven configuration.

If you have an existing Structure101 Build configuration file this can be used by the plugin.

<structure101.java.headless.config>${basedir}\structure101-build-conf.xml</structure101.java.headless.config>
<structure101.java.repository>c:/structure101-repository</structure101.java.repository>
<structure101.java.project>plugins</structure101.java.project>
<structure101.java.disabled>false</structure101.java.disabled>

The plugin will use the class path defined in the configuration file. The Structure Spec and Architecture Diagrams in the Repository project are used during the plugin analysis in the same way they are used in the Structure101 Build process.

<?xml version="1.0" encoding="UTF-8"?>
<headless version="1.0">
    <arguments>
        <argument name="local-project" >
            <override attribute="classpath">
                <classpathentry kind="lib" path="const(THIS_FILE)/target/classes" module="plugins" />
            </override>
        </argument>
    </arguments>
</headless>

Note the override classpath uses the classpathentry element so that a module name can be assigned to each path.

Structure101 Measures

The Structure101 Key Measures can be viewed in the SonarQube web application’s Measures page

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.