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

Android Studio 中Gradle配置sonarqube

0 210

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. Android -- 思考 -- 为什么要在项目中使用MVP模式
    2. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~
    3. Android -- 带你从源码角度领悟Dagger2入门到放弃
    4. 5个Android开发中比较常见的内存泄漏问题及解决办法
    5. Android开发系列之adb常用命令
    6. APP自识别安卓苹果
    7. Android中使用ViewFlipper实现屏幕切换
    8. Android通过AOP实现防止按钮连续点击
    9. Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)
    10. APP下载完毕后,执行安装,安装完成后自动运行,并进行进程保护,防止程序被kill掉。

    衣食父母

    最近热帖

    1. Linux基础测试--11道题 6
    2. Java中双向链表的代码实现 12
    3. stl_config.h基本宏 7
    4. Struts2框架的基本使用 8
    5. 【WPF】学习笔记(一)——做一个简单的电子签名板 17
    6. 迁移 SQL Server 到 Azure SQL 实战 21
    7. 日期时间插件flatpickr.js使用方法 22
    8. 老司机带你开飞机 一: mssql on linux 安装指导 21
    9. 【代码学习】MYSQL数据库的常见操作 21
    10. 数字图像处理笔记与体会(二)——打开和显示图像 20

    随机文章

    1. Swift: 属性
    2. NET笔记——Delegate(委托)
    3. Spring框架学习(一)
    4. Cocoapods无法使用/安装失败/失效解决方法
    5. 前后端差异更小了——浅谈ES(ECMAScript)6