Je souhaite utiliser la version principale de ma bibliothèque de mavencentral.
Est-il possible de déclarer le dépôt git en tant que dépendance dans android gradle?
Je souhaite utiliser la version principale de ma bibliothèque de mavencentral.
Est-il possible de déclarer le dépôt git en tant que dépendance dans android gradle?
Réponses:
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 le dernier commit sur la branche master, par exemple:
dependencies {
compile 'com.github.jitpack:gradle-simple:master-SNAPSHOT'
}
-SNAPSHOT
jitpack.io/docs/#snapshots
buildscript
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
Incluez ensuite 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
permettant à git de cloner automatiquement le référentiel racine, et tous ses sous-modules.
git clone --recursive my_sub_project_git_url
J'espère que cela aide.
Il y a maintenant une nouvelle fonctionnalité dans gradle qui vous permet d'ajouter des dépendances source à partir de git.
Vous devez d'abord définir le référentiel dans le settings.gradle
fichier et le mapper à un identifiant 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 pointer vers une balise spécifique (par exemple: 'v1.0'):
dependencies {
...
implementation 'org.gradle.cpp-samples:utilities:v1.0'
}
Ou vers une succursale spécifique:
dependencies {
...
implementation('org.gradle.cpp-samples:utilities') {
version {
branch = 'release'
}
}
}
Mises en garde:
Références:
Je ne pense pas que Gradle prend en charge l'ajout d'un dépôt git en tant que dépendance. Ma solution consiste à:
Je suppose que vous voulez que le dépôt de la bibliothèque soit en dehors du dossier du dépôt du projet principal, donc chaque projet sera un dépôt git indépendant, et vous pouvez effectuer des validations dans les dépôts de la bibliothèque et du projet principal git indépendamment.
En supposant que vous souhaitiez avoir le dossier du projet de bibliothèque 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 bibliothèque en tant que projet, étant donné 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 dépôt 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, disons 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 ne peux pas le faire fonctionner avec le plugin Android, continue d'essayer de tirer de maven même après le git les dépôts sont chargés.