git-dependencies

The Git dependencies plugin provides integration of other Gradle project dependencies via git

License

License

Categories

Categories

Gradle Build Tools Git Development Tools Version Controls
GroupId

GroupId

org.batcha.gradle.plugins
ArtifactId

ArtifactId

git-dependencies
Last Version

Last Version

0.2
Release Date

Release Date

Type

Type

jar
Description

Description

git-dependencies
The Git dependencies plugin provides integration of other Gradle project dependencies via git
Project URL

Project URL

https://github.com/bat-cha/gradle-plugin-git-dependencies
Source Code Management

Source Code Management

https://github.com/bat-cha/gradle-plugin-git-dependencies

Download git-dependencies

How to add to project

<!-- https://jarcasting.com/artifacts/org.batcha.gradle.plugins/git-dependencies/ -->
<dependency>
    <groupId>org.batcha.gradle.plugins</groupId>
    <artifactId>git-dependencies</artifactId>
    <version>0.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.batcha.gradle.plugins/git-dependencies/
implementation 'org.batcha.gradle.plugins:git-dependencies:0.2'
// https://jarcasting.com/artifacts/org.batcha.gradle.plugins/git-dependencies/
implementation ("org.batcha.gradle.plugins:git-dependencies:0.2")
'org.batcha.gradle.plugins:git-dependencies:jar:0.2'
<dependency org="org.batcha.gradle.plugins" name="git-dependencies" rev="0.2">
  <artifact name="git-dependencies" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.batcha.gradle.plugins', module='git-dependencies', version='0.2')
)
libraryDependencies += "org.batcha.gradle.plugins" % "git-dependencies" % "0.2"
[org.batcha.gradle.plugins/git-dependencies "0.2"]

Dependencies

compile (2)

Group / Artifact Type Version
com.google.guava : guava jar 16.0.1
org.eclipse.jgit : org.eclipse.jgit jar 3.3.0.201403021825-r

test (1)

Group / Artifact Type Version
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Git Dependencies Plugin for Gradle

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.

What's this ?

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
  • resolveGitDependencies
  • refreshGitDependencies

initGitDependencies task

This 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 task

This 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 task

This task simply refresh all cloned repository

Usage

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 = '[email protected]: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

API Doc

Versions

Version
0.2
0.1