Можно ли объявить репозиторий git как зависимость в графе android?

Я хочу использовать главную версию моего lib из mavencentral.

Можно ли объявить репозиторий git как зависимость в графе android?

Solutions Collecting From Web of "Можно ли объявить репозиторий git как зависимость в графе android?"

Для меня лучший способ:

https://jitpack.io

Шаг 1. Добавьте репозиторий JitPack в файл сборки. Добавьте его в свой 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 в папке, объявленной как зависимость

Я предполагаю, что вы хотите, чтобы библиотека репо находилась за пределами папки основного репо проекта, поэтому каждый проект будет независимым git-репозиторией, и вы можете самостоятельно совершать коммиты в библиотеку и основной проект git-repos.

Предполагая, что вы хотите иметь папку проекта библиотеки в той же папке, что и папка основного проекта,

Ты мог:

В верхнем уровне 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') }