{"id":26062990,"url":"https://github.com/androidappfactory/gradle-dependencies-check","last_synced_at":"2025-04-11T11:13:39.079Z","repository":{"id":49360289,"uuid":"185759061","full_name":"AndroidAppFactory/Gradle-Dependencies-Check","owner":"AndroidAppFactory","description":"梳理并检查项目中多个module的gradle依赖配置是否存在冲突","archived":false,"fork":false,"pushed_at":"2023-03-28T03:15:06.000Z","size":113,"stargazers_count":38,"open_issues_count":0,"forks_count":10,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T09:07:30.460Z","etag":null,"topics":["android","gradle","gradle-plugin"],"latest_commit_sha":null,"homepage":"","language":"Groovy","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndroidAppFactory.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-09T08:33:05.000Z","updated_at":"2024-12-04T11:37:01.000Z","dependencies_parsed_at":"2022-08-24T08:50:28.365Z","dependency_job_id":null,"html_url":"https://github.com/AndroidAppFactory/Gradle-Dependencies-Check","commit_stats":null,"previous_names":["bihe0832/gradle-dependencies-check"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FGradle-Dependencies-Check","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FGradle-Dependencies-Check/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FGradle-Dependencies-Check/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndroidAppFactory%2FGradle-Dependencies-Check/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndroidAppFactory","download_url":"https://codeload.github.com/AndroidAppFactory/Gradle-Dependencies-Check/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248381790,"owners_count":21094528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","gradle","gradle-plugin"],"created_at":"2025-03-08T16:01:25.490Z","updated_at":"2025-04-11T11:13:39.055Z","avatar_url":"https://github.com/AndroidAppFactory.png","language":"Groovy","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Gradle-Dependencies-Check-Plugin\n\n## 背景介绍\n\n在平时的开发中，大家经常会遇到因为gradle的构建配置错误引起的各种奇奇怪怪的问题，每次梳理依赖关系都需要很长时间，为了更方便的找出项目中的依赖冲突，专门开发了这个插件。\n\n## 使用方法：\n\n### 在项目中添加插件\n\n- 在项目根目录的build.gradle中添加插件仓库：\n\t\n\t    buildscript {\n\t       repositories {\n\t\t        maven { url \"https://repo1.maven.org/maven2\" }\t\t    }\n\t\t    dependencies {\n\t\t        classpath \"com.bihe0832.android:GradleDependenciesCheck:4.1.0\"\n\t\t    }\n\t\t}\n\n-\t引入插件，并添加插件相关配置\n\n\t你可以选择在每个project都添加一份，也可以选择参考demo，在根build.gradle的subprojects中添加\n\n\t\tsubprojects {\n\t\t    /************************** 应用插件 Start ***********************/\n\t\t    //应用插件\n\t\t    apply plugin: 'com.bihe0832.gradleDependenciesCheck'\n\t\t    //配置插件相关配置\n\t\t    GradleDependenciesCheckConfig {\n\t\t        /**\n\t\t         * 检查结果提示类型:\n\t\t         *  1 以warning形式在命令行提示\n\t\t         *  2 直接编辑报错，并提示错误\n\t\t         */\n\t\t        showResultType = 1\n\t\t        /**\n\t\t         * 检查需要排除的检查范围\n\t\t         *  String 形式添加跳过检查的插件的GroupID，多个用分号分隔\n\t\t         */\n\t\t        excludePackage =\"com.android.support;org.jetbrains.kotlin\"\n\t\t    }\n\t\t    /************************** 应用插件 End ***********************/\n\t\t\n\t\t}\n\n- 将插件添加到其余系统任务中自动执行\n\n\t\tsubprojects {\n\t\t\tafterEvaluate { Project project -\u003e\n\t\t        project.getTasks().getByName('clean').dependsOn(\"checkGradleDependencies\")\n\t\t        project.getTasks().getByName('preBuild').dependsOn(\"checkGradleDependencies\")\n\t\t    }\n\t    }\n\n完整的插件使用方式，可以参考项目的事例Sample的根目录的build.gradle### 运行插件\n\n- 在IED右侧的Gradle窗口选择others，然后点击`checkGradleDependencies`\n- 直接在命令行运行`./gradlew  checkGradleDependencies`\n- 直接运行已经添加了依赖的系统task\n\n### 运行效果\n\n- 在命令行运行效果如下：\n\t\t\n\t\t\u003e Task :app:listGradleDependencies FAILED\n\t\tlistGradleDependencies start ...\n\t\t\n\t\tFAILURE: Build failed with an exception.\n\t\t\n\t\t* What went wrong:\n\t\tExecution failed for task ':app:listGradleDependencies'.\n\t\t\u003e [ERROR] org.jetbrains.kotlin:kotlin-stdlib has different version: \n\t\t  \t1.3.0 found from: \n\t\t  \t \t app:org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0\n\t\t  \t \t app:Sample:sdk:unspecified\n\t\t  \t1.2.71 found from: \n\t\t  \t \t app:org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71\n\t\t\n\t\t\n\t\t* Try:\n\t\tRun 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.\n\t\t\n\t\t* Get more help at https://help.gradle.org\n\t\t\n\t\tDeprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.\n\t\tUse '--warning-mode all' to show the individual deprecation warnings.\n\t\tSee https://docs.gradle.org/4.10/userguide/command_line_interface.html#sec:command_line_warnings\n\t\t\n\t\tBUILD FAILED in 1s\n\t\t1 actionable task: 1 executed\n\t\t[ERROR] org.jetbrains.kotlin:kotlin-stdlib has different version: \n\t\t\t1.3.0 found from: \n\t\t\t \t app:org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.0\n\t\t\t \t app:Sample:sdk:unspecified\n\t\t\t1.2.71 found from: \n\t\t\t \t app:org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71\n\t\t\n\t\t4:39:17 PM: Task execution finished 'listGradleDependencies'.\n\t\n## 项目介绍\n\n### 代码目录\n\n\tGradle-Dependencies-Check\n\t\t│\n\t\t├─── Gradle-Dependencies-Check-Plugin 构建依赖自动检查插件源码\n\t\t|\n\t\t├─── Sample 构建依赖自动检查插件测试用Demo\n\t\t│\n\t\t└─── README.md 项目介绍\n\t   \t\n### 本地使用方法\n\n- 如何修改配置及运行工程，请参考本人博客：[终端基于gradle的开源项目运行环境配置指引](\nhttp://blog.bihe0832.com/android-as-gradle-config.html)\n\n- 运行流程：\n\n\t- 启动Gradle-Dependencies-Check-Plugin，编辑通过错以后，执行Task uploadArchives\n\t- 启动Sample，修改根目录build.gradle的repositories，修改后如下：\n\n\t\t    repositories {\n\t\t\t        maven { url './libs/maven_local' }\n\t\t\t//        maven { url \"https://repo1.maven.org/maven2\" }\t\t\t}\n\t- 在Sample运行clean，查看效果\n\n## 后续规划\n\n- 检查所有依赖的最新版，然后推荐更新\n\n- 对于一些需要版本对应的，提示对应。例如：databing compile依赖的版本号与Android Gradle Plugin版本保持一致等\n\n## 参考及文章\n\n- [Gradle插件开发系列之总纲](https://blog.bihe0832.com/gradle_plugin_summary.html)\n\n- [开发第一个gradle插件](https://blog.bihe0832.com/gradle_plugin_new.html)\n\n- [gradle插件调试方法](https://blog.bihe0832.com/gradle_plugin_debug.html)\n\n- [发布gradle插件到开源库](https://blog.bihe0832.com/gradle_plugin_publish.html)\n\n- [发布开源代码到jcenter](https://blog.bihe0832.com/jcenter.html)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fgradle-dependencies-check","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandroidappfactory%2Fgradle-dependencies-check","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandroidappfactory%2Fgradle-dependencies-check/lists"}