有没有可能在android gradle中将git存储库声明为依赖项?
我想使用从mavencentral我的lib的主版本。
有没有可能在android gradle中将git存储库声明为依赖项?
对我来说最好的方法是:
第1步:将JitPack存储库添加到您的构build文件中将其添加到存储库末尾的build.gradle中:
repositories { // ... maven { url "https://jitpack.io" } }
第2步。在表单中添加依赖项
dependencies { compile 'com.github.User:Repo:Tag' }
或者,您可以将资源库注册为这样的子模块
$ git submodule add my_sub_project_git_url my-sub-project
然后在你的settings.gradle文件中包含项目,应该看起来像这样
include ':my-app', ':my-sub-project'
最后,在你的应用程序build.gradle文件中像这样编译项目作为依赖项
dependencies { compile project(':my-sub-project') }
然后,在克隆你的项目时,你只需要添加选项--recursive
来让git自动克隆根存储库及其所有的子模块。
git clone --recursive my_sub_project_git_url
我希望它有帮助。
我发现最接近的东西是https://github.com/bat-cha/gradle-plugin-git-dependencies,但我不能得到它与android插件工作,不断尝试拉从maven即使在git回购加载。;
我不认为gradle支持添加git repo作为依赖。 我的解决方法是:
- 声明主项目依赖于文件系统中的另一个项目
- 提供一种方法来自动克隆声明为依赖的文件夹中的git repo
我假设你想要在主项目仓库文件夹之外的仓库仓库,所以每个项目都是独立的仓库仓库,你可以独立地提交库和主项目仓库仓库。
假设你想把库项目的文件夹放在与主项目文件夹相同的文件夹中,
你可以:
在顶级settings.gradle中,声明库存储库为一个项目,因为它是在文件系统中的位置
// Reference: https://looksok.wordpress.com/2014/07/12/compile-gradle-project-with-another-project-as-a-dependency/ include ':lib_project' project( ':lib_project' ).projectDir = new File(settingsDir, '../library' )
使用gradle-git插件从git仓库克隆库
import org.ajoberstar.gradle.git.tasks.* buildscript { repositories { mavenCentral() } dependencies { classpath 'org.ajoberstar:gradle-git:0.2.3' } } task cloneLibraryGitRepo(type: GitClone) { def destination = file("../library") uri = "https://github.com/blabla/library.git" destinationPath = destination bare = false enabled = !destination.exists() //to clone only once }
在你的项目的依赖关系,说你的项目的代码取决于git项目的文件夹
dependencies { compile project(':lib_project') }