Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.bat-cha:gradle-plugin-git-dependencies:'
}
dependencies {
implementation("com.github.bat-cha:gradle-plugin-git-dependencies:")
}
<dependency>
<groupId>com.github.bat-cha</groupId>
<artifactId>gradle-plugin-git-dependencies</artifactId>
<version></version>
</dependency>
libraryDependencies += "com.github.bat-cha" % "gradle-plugin-git-dependencies" % ""
:dependencies [[com.github.bat-cha/gradle-plugin-git-dependencies ""]]
The Git dependencies plugin helps resolving Gradle project dependencies via git using seamless gradle syntax. It relies on Gradle multi-project build capabilities. The purpose of this plugin is to setup a multi-project Gradle environment ONLY when a dependency cannot be resolved via the classical maven or ivy Gradle Dependency Resolution.
If you sometime need to convert some external module dependency to project dependency then this plugin is for you ! Just specify your git repo where the plugin can find your dependency.
The git-dependencies plugin adds 3 tasks to your project:
initGitDependencies
taskThis task will look for dependency that cannot be resolved but have a git
extra property. It will clone them into project.gitDependenciesDir
, default to "${projectDir.parent}/${project.name}-git-dependencies"
and prepare your environment for a multi-project build by adding '''settings.gradle''' in "${projectDir.parent}
resolveGitDependencies
taskThis task will always be called after your project evaluation, it is simply replacing any unresolved git dependencies by a project dependency using the cloned repositories.
refreshGitDependencies
taskThis task simply refresh all cloned repository
To use the git-dependencies plugin, include in your build script:
apply plugin: 'git-dependencies'
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.batcha.gradle.plugins:git-dependencies:0.2'
}
}
If you do not need the gradle --offline (cf http://issues.gradle.org/browse/GRADLE-1768), You can also do
apply from: 'https://raw.github.com/bat-cha/gradle-plugin-git-dependencies/0.2/git-dependencies.gradle'
To declare a Dependency,
dependencies {
compile('org.batcha:dummy-project-a:4.2').ext.git = 'https://github.com/bat-cha/dummy-java-project-a.git'
}
or if you want to use a different version from the unresolved dependency
dependencies {
compile('org.anic:myproject:42.0') {
ext.git = 'git@github.com:fabzo/gradle-plugin-git-dependencies.git'
ext.gitVersion = 'some/otherBranch/h2g2'
}
}
To setup the multi-project build for all the non resolved dependencies having a git property,
./gradlew initGitDependencies
To refresh git repositories for the non resolved dependencies having a git property,
./gradlew refreshGitDependencies