LoginSignup
29
29

More than 5 years have passed since last update.

GradleプロジェクトでMavenローカルリポジトリにJarをインストールする

Last updated at Posted at 2014-02-16

Gradle構成のGroovyプロジェクトで軽めのDSLを作ったので、他のJavaプロジェクトでMaven参照したい。
つまり、Gradleからmvn installと同等のことをしたいわけだが、uploadArchivesでmavenDeployerを使ってやれば良い。

groovy|build.gradle
apply plugin: 'groovy'
apply plugin: 'eclipse'
apply plugin: 'maven'

group = 'me.stormcat'
version = '0.0.1'

task sourcesJar(type: Jar, dependsOn:classes) {
     classifier = 'sources'
     from sourceSets.main.allSource
}
repositories {
    mavenCentral()
}

artifacts {
    archives sourcesJar
}

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.2.0'
    testCompile 'junit:junit:4.11'
}

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file:${System.getProperty('user.home')}/.m2/repository")
        }
    }
}

Mavenリポジトリにインストールするからといってpomを作る必要はない。はmavenで言うところのgroupIdgroupで設定でき、artifactIdは未設定ならプロジェクト名がそのまま利用されるが、指定したいのであればarchivesBaseNameを設定すればartifactIdとして利用される。
また、versionに-SNAPSHOTを付加すれば勝手にSNAPSHOTデプロイにしてくれる。
sourcesJarタスクを設定しておけば、source-jarもデプロイされる。

ビルド実行してローカルインストールは以下のコマンドでOk。

$ gradle uploadArchives
29
29
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
29