2015-01-03 15 views
6

mavenとgradleのファイルシステムに同じリポジトリを維持しようとしています。しかし、私はいくつかの問題に遭遇しています。Mavenリポジトリではなくキャッシュに依存関係をダウンロードするGradle

私のbuild.gradleファイルには次のものがあります。

repositories { 
    mavenLocal() 
    mavenCentral() 
} 

dependencies { 
    compile group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9' 
    runtime group: 'org.codehaus.groovy', name: 'groovy-all', version: '2.3.9' 
    runtime 'org.xerial:sqlite-jdbc:3.8.7' 
} 

GRADLE_HOMEはD:\Programming\Java\gradle-2.2.1
GRADLE_USER_HOMEがD:\Programming\Java\.m2

マイGradleの家は私のMavenのリポジトリと同じであるです。

しかし、依存関係をgradle経由でダウンロードすると、リポジトリフォルダの代わりにGRADLE_USER_HOME\cacheにダウンロードされます。どのような構成がありますか?

編集 私は本の依存関係管理に関する章を確認しましたGradle In Action。何もない。私はgradleのウェブサイトのdependency managementをチェックしましたが、キャッシュが使われているだけであるとも言います。

gradleにはこのようなオプションはありません。誰かが確認できますか?

答えて

6

変更する設定はありません。そのようなグラデルレポジトリはありません。また、混乱のために、リポジトリのフォルダを依存キャッシュとして使用するのは悪い考えです。

gradleで構築された成果物を前記のmavenリポジトリに公開しようとしている場合は、おそらくmaven-publishプラグインを見てください。

ビルドでそのリポジトリの成果物を使用しようとしている場合は、mavenLocal()をリポジトリに追加してから、依存関係にcompile関数を使用するだけです。

+1

私は上記の両方について知っています。 mavenリポジトリにアーティファクトを配置して他のgradle/mavenビルドで再利用できるようにするにはどうすればいいですか?私が現在Maven経由でダウンロードしてから、必要に応じてMaven/gradleでそれを使用しているのです。 –

+0

@AseemBansal同じ(外部)アーティファクトを使用する他のビルドを実行するときに再ロードする必要がないように、そこに配置しますか?もしgradleが既にキャッシュにアーティファクトを持っていれば、できるだけ再利用します。 – Insomniac

+3

それはまさに私が欲しいものです。しかしMavenはそのアーティファクトを使用しません。私は、[gradleのサポートが壊れているので、mavenが必要です](IntellijIdea Iのhttp://stackoverflow.com/questions/22339142/gradle-1-10-internal-maven-repository-indexing-forever-in-intellij-13)どこでもgradleを使うことができません。また、いくつかの奇妙な理由のために、gradleはローカルのリポジトリに存在しない場合、依存関係をダウンロードし、キャッシュからの依存関係を再利用しません。 –

0

はい、ソースコードを読んでちょうど確認しましたこれを変更する設定はありません。

  1. はネクサスのようなローカルのMavenリポジトリマネージャをインストールします。

    は、ここに私のソリューションです。

  2. そのリポジトリを使用して設定します。

関連する問題