Search code examples
mavenjenkinssonarqubepom.xmlmaven-profiles

one master pom file with multiple profiles and sonar analysis for each profile


My project totally has 50 modules and 10 profiles in it. 5 profiles are used to build 5 products and 5 profiles to unit-test the same 5 product.

30 Common modules and 4 modules for each profile building each product. Now i have to see how to integrate the SONAR analysis with Jenkins job for each product.

i need 5 entries to be seen in sonar, one for each product and yet i have a single pom file. Can this be accomplished.

Please help. sample pom file below

<modules>
        <!-- Script related projects -->
        <!-- Common modules -->
        <module>./././bundles/com.abc.module1</module>
        <module>./././bundles/com.abc.module2</module>
            .
            .
        <module>./././bundles/com.abc.module30</module>
</modules>

<profiles>
        <profile>
            <id>product1</id>
            <modules>
                <module>./././bundles/com.abc.module31</module>
                <module>./././bundles/com.abc.module32</module>
            </modules>
        </profile>

        <profile>
            <id>product1-tests</id>
            <modules>
                <module>./././bundles/com.abc.testmodule1</module>
                <module>./././bundles/com.abc.testmodule2</module>
            </modules>
        </profile>
        .
        .
        .

</profiles>

Solution

  • Sonar builds a project based on 'artifactId' tag. Since for a pom file we have only 1 'artifactId', we can have only 1 project listed in sonarqube. we have to have multiple pom files for multiple sonar project entries. thank you.