gradle版本对应关系_一款检查Gradle依赖配置是否冲突的插件

↑ 点击上方“子勰随笔”关注我    

背景介绍

在平时的开发中,大家经常会遇到因为gradle的构建配置错误引起的各种奇奇怪怪的问题,每次梳理依赖关系都需要很长时间,为了更方便的找出项目中的依赖冲突,专门开发了这个插件。

使用方法:

在项目中添加插件

  • 在项目根目录的build.gradle中添加插件仓库:

      buildscript {
    repositories {
    jcenter()
    }
    dependencies {
    classpath "com.bihe0832:GradleDependenciesCheck:1.0.2"
    }
    }
  • 引入插件,并添加插件相关配置

    你可以选择在每个project都添加一份,也可以选择参考demo,在根build.gradle的subprojects中添加

    subprojects {
    /************************** 应用插件 Start ***********************/
    //应用插件
    apply plugin: 'com.bihe0832.gradleDependenciesCheck'
    //配置插件相关配置
    GradleDependenciesCheckConfig {
    /**
    * 检查结果提示类型:
    * 1 以warning形式在命令行提示
    * 2 直接编辑报错,并提示错误
    */
    showResultType = 2
    }
    /************************** 应用插件 End ***********************/

    }
  • 将插件添加到其余系统任务中自动执行

      subprojects {
    afterEvaluate { Project project ->
    project.getTasks().getByName('clean').dependsOn("checkGradleDependencies")
    project.getTasks().getByName('preBuild').dependsOn("checkGradleDependencies")
    }
    }

完整的插件使用方式,可以参考项目的事例Sample的根目录的build.gradle

运行插件

  • 在IED右侧的Gradle窗口选择others,然后点击checkGradleDependencies
  • 直接在命令行运行./gradlew checkGradleDependencies
  • 直接运行已经添加了依赖的系统task

运行效果

  • 在命令行运行效果如下:

      > Task :app:listGradleDependencies FAILED
    listGradleDependencies start ...

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':app:listGradleDependencies'.
    > [ERROR] org.jetbrains.kotlin:kotlin-stdlib has different version:
    1.3.0 found from:
    app:org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0
    app:Sample:sdk:unspecified
    1.2.71 found from:
    app:org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71


    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
    Use '--warning-mode all' to show the individual deprecation warnings.
    See https://docs.gradle.org/4.10/userguide/command_line_interface.html#sec:command_line_warnings

    BUILD FAILED in 1s
    1 actionable task: 1 executed
    [ERROR] org.jetbrains.kotlin:kotlin-stdlib has different version:
    1.3.0 found from:
    app:org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0
    app:Sample:sdk:unspecified
    1.2.71 found from:
    app:org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71

    4:39:17 PM: Task execution finished 'listGradleDependencies'.

项目相关:

源码地址

  • 项目源码及使用Demo:https://github.com/bihe0832/Gradle-Dependencies-Check

后续规划

  • 检查所有依赖的最新版,然后推荐更新

  • 推荐把support等相关库都切换到了androidx

  • 对于一些需要版本对应的,提示对应。例如:databing compile依赖的版本号与Android Gradle Plugin版本保持一致等

参考及文章

  • Gradle插件开发系列之总纲:https://blog.bihe0832.com/gradle_plugin_summary.html

  • 开发第一个gradle插件:https://blog.bihe0832.com/gradle_plugin_new.html

  • gradle插件调试方`:https://blog.bihe0832.com/gradle_plugin_debug.html

  • 发布gradle插件到开源库:https://blog.bihe0832.com/gradle_plugin_publish.html

  • 发布开源代码到jcenter:https://blog.bihe0832.com/jcenter.html

af033470f727e9ff3506d20d4e9c0626.gif

803e334fdbb5555dd10925a2612b9307.png

账号内容均来自个人博客,想了解更多资料或跳转到文中链接,可以点击

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值