2016-08-15 4 views
1

私は今Project-Aで開発しています。私は、この部品を再利用できるので、一部の部品をアウトソースすることは意味があると認識しました。私は現在、gradle(Project-B)を使って新しいプロジェクトを作成することを考えています。これらの再利用可能なソースをすべてProject-Aの依存関係として再配置します。gradleを使って再利用可能なソースのJar-Libraryを作成するには?

私はgradle-build-filesについて非常に初歩的な知識を持っていますので、私の質問は、これを実現するbuild.gradleファイルの基本的なステップは何ですか?

+0

は、プロジェクトBからjarを生成し、Mavenのリポジトリで公開します。 jarを作成することはgradleのデフォルトです。アーティファクトをリポジトリに公開するための公開プラグイン(実際には2つ)があります。他のライブラリをMavenリポジトリから消費するので、AからBを使います。 –

答えて

1

あなたのベスト・オプションは、Project-BをローカルMavenリポジトリ(ファイルシステム内のディレクトリ)にライブラリとして公開することです。もちろん、ある時点で公開リポジトリに公開することもできます。

このようなローカルリポジトリを/path/to/repoに作成すると、次のようにできます。

あなた gradle.propertiesいくつかの変数を定義するには、プロジェクト-B

については

:あなたのsettings.gradle

pName=your-project-name 
pGroup=your-group-name 
pVersion=1.0.0 

を、プロジェクト名を設定:あなたのbuild.gradle

rootProject.name = pName 

を、Mavenプラグインを適用します:

apply plugin: 'maven' 
あなたが、その後については

gradle clean uploadArchives 

を使用してリポジトリにプロジェクトをアップロードすることができ

uploadArchives { 
    repositories { 
     mavenDeployer { 
      repository(url: file://localhost/path/to/repo) 
     } 
    } 
} 

:アップロードタスクを定義し、また

group = pGroup 
version = pVersion 

:他のファイルからこれらの変数を設定し

プロジェクト-A

あなたの地域を追加Mavenのリポジトリのリストにepository:

repositories { 
    maven { 
     url /path/to/repo 
    } 
    mavenCentral() 
} 

次に、あなたのプロジェクト-Bに依存関係を追加:タスクを実行するときに

dependencies { 
    compile 'your-group-name:your-project-name:1.0.0' 
} 

それだ、プロジェクト-Aは、自動的にプロジェクトBのjarファイルを引く必要がありますこのようgradle buildまたはgradle eclipse

あなたはプロジェクト-Bのソースはメートルに含める場合は必要に応じてソース

を公開などお使いのIDEは、あなたのライブラリーのソースコードを表示できるようにエイヴンのリポジトリは、あなたのbuild.gradleにこれを追加します。

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

artifacts { 
    archives sourcesJar 
} 
関連する問題