sonarqube插件开发(二) 开发插件
一、环境准备
java 1.8, maven 3.1
检查自己的环境是否支持 sonarqube的插件开发
java -version mvn -version
二、创建maven项目
pom.xml 文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.ice.sonar.plugin</groupId><artifactId>sonar-sample-plugin</artifactId><version>0.0.1-SNAPSHOT</version><packaging>sonar-plugin</packaging><description>Sample Plugin for SonarQube</description><inceptionYear>2017</inceptionYear><name>sonar-sample-plugin</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.sonarsource.sonarqube</groupId><artifactId>sonar-plugin-api</artifactId><!-- minimal version of SonarQube to support. Note that the groupId was "org.codehaus.sonar" before version 5.2 --><version>5.6</version><!-- mandatory scope --><scope>provided</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><encoding>${project.build.sourceEncoding}</encoding><source>${java.version}</source><target>${java.version}</target></configuration></plugin><plugin><groupId>org.sonarsource.sonar-packaging-maven-plugin</groupId><artifactId>sonar-packaging-maven-plugin</artifactId><version>1.17</version><extensions>true</extensions><configuration><!-- the entry-point class that extends org.sonar.api.SonarPlugin --><pluginClass>com.ice.sonar.plugin.SamplePlugin</pluginClass><!-- advanced properties can be set here. See paragraph "Advanced Build Properties". --></configuration></plugin></plugins></build> </project>
View Code
修改完pom文件后需要 执行 maven->update project
创建SamplePlugin.java文件如下:
package com.ice.sonar.plugin;import org.sonar.api.Plugin;public class SamplePlugin implements Plugin {@Overridepublic void define(Context context) {System.out.println("SamplePlugin is defined");} }
View Code
三、构建
mvn clean package
四、发布
“冷”发布
将构建好的jar复制到 extensions/plugins/ 目录下
重启sonarqube服务
“热”发布
修改配置文件conf/sonar.properties
# 在配置文件中添加剂 sonar.web.dev=true
重启服务
在构建jar包是使用如下参数
mvn package org.codehaus.sonar:sonar-dev-maven-plugin::upload -DsonarHome=/path/to/server/home -DsonarUrl=http://localhost:8080
参考sonarqube官网 Build Plugin
sonarqube插件开发(二) 开发插件相关推荐
- sonarqube插件开发(三) 调试插件
环境 windows + eclipse +sonarqube server 5.6.4 准备 新建一个maven项目,其中加入了一些插件所用的jar <project xmlns=" ...
- 【开发者portal在线开发插件系列二】多条上下行消息(messageId的使用)
前言和基本操作请参考[开发者portal在线开发插件系列一]profile和基本上下行消息,此处不再复述,没操作过的小伙伴一定要先去看看哦~ 话不多说,开始今天的演(表)示(演) 场景说明: 假设一: ...
- Idea插件开发(二)——插件的创建打包及发布
Idea插件开发(一)--插件的分类及基础认识 Idea插件开发(二)--插件的创建打包及发布 Idea插件开发(三)--插件JSL的完整开发过程 上一篇简单介绍了插件的基本知识,接下来直接上手开发, ...
- 关于C#对AutoCad2007二次开发插件工作总结
上次写关于cad二次开发插件的文章,还是在插件的开发过程中,今天写的是功能已经基本开发完毕,用户开始使用的这样一个节点,进行一个小小的总结吧 此次开发插件,主要分了几个大的功能点,功能点的是来自于用户 ...
- 【Chrome浏览器插件开发】浏览器插件运行机制03之实战使用Vue.js 3 + Vite 2开发出简易的浏览器插件(含源码)
文章目录 知识点: 一.使用 vite 创建项目 1.1 环境搭建 1.2 安装vite工具 1.3 创建vite项目 1.4 进入项目并安装依赖 1.5 修改端口 1.6 运行项目 二.创建项目资源 ...
- odl自开发插件编译集成到发行版(opendaylight学习笔记二)
上一篇:opendaylinght内核插件开发简单实现(opendaylight学习笔记一) 1.下载发行版项目源码 git clone "https://git.opendaylight. ...
- 【chrome】插件开发-教程00(如何开发插件)
一 chrome浏览器插件的基础知识 1.认识chrome插件文件: chrome插件的扩展名是:.crx,可以在chrome官方的应用商店下载(https://chrome.google.com/w ...
- uniapp插件开发:uniapp使用uni_modules开发插件、发布插件,直接导入,一键升级
目录 背景 开发前提条件 插件开发步骤 参考 更多 背景 uni_modules是uni-app的插件模块化规范(HBuilderX 3.1.0+支持),通常是对一组js sdk.组件.页面.uniC ...
- Solid Edge 二次开发插件 ProkitAddIn 属性管理器
Solid Edge 二次开发插件 ProkitAddIn 属性管理器 特点: 涵盖与Solid Edge自带的"属性管理器"的基本功能. 额外增加外部数据(具有关联关系的数据,或 ...
- eclipse插件开发_开发Eclipse插件的最佳实践
在为IDE Eclipse环境开发插件时,您有几个设计注意事项. 这些注意事项可确保您: 不要锁定用户界面线程. 在不影响性能的情况下装饰用户界面. 在后台处理数据. 本教程讨论了如何利用这些设计注意 ...
最新文章
- python爬取豆瓣电影并分析_爬取豆瓣电影top250提取电影分类进行数据分析
- MySQL操作实战(三):表联结
- 数据科学与大数据排名思考题_排名前5位的数据科学课程
- tx2无法识别网络_Jetson TX2开篇--网络配置
- holer实现外网访问内网数据库
- 别以为程序员的工作就是写代码
- Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtim
- vscode 翻译_前端新手 VSCode 入门指南
- VScode使用记录二:Windows 7下安装GCC、使用VSCode编译代码
- 磁盘设置压缩导致无法将数据库还原到该硬盘的问题
- java 文字串叠字检查_类似“又双叒叕”的字你认识多少?来看最全的叠字收录...
- cocos2d 物理平抛,斜抛运动
- 机器学习之朴素贝叶斯、贝叶斯信念网络
- 训练3.21(CF 543B Destroying Roads)
- 当人们流行“炮轰”联想时:没想到的联想
- 打电话显示短信呼服务器,已启用短信呼服务 已启用短信呼服务是什么意思
- Openssl中的Libcrypto API
- [note] 电磁场与微波课组(二) 波动光学(1)
- 使用 EMQ X Neuron 构建基于 Modbus 的 IIoT 应用
- 一只华南虎引发的蝴蝶效应![转]