on.jira.plugins.jira-sonar-plugin.2.1.1.source-code.atlassian-plugin.xml Maven / Gradle / Ivy
<?xml version="1.0" encoding="UTF-8"?><!-- ~ Licensed to Marvelution under one or more contributor license ~ agreements. See the NOTICE file distributed with this work ~ for additional information regarding copyright ownership. ~ Marvelution licenses this file to you under the Apache License, ~ Version 2.0 (the "License"); you may not use this file except ~ in compliance with the License. ~ You may obtain a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~ ~ Unless required by applicable law or agreed to in writing, ~ software distributed under the License is distributed on an ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ~ KIND, either express or implied. See the License for the ~ specific language governing permissions and limitations ~ under the License. --><atlassian-plugin name="${atlassian.plugin.name}" key="${atlassian.plugin.key}" system="false" pluginsVersion="2"> <plugin-info> <description>${project.description}</description> <vendor name="${project.organization.name}" url="${project.organization.url}"/> <version>${project.version}</version> <application-version min="4.2" max="4.2"/> </plugin-info> <!-- I 1 8 N R E S O U R C E S --> <resource type="i18n" name="i18n-sonar-panels" location="i18n.sonar-panels"/> <resource type="i18n" name="i18n-sonar-admin" location="i18n.sonar-admin"/> <resource type="i18n" name="i18n-sonar-gadgets" location="i18n.sonar-gadgets"/> <resource type="i18n" name="i18n-sonar-errors" location="i18n.sonar-errors"/> <resource type="i18n" name="i18n-sonar-views" location="i18n.sonar-views"/> <!-- W E B R E S O U R C E S --> <web-resource key="publisher-specific" name="Publisher Specific Gadget Resources"> <dependency>com.atlassian.jira.gadgets:jira-global</dependency> </web-resource> <web-resource key="sonar-panel" name="Sonar Panel Resources"> <dependency>com.atlassian.auiplugin:ajs</dependency> <dependency>jira.webresources:jira-global</dependency> <dependency>${atlassian.plugin.key}:sonar-css</dependency> <resource type="download" name="sonar-panel.css" location="styles/sonar-panel.css"/> <resource type="download" name="sonar-panel.js" location="scripts/sonar-panel.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="sonar-admin" name="Sonar Admin Resources"> <dependency>${atlassian.plugin.key}:sonar-panel</dependency> <resource type="download" name="sonar-accessor-min.js" location="scripts/sonar-accessor-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-admin.js" location="scripts/sonar-admin.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <!-- T A B P A N E L S --> <project-tabpanel key="sonar-project-panel" name="Sonar Panel" class="com.marvelution.jira.plugins.sonar.panels.SonarProjectTabPanel"> <description key="sonar.panel.project.description"/> <label key="sonar.panel.label"/> <order>102</order> <resource type="velocity" name="view" location="templates/panels/sonarTabPanel.vm"/> </project-tabpanel> <component-tabpanel key="sonar-component-tabpanel" name="Sonar Panel" class="com.marvelution.jira.plugins.sonar.panels.SonarComponentTabPanel"> <description key="sonar.panel.component.description"/> <label key="sonar.panel.label"/> <order>102</order> <resource type="velocity" name="view" location="templates/panels/sonarTabPanel.vm"/> </component-tabpanel> <!-- S O N A R S E R V E R S C O N F I G U R A T I O N --> <webwork1 key="sonar-config" name="Configure Your Sonar Plugin"> <actions> <action name="com.marvelution.jira.plugins.sonar.web.action.AdministerSonarAssociations" alias="AdministerSonarAssociations"> <command name="success" alias="AdministerSonarAssociations"> <view name="success">/templates/action/admin/administerSonarAssociations.vm</view> </command> </action> <action name="com.marvelution.jira.plugins.sonar.web.action.AdministerSonarLayout" alias="AdministerSonarLayout"> <command name="success" alias="AdministerSonarLayout"> <view name="success">/templates/action/admin/administerSonarLayout.vm</view> </command> </action> <action name="com.marvelution.jira.plugins.sonar.web.action.AddSonarAssociation" alias="AddSonarAssociation"> <view name="input">/templates/action/admin/addSonarAssociation.vm</view> <view name="error">/templates/action/admin/addSonarAssociation.vm</view> </action> <action name="com.marvelution.jira.plugins.sonar.web.action.UpdateSonarAssociation" alias="UpdateSonarAssociation"> <view name="input">/templates/action/admin/updateSonarAssociation.vm</view> <view name="error">/templates/action/admin/updateSonarAssociation.vm</view> </action> <action name="com.marvelution.jira.plugins.sonar.web.action.DeleteSonarAssociation" alias="DeleteSonarAssociation"> <view name="input">/templates/action/admin/deleteSonarAssociation.vm</view> </action> </actions> </webwork1> <web-section key="sonar-section" name="Sonar Section" location="system.admin" weight="110"> <label key="sonar.admin"/> <condition class="com.atlassian.jira.plugin.webfragment.conditions.JiraGlobalPermissionCondition"> <param name="permission">admin</param> </condition> </web-section> <web-item key="sonar-association-administer" name="Sonar Association Admnistration" section="system.admin/sonar-section" weight="10"> <condition class="com.atlassian.jira.plugin.webfragment.conditions.JiraGlobalPermissionCondition"> <param name="permission">admin</param> </condition> <label key="sonar.association.admin"/> <link linkId="sonar_association_administer">/secure/admin/jira/AdministerSonarAssociations.jspa</link> </web-item> <web-item key="sonar-layout-administer" name="Sonar Layout Admnistration" section="system.admin/sonar-section" weight="20"> <conditions type="AND"> <condition class="com.atlassian.jira.plugin.webfragment.conditions.JiraGlobalPermissionCondition"> <param name="permission">admin</param> </condition> <condition class="com.marvelution.jira.plugins.sonar.conditions.IsSonarAssociationConfiguredCondition"/> </conditions> <label key="sonar.layout.admin"/> <link linkId="sonar_layout_administer">/secure/admin/jira/AdministerSonarLayout.jspa</link> </web-item> <web-resource key="jquery-plugins" name="Treemap plugin for jQuery"> <resource type="download" name="jquery.bgiframe-min.js" location="scripts/jQuery/jquery.bgiframe-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="jquery.dimensions-min.js" location="scripts/jQuery/jquery.dimensions-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="jquery.tooltip-min.js" location="scripts/jQuery/jquery.tooltip-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="jquery-treemap" name="Treemap plugin for jQuery"> <resource type="download" name="treemap-min.js" location="scripts/jQuery/treemap-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="sonar-common-js" name="Common Sonar Web Resources"> <dependency>${atlassian.plugin.key}:jquery-plugins</dependency> <resource type="download" name="json2-min.js" location="scripts/json/json2-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-i18n-min.js" location="scripts/sonar-i18n-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-utils-min.js" location="scripts/sonar-utils-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-accessor-min.js" location="scripts/sonar-accessor-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-views-min.js" location="scripts/views/sonar-views-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="sonar-all-js" name="All Sonar Web Resources"> <dependency>${atlassian.plugin.key}:sonar-common-js</dependency> <dependency>${atlassian.plugin.key}:sonar-css</dependency> <resource type="download" name="sonar-comments-view-min.js" location="scripts/views/sonar-comments-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-complexity-view-min.js" location="scripts/views/sonar-complexity-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-coverage-view-min.js" location="scripts/views/sonar-coverage-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-loc-view-min.js" location="scripts/views/sonar-loc-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <dependency>${atlassian.plugin.key}:jquery-treemap</dependency> <resource type="download" name="sonar-treemap-view-min.js" location="scripts/views/sonar-treemap-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-violations-view-min.js" location="scripts/views/sonar-violations-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-totalquality-view-min.js" location="scripts/views/sonar-totalquality-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="sonar-technicaldept-view-min.js" location="scripts/views/sonar-technicaldept-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="sonar-css" name="CSS Sonar Web Resources"> <resource type="download" name="sonar-common-min.css" location="styles/sonar-common-min.css"/> <resource type="download" name="sonar-views-min.css" location="styles/sonar-views-min.css"/> </web-resource> <web-resource key="gadget-common" name="Common Gadget Web Resources"> <dependency>${atlassian.plugin.key}:publisher-specific</dependency> <dependency>${atlassian.plugin.key}:sonar-common-js</dependency> <dependency>${atlassian.plugin.key}:sonar-css</dependency> <resource type="download" name="gadget-utils-min.js" location="scripts/gadget-utils-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="gadget-config-min.js" location="scripts/gadget-config-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="gadget-fields-min.js" location="scripts/gadget-fields-min.js"> <property key="content-type" value="text/javascript"/> </resource> <resource type="download" name="gadget-sonar-accessor-min.js" location="scripts/gadget-sonar-accessor-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="comments-gadget-js" name="Comments Gadget Web Resources"> <resource type="download" name="sonar-comments-view-min.js" location="scripts/views/sonar-comments-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="complexity-gadget-js" name="Complexity Gadget Web Resources"> <resource type="download" name="sonar-complexity-view-min.js" location="scripts/views/sonar-complexity-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="coverage-gadget-js" name="Coverage Gadget Web Resources"> <resource type="download" name="sonar-coverage-view-min.js" location="scripts/views/sonar-coverage-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="loc-gadget-js" name="LoC Gadget Web Resources"> <resource type="download" name="sonar-loc-view-min.js" location="scripts/views/sonar-loc-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="treemap-gadget-js" name="Treemap Gadget Web Resources"> <dependency>${atlassian.plugin.key}:jquery-treemap</dependency> <resource type="download" name="sonar-treemap-view-min.js" location="scripts/views/sonar-treemap-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="violations-gadget-js" name="Violations Gadget Web Resources"> <resource type="download" name="sonar-violations-view-min.js" location="scripts/views/sonar-violations-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="totalquality-gadget-js" name="Total Quality Gadget Web Resources"> <resource type="download" name="sonar-totalquality-view-min.js" location="scripts/views/sonar-totalquality-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <web-resource key="technicaldept-gadget-js" name="Tchnical Dept Gadget Web Resources"> <resource type="download" name="sonar-technicaldept-view-min.js" location="scripts/views/sonar-technicaldept-view-min.js"> <property key="content-type" value="text/javascript"/> </resource> </web-resource> <!-- R E S T R E S O U R C E S --> <rest key="${atlassian.plugin.key}.resource" path="/sonar" version="1.0"> <description>Provides REST endpoints used to display Sonar gadget contents.</description> </rest> <!-- S E R V L E T S --> <servlet name="Sonar Accessor Servlet" key="sonar-accessor-servlet" class="com.marvelution.gadgets.sonar.servlet.SonarAccessorServlet"> <url-pattern>/sonar/querySonar</url-pattern> </servlet> <!-- G A D G E T S --> <gadget key="sonar-comments-gadget" name="Sonar Comments" location="gadgets/sonar-comments-gadget.xml"/> <gadget key="sonar-complexity-gadget" name="Sonar Complexity" location="gadgets/sonar-complexity-gadget.xml"/> <gadget key="sonar-coverage-gadget" name="Sonar Coverage" location="gadgets/sonar-coverage-gadget.xml"/> <gadget key="sonar-loc-gadget" name="Sonar Lines of Code" location="gadgets/sonar-loc-gadget.xml"/> <gadget key="sonar-treemap-gadget" name="Sonar Treemap" location="gadgets/sonar-treemap-gadget.xml"/> <gadget key="sonar-violations-gadget" name="Sonar Violations" location="gadgets/sonar-violations-gadget.xml"/> <gadget key="sonar-totalquality-gadget" name="Sonar Total Quality" location="gadgets/sonar-totalquality-gadget.xml"/> <gadget key="sonar-technicaldept-gadget" name="Sonar Techincal Dept" location="gadgets/sonar-technicaldept-gadget.xml"/> <!-- I M A G E R E S O U R C E S --> <resource type="download" name="images/" location="images/"/> <resource type="download" name="sonar-coverage-screenshot.png" location="images/gadgets/sonar-coverage-screenshot.png"/> <resource type="download" name="sonar-coverage-thumb.png" location="images/gadgets/sonar-coverage-thumb.png"/> <resource type="download" name="sonar-comments-screenshot.png" location="images/gadgets/sonar-comments-screenshot.png"/> <resource type="download" name="sonar-comments-thumb.png" location="images/gadgets/sonar-comments-thumb.png"/> <resource type="download" name="sonar-loc-screenshot.png" location="images/gadgets/sonar-loc-screenshot.png"/> <resource type="download" name="sonar-loc-thumb.png" location="images/gadgets/sonar-loc-thumb.png"/> <resource type="download" name="sonar-violations-screenshot.png" location="images/gadgets/sonar-violations-screenshot.png"/> <resource type="download" name="sonar-violations-thumb.png" location="images/gadgets/sonar-violations-thumb.png"/> <resource type="download" name="sonar-complexity-screenshot.png" location="images/gadgets/sonar-complexity-screenshot.png"/> <resource type="download" name="sonar-complexity-thumb.png" location="images/gadgets/sonar-complexity-thumb.png"/> <resource type="download" name="sonar-treemap-screenshot.png" location="images/gadgets/sonar-treemap-screenshot.png"/> <resource type="download" name="sonar-treemap-thumb.png" location="images/gadgets/sonar-treemap-thumb.png"/> <resource type="download" name="sonar-totalquality-screenshot.png" location="images/gadgets/sonar-totalquality-screenshot.png"/> <resource type="download" name="sonar-totalquality-thumb.png" location="images/gadgets/sonar-totalquality-thumb.png"/> <resource type="download" name="sonar-technicaldept-screenshot.png" location="images/gadgets/sonar-technicaldept-screenshot.png"/> <resource type="download" name="sonar-technicaldept-thumb.png" location="images/gadgets/sonar-technicaldept-thumb.png"/> <!-- C O M P O N E N T S --> <component key="sonarPropertyManager" name="Default Sonar Property Manager" class="com.marvelution.jira.plugins.sonar.DefaultSonarPropertyManagerImpl"> <interface>com.marvelution.jira.plugins.sonar.service.SonarPropertyManager</interface> </component> <component key="sonarAssociationManager" name="Default Sonar Association Manager" class="com.marvelution.jira.plugins.sonar.DefaultSonarAssociationManagerImpl" public="true"> <interface>com.marvelution.jira.plugins.sonar.service.SonarAssociationManager</interface> </component> <component key="sonarPanelLayoutManager" name="Default Sonar Panel Layout Manager" class="com.marvelution.jira.plugins.sonar.DefaultSonarPanelLayoutManagerImpl" public="true"> <interface>com.marvelution.jira.plugins.sonar.service.SonarPanelLayoutManager</interface> </component> <component key="sonarGadgetUtils" name="Sonar Gadget Utils" class="com.marvelution.jira.plugins.sonar.utils.SonarGadgetUtils"> </component> <component key="sonarTabPanelHelper" name="Sonar Tab Panel Helper" class="com.marvelution.jira.plugins.sonar.panels.SonarTabPanelHelper"> </component> <!-- Upgrade Tasks --> <component key="sonarTabPanelLayoutUpgradeTask" name="Sonar Initial Tab Panel Layout Upgrade Task" class="com.marvelution.jira.plugins.sonar.upgrade.SonarTabPanelLayoutUpgradeTask" public="true"> <interface>com.atlassian.sal.api.upgrade.PluginUpgradeTask</interface> </component> <component key="sonarAssociationsUpgradeTask" name="Sonar Associations Upgrade Task" class="com.marvelution.jira.plugins.sonar.upgrade.SonarAssociationsUpgradeTask" public="true"> <interface>com.atlassian.sal.api.upgrade.PluginUpgradeTask</interface> </component> <component key="gadgetSonarServerAccessor" name="Gadget Sonar Server Accessor" class="com.marvelution.gadgets.sonar.GadgetSonarServerAccessor" public="true"> <interface>com.marvelution.sonar.rest.client.service.SonarServerAccessor</interface> </component> <component key="sonarGadgetsUtils" name="Sonar Gadgets Utils" class="com.marvelution.gadgets.sonar.utils.SonarGadgetsUtils"> </component> <!-- I M P O R T E D C O M P O N E N T S --> <component-import key="gadgetViewFactory" interface="com.atlassian.gadgets.view.GadgetViewFactory"/> <component-import key="i18nResolver" interface="com.atlassian.sal.api.message.I18nResolver"/> </atlassian-plugin>