Je veux utiliser la version master de ma lib de mavencentral.
Est-il possible de déclarer le référentiel git en tant que dépendance dans Android gradle?
Pour moi le meilleur moyen est:
Étape 1. Ajoutez le référentiel JitPack à build.gradle à la fin des référentiels:
repositories {
// ...
maven { url "https://jitpack.io" }
}
Étape 2. Ajoutez la dépendance dans le formulaire
dependencies {
compile 'com.github.User:Repo:Tag'
}
Il est possible de construire la dernière validation sur la branche master, par exemple:
dependencies {
compile 'com.github.jitpack:gradle-simple:master-SNAPSHOT'
}
Ou vous pouvez enregistrer un référentiel en tant que sous-module comme celui-ci
$ git submodule add my_sub_project_git_url my-sub-project
Ensuite, incluez le projet dans votre fichier settings.gradle qui devrait ressembler à ceci:
include ':my-app', ':my-sub-project'
Enfin, compilez le projet en tant que dépendance dans le fichier build.gradle de votre application, comme ceci:
dependencies {
compile project(':my-sub-project')
}
Ensuite, lors du clonage de votre projet, il vous suffira d'ajouter l'option --recursive
pour que git clone automatiquement le dépôt racine et tous ses sous-modules.
git clone --recursive my_sub_project_git_url
J'espère que ça aide.
Je ne pense pas que Gradle soit en faveur d’ajouter un dépôt Git en tant que dépendance. Ma solution consiste à:
Je suppose que vous voulez que le référentiel de bibliothèque se trouve en dehors du dossier du référentiel de projet principal, de sorte que chaque projet sera un référentiel indépendant git, et vous pouvez effectuer des validations de manière indépendante.
En supposant que vous souhaitiez que le dossier du projet de bibliothèque soit dans le même dossier que le dossier du projet principal,
Vous pourriez:
Dans le fichier settings.gradle de niveau supérieur, déclarez le référentiel de la bibliothèque en tant que projet, compte tenu de son emplacement dans le système de fichiers.
// 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' )
Utilisez le plugin gradle-git pour cloner la bibliothèque à partir du référentiel 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
}
Dans les dépendances de votre projet, dites que le code de votre projet dépend du dossier du projet git
dependencies {
compile project(':lib_project')
}
La chose la plus proche que j'ai trouvée est https://github.com/bat-cha/gradle-plugin-git-dependencies mais je n'arrive pas à le faire fonctionner avec le Android continue d'essayer de tirer de maven même après que les dépôts git soient chargés.
Il y a maintenant une nouvelle fonctionnalité dans gradle qui vous permet d'ajouter des dépendances de sources depuis git.
Vous devez d’abord définir le dépôt dans le settings.gradle
fichier et le mapper à un identificateur de module:
sourceControl {
gitRepository("https://github.com/gradle/native-samples-cpp-library.git") {
producesModule("org.gradle.cpp-samples:utilities")
}
}
Et maintenant dans votre build.gradle
vous pouvez indiquer une balise spécifique (par exemple: 'v1.0'):
dependencies {
...
implementation 'org.gradle.cpp-samples:utilities:v1.0'
}
Ou à une branche spécifique:
dependencies {
...
implementation('org.gradle.cpp-samples:utilities') {
version {
branch = 'release'
}
}
}
Mises en garde:
Références: