内容简介:在平时的开发中,大家经常会遇到因为gradle的构建配置错误引起的各种奇奇怪怪的问题,每次梳理依赖关系都需要很长时间,为了更方便的找出项目中的依赖冲突,专门开发了这个插件。完整的插件使用方式,可以参考项目的事例Sample的根目录的build.gradle
背景介绍
在平时的开发中,大家经常会遇到因为gradle的构建配置错误引起的各种奇奇怪怪的问题,每次梳理依赖关系都需要很长时间,为了更方便的找出项目中的依赖冲突,专门开发了这个插件。
使用方法:
在项目中添加插件
-
在repositories中添加插件仓库:
repositories { maven { url "https://plugins.gradle.org/m2/" } }
-
引入插件,并添加插件相关配置
你可以选择在每个project都添加一份,也可以选择参考demo,在根build.gradle的subprojects中添加
subprojects { /************************** 应用插件 Start ***********************/ //应用插件 apply plugin: 'com.bihe0832.gradleDependenciesCheck' //配置插件相关配置 GradleDependenciesCheckConfig { /** * 检查结果提示类型: * 1 以warning形式在命令行提示 * 2 直接编辑报错,并提示错误 */ showResultType = 2 } /************************** 应用插件 End ***********************/ }
-
将插件添加到其余系统任务中自动执行
afterEvaluate { Project project -> project.getTasks().getByName('clean').dependsOn("checkGradleDependencies") project.getTasks().getByName('preBuild').dependsOn("checkGradleDependencies") }
完整的插件使用方式,可以参考项目的事例Sample的根目录的build.gradle
运行插件
checkGradleDependencies ./gradlew checkGradleDependencies
运行效果
-
在命令行运行效果如下:
> 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'.
工程介绍
代码目录
Gradle-Dependencies-Check │ ├─── Gradle-Dependencies-Check-Plugin 构建依赖自动检查插件源码 | ├─── Sample 构建依赖自动检查插件测试用Demo │ └─── README.md 项目介绍
使用方法
-
如何修改配置及运行工程,请参考本人博客: 终端基于gradle的开源项目运行环境配置指引
-
运行流程:
- 启动Gradle-Dependencies-Check-Plugin,编辑通过错以后,执行Task uploadArchives
-
启动Sample,修改根目录build.gradle的repositories,修改后如下:
repositories { maven { url './libs/maven_local' } // maven { url "https://plugins.gradle.org/m2/" } }
- 在Sample运行clean,查看效果
后续规划
-
检查所有依赖的最新版,然后推荐更新
-
推荐把support等相关库都切换到了androidx
-
对于一些需要版本对应的,提示对应。例如:databing compile依赖的版本号与Android Gradle Plugin版本保持一致等
参考及文章
-
开发第一个gradle插件(待写)
-
gradle插件调试方法(待写)
-
如何发布gradle插件到gradle插件库(待写)
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Android Project 检查依赖库和插件版本
- 浅谈 Vite 2.0 原理,依赖预编译,插件机制是如何兼容 Rollup 的?
- 浅析依赖倒转、控制反转、IoC 容器、依赖注入。
- Angular 4 依赖注入教程之五 FactoryProvider配置依赖对象
- Gradle构建SpringBoot程序依赖管理之依赖版本自动控制
- Maven学习笔记七【可选的依赖项和依赖项排除】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
我用微软改变世界
保罗·艾伦 / 吴果锦 / 浙江人民出版社 / 2012-3 / 46.00元
《我用微软改变世界(微软联合创始人保罗•艾伦回忆录)》内容简介:1975年,两个从大学退学的男孩夜以继日地设计一款软件。其中一个男孩就是后来的世界首富比尔盖茨,而另外一个则作为盖茨背后的男人,一直生活在盖茨的阴影里,其实,他的人生经历远比盖茨更为传奇和丰富。 16岁,与比尔盖茨在顶级名校湖畔中学相遇,成为最佳拍档,无数趣事,无数闹腾,高呼“处男万岁”还不够,还得意扬扬把这话刻在碑上留给学弟们......一起来看看 《我用微软改变世界》 这本书的介绍吧!