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

Android Studio 中Gradle配置sonarqube

0 307

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. 【原】移动web资源整理(安卓、ios移动端兼容性问题归整)
    2. Android Studio 提高工作效率的奇技
    3. Android实战(一)学习了多个控件实现登录及记住密码功能
    4. Android中的自定义控件(二)
    5. Android离线缓存
    6. Android 调用jepg库进行图片压缩,保持图片不失真
    7. Android Realm数据库使用指南
    8. Android GreenDAO3.0——介绍
    9. 寻找Fragment的替代品的尝试
    10. Android SVG矢量资源的使用方法

    衣食父母

    最近热帖

    1. 不带插件 ,自己写js,实现批量上传文件及进度显示 5
    2. 连载《一个程序猿的生命周期》-《发展篇》 - 10.欠薪的高薪和稳定的相对低薪,你会选择哪个? 6
    3. android网页分享到朋友圈问题求助? 6
    4. vue实现标签云效果 6
    5. 如何在前端模版引擎开发中避免使用eval函数 6
    6. 从String类型字符串的比较到StringBuffer和StringBuilder 6
    7. php利用gd实现图片的边框 6
    8. 谈谈java中遍历Map的几种方法 7
    9. angular之$watch、$watchGroup、$watchCollection 7
    10. ASP.NET MVC5(五):身份验证、授权 7

    随机文章

    1. 《连载 | 物联网框架ServerSuperIO教程》- 6.并发通讯模式开发及注意事项
    2. Angular自定义指令directive:scope属性
    3. 理解与应用css中的display属性
    4. 可视化框架设计-数据流
    5. 1.微信小程序-B站:前言准备