android子模块依赖app的配置,使用sonarqube gradle插件使用子模块来配置Android项目的正确方法是什么?...

是它有点棘手与多个项目模块,它使用适当的通配符实现。

按照下列步骤:

包含所有子模块放置 sonarqube.gradle文件 d6f3e3cb210ad05e7af2da67250d22d6.png

在的所述的build.gradle文件中的主模块中主模块添加maven插件和 类依赖关系 f3b1637873854988093f407005ca0344.png

这里是两个以上提到的文件的例子:

sonarqube.gradle

apply plugin: "org.sonarqube"

sonarqube {

//noinspection GroovyAssignabilityCheck

properties {

//noinspection GroovyAssignabilityCheck

property "sonar.projectName", "appar"

//noinspection GroovyAssignabilityCheck

property "sonar.projectVersion", "1.0"

//noinspection GroovyAssignabilityCheck

property "sonar.analysis.mode", "publish"

//noinspection GroovyAssignabilityCheck

property "sonar.language", "java"

//noinspection GroovyAssignabilityCheck

property 'sonar.sourceEncoding', "UTF-8"

//noinspection GroovyAssignabilityCheck

property "sonar.sources", "./src/main"

// noinspection GroovyAssignabilityCheck

property "sonar.exclusions", "src/main/java/com/appar/model/**, **/*Entity.java"

//noinspection GroovyAssignabilityCheck

property "sonar.host.url", "http://192.168.21.33:9000"

//noinspection GroovyAssignabilityCheck

property "sonar.login", "admin"

//noinspection GroovyAssignabilityCheck

property "sonar.profile", "fulllint"

//noinspection GroovyAssignabilityCheck

property 'sonar.import_unknown_files', true

//noinspection GroovyAssignabilityCheck

property "sonar.android.lint.report", "./build/outputs/lint-results-debug.xml"

//noinspection GroovyAssignabilityCheck

property "sonar.password", "admin"

//noinspection GroovyAssignabilityCheck

property "sonar.java.binaries", "build/"

}

}

的build.gradle

buildscript {

repositories {

jcenter()

maven {

url "https://plugins.gradle.org/m2/"

}

}

dependencies {

classpath 'com.android.tools.build:gradle:2.2.2'

classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.0.1"

classpath 'com.dicedmelon.gradle:jacoco-android:0.1.1'

}

}

allprojects {

repositories {

jcenter()

}

}

然后从sonarqube.gradle在申请建立。的单独的模块

的gradle这里是子模块中的一个的的build.gradle的示例:

apply plugin: 'com.android.library'

apply from: '../sonarqube.gradle'

android {

compileSdkVersion 23

buildToolsVersion "23.0.3"

defaultConfig {

minSdkVersion 21

targetSdkVersion 23

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

debug {

testCoverageEnabled = true

}

}

}

dependencies {

compile project(':java-library')

testCompile 'junit:junit:4.12'

testCompile "org.robolectric:robolectric:3.1.4"

}

只是把这个线沿与所有其他应用线,如图在上述文件

apply from: '../sonarqube.gradle'

e21a1a4d33c8b17b0a7c93ff8bb85176.png

后应用sonarqube.gradle涉及的子模块中的所有的build.gradle文件。

只需运行命令

./gradlew sonarqube

相信我的计划将会成功建立并被推入到sonarqube服务器,如果您使用的FindBugs推前使该项目的错误结果将得到显示

否则build会失败,因为findbugs需要字节码来分析。

并且不要使用属性

//noinspection GroovyAssignabilityCheck

property "sonar.projectKey", "appar_app"

这sonar.projectKey属性。这由SonarQube用于识别声纳数据库中的每个项目(或模块)。 因此,如果您的所有模块具有相同的projectKey值,SonarQube将更新其数据库中的单个项目。 不用担心,该属性会自动设置为每个模块的文件夹名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值