Hello Team,
I’m using sonarqube 7.9.2 version, I’m trying to import custom quality profile from .xml file for different languages. I installed all relevant code analyzers with regards to the language.
Below is one of the xml file used for creating custom quality profile, but among all only 2 rules have been imported. I had the same issue with java wherein I changes the repository key to java from squid after which rules were imported.
How do I find out which repository this should be using and what changes I have to make inorder for the rules to get imported.
Please advise.
<?xml version='1.0' encoding='UTF-8'?><name>EC-hybris-XML</name>
<language>xml</language>
<rules>
<rule>
<repositoryKey>xml</repositoryKey>
<key>A_deployment_table_must_be_defined_for_all_Items_extending_GenericItem</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//itemtype[(not(@extends) or @extends='GenericItem') and not(@abstract='true') and not(deployment)]</value>
</parameter>
<parameter>
<key>message</key>
<value>A deployment table must be defined for all Items extending GenericItem</value>
</parameter>
</parameters>
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>CMSNHO</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//relation/*[(self::sourceElement or self::targetElement) and @ordered='true']</value>
</parameter>
<parameter>
<key>message</key>
<value>A relation that has cardinality='many' should not have ordered='true'</value>
</parameter>
</parameters>
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>DTMDMTMR</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//relation[sourceElement[@cardinality='many']][targetElement[@cardinality='many']][not(deployment)]</value>
</parameter>
<parameter>
<key>message</key>
<value>A deployment table must be defined for all many-to-many relations</value>
</parameter>
</parameters>
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>EHND</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//*[(self::itemtype or self::relation or self::enumtype or self::attribute) and not(description)]</value>
</parameter>
<parameter>
<key>message</key>
<value>Element has no description</value>
</parameter>
</parameters>
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>S1778</key>
<priority>CRITICAL</priority>
<parameters />
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>S2260</key>
<priority>BLOCKER</priority>
<parameters />
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>TNMNSG</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//itemtype[starts-with(translate(./@code, 'abcdefghijklmnopqrstuvwxyz0123456789', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ----------'), 'GENERATED')]</value>
</parameter>
<parameter>
<key>message</key>
<value>Type Names must not start with the string Generated</value>
</parameter>
</parameters>
</rule>
<rule>
<repositoryKey>xml</repositoryKey>
<key>TNMSU</key>
<priority>MAJOR</priority>
<parameters>
<parameter>
<key>filePattern</key>
<value>*items.xml</value>
</parameter>
<parameter>
<key>expression</key>
<value>//*[(self::relation or self::enumtype or self::itemtype) and substring(@code, 1, 1) != translate(substring(@code, 1, 1), 'abcdefghijklmnopqrstuvwxyz0123456789', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ----------')]</value>
</parameter>
<parameter>
<key>message</key>
<value>Type Names must start with an uppercase letter</value>
</parameter>
</parameters>
</rule>
</rules>