全部 android asp.net C/C++ cshap IOS Java javascript nodejs perl php python ruby web容器 其他 前端 数据库 第三方平台 混合式APP 网络 系统 默认分类

Android Studio 中Gradle配置sonarqube

0 100

Sonarqube作为一个很实用的静态代码分析工具,在很多项目中都使用。Android自然也不例外。这里就分享下使用Android Studio时如何在Gradle里配置Sonarqube。

以下分别就使用公共maven仓库和私有maven仓库两种情况来简单说明下:

 

一,使用公共Maven仓库:

这个比较简单。

打开gradle sonarqube插件官方网址:https://plugins.gradle.org/plugin/org.sonarqube

可以看到有两种方式集成sonarqube插件,可以选择适合的方式:

1:所有gradle插件版本适用:

javascript;gutter:true;">buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2"
  }
}

apply plugin: "org.sonarqube"

 

2:gradle插件版本2.1以上适用:

javascript;gutter:true;">plugins {
  id "org.sonarqube" version "2.2"
}

 

二,使用私有Maven仓库:

无法使用上面的第2种方法了,因为这样写gradle会把它认为是core plugin,默认解析成

https://plugins.gradle.org/api/gradle/2.14.1/plugin/use/org.sonarqube/2.2

我们在浏览器打开这个网址,会发现是个Json:

{
  "id" : "org.sonarqube",
  "version" : "2.2",
  "implementation" : {
    "gav" : "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2",
    "repo" : "https://plugins.gradle.org/m2"
  },
  "implementationType" : "M2_JAR",
  "legacy" : true
}

发现它是在https://plugins.gradle.org/m2里根据“org.sonarqube”这个id找相应插件,而我们需要的是在自己的私服仓库里找插件,显然这是不合适的。

因此,只能使用上面第1种方法了:

 gradle配置

将这一段放入module的build.gradle里,另外加上task:

sonarqube {
        properties {
              property "sonar.sources", "src"
              property "sonar.java.binaries", "build/intermediates/classes"
              property "sonar.test.binaries", "build/intermediates/classes"
              ...//  加入你需要的配置
        }
}    

这样当在配置好你的sonar host:

systemProp.sonar.host.url=https://xxxx:9000/

运行:

gradle sonarqube

稍等片刻,当出现build successfully,就能在sonar portal上看到代码的情况了。

 

热忱回答0

要回复文章请先登录注册

  • 加入年费大会员(20每年)
  • 热门标签

    猜你喜欢

    1. Activity的生命周期和启动模式
    2. Android中使用开源框架PagerSlidingTabStrip实现导航标题
    3. Android开发中遇到的问题(一)——Android模拟器端口被占用问题的解决办法
    4. Android开发-之五大布局
    5. Android项目实战(二十九):酒店预定日期选择
    6. Android游戏开发实践(1)之NDK与JNI开发01
    7. Android开发中遇到的问题(五)——Eclipse导入Android项目出现"Invalid project description overlaps the location of another project"错误的解决办法
    8. Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析
    9. Android权限管理之RxPermission解决Android 6.0 适配问题
    10. Android数据存储之Android 6.0运行时权限下文件存储的思考

    最近热帖

    1. 注册邮箱写错了,登录进去怎么修改邮箱?
    2. curl 怎么获取地址中两个JSOM数据
    3. (汉化改进作品)BruteXSS:Xss漏洞扫描脚本 0
    4. sass纯新手(一) 1
    5. Javascript中的async await 1
    6. 《游戏编程模式》(8) 4
    7. 【项目记录】-上门洗车-汽车服务 4
    8. 从RPC开始(二)、序列化 4
    9. 微信小程序之快速接入七牛云 5
    10. 开发团队在TFS中使用Git Repository (二) 5

    随机文章

    1. Swift3.0 4步解决键盘弹出收起时,视图跟随自动布局
    2. javascript面向对象分层思维
    3. C#夯实基础之字符串
    4. 简单animate方法的封装
    5. 微信 二维码鼠标滑动 图像显隐效果