Der Assistent zum Erstellen eines neuen Plug-in-Projekts generiert
eine Datei plugin.xml, die eine Regelerweiterung
für jede neue benutzerdefinierte Coderegel enthält. Der Assistent erstellt außerdem
eine Kategorieerweiterung, wenn die Kategorie, zu der die Regel gehört,
nicht vorhanden ist.
Die Erweiterungen werden verwendet, um die neue benutzerdefinierte Regel und ihre Kategorie
bei Eclipse zu registrieren.
Abbildung 1 zeigt eine
Regelerweiterung:
Abbildung 1. Erweiterung für eine benutzerdefinierte Regel<extension
point="com.ibm.rsaz.analysis.core.analysisRule">
<analysisRule
category="category_id"
class="rule_class"
id="rule_class"
label="rule_label"
severity="1">
</analysisRule>
</extension>
Anmerkung: Die Attributwerte werden in
Tabelle 1 unten beschrieben.
Wenn die Kategorie nicht vorhanden ist, fügt der Assistent außerdem
eine Erweiterung für die Kategorie zur Datei plugin.xml hinzu. Abbildung 2
zeigt eine
Kategorieerweiterung:
Abbildung 2. Erweiterung für die Kategorie einer benutzerdefinierten Regel<extension
point="com.ibm.rsaz.analysis.core.analysisCategory">
<analysisCategory
class="com.ibm.rsaz.analysis.core.category.DefaultAnalysisCategory"
id="category_ID"
label="category_name"
provider="codereview.egl.analysisProvider">
</analysisCategory>
</extension>
Anmerkung: Die Attributwerte werden in
Tabelle 1 unten beschrieben.
Tabelle 1 zeigt, wie die Attribute der
<analysisRule>- und
<analysisCategory>-Elemente aus den Werten abgeleitet werden, die
die Sie im Assistenten '
Plug-in-Projekt' eingeben:
- Im Element <analysisRule> werden die Attribute
category, ruleclass, ruleid und rulelabel
auf die Werte eingestellt, die Sie auf der Seite EGL-Regelschablone des Assistenten eingegeben haben.
Der Assistent verwendet außerdem den Wert ruleclass, um die Regel-ID festzulegen.
- Im Element <analysisCategory> werden die Attribute id und label
auf die Werte eingestellt, die Sie auf der Seite EGL-Regelschablone des Assistenten eingegeben haben.
- Für den Paketnamen wird die Zeichenfolge verwendet, die Sie im Feld ID
der Paketdefinition auf der Seite 'Inhalt' des Assistenten
'Neues Plug-in-Projekt' angegeben haben. In der Spalte 'Beispielwert'
der Tabelle ist sie als com.example angegeben.
Tabelle 1. Attributwerte für 'analysisRule' und 'analysisCategory'| Attribut: |
Feld auf der Seite EGL-Regelschablone des Assistenten: |
Beispielwert: |
| analysisRule.category |
Kategorie-ID |
com.example.custom |
| analysisRule.ruleclass |
Regelklasse |
com.example.EglRule |
| analysisRule.ruleid |
Regelklasse |
com.example.EglRule |
| analysisRule.rulelabel |
Regelbezeichnung |
Meine angepasste EGL-Regel |
| analysisCategory.id |
Kategorie-ID |
com.example.custom |
| analysisCategory.label |
Kategoriename |
Custom |