2017-01-23 3 views
1

--offlineモードで動作するgradleプロジェクトのコピーを作成しようとしています。私は1つから離れてすべてのステップを自動化しました。私は自動的にプラグインjarをgradleキャッシュにダウンロードできません。GradleプラグインをリポジトリからGradleキャッシュにダウンロードし、オフラインモードで使用する方法はありますか?

私のオフライン配布は、GRADLE_USER_HOMEを指定し、すべての依存関係をダウンロードし、すべてのgradleキャッシュをプロジェクトにバンドルします。残念ながら、いくつかのカスタムプラグインを使用しています。私はもちろん、それぞれの例外を作成し、それらを手動で含めることができます。ifのオフラインモードの文があります。しかし、単にjarファイルをキャッシュにダウンロードするだけで大​​丈夫です。

gradleにプラグインの依存関係を含むすべての依存関係を強制的にダウンロードさせる方法はありますか?

task resolveAllDependencies { 
    doLast { 
     configurations.all { it.resolve() } 
    } 
} 

それがローカルキャッシュにすべての依存関係をダウンロードします。

は、これは私が依存関係の残りのためにやっているものです。しかし、プラグインは、もちろん、どの設定にも含まれていません。

また、プラグインがキャッシュにダウンロードされる場合でも、それはまだ、次のメッセージを表示してオフラインモードで失敗しているようです:Gradleのオフラインモードで

答えて

4

を実行しているので、プラグインはhttps://plugins.gradle.org/api/gradleから解決することはできませんここで作業溶液です。それは、gradleプラグインリポジトリをハードコードし、スクリプトを変更するので、完璧ではありません。現在のプラグインの使用方法よりもはるかに冗長です。代わりに次のような単純なプラグイン定義の

:これはにプラグインをダウンロードし

buildscript { 
    repositories { 
     maven { 
      url 'https://plugins.gradle.org/m2/' 
     } 
    } 
    dependencies { 
     classpath 'net.researchgate:gradle-release:2.3.5' 
    } 
} 
apply plugin: 'net.researchgate.release' 

plugins { 
    id 'net.researchgate.release' version '2.3.5' 
} 

これは、手動でリポジトリとの依存関係の両方を定義して、プラグインをこのように使用することが可能ですローカルのグラデーションキャッシュ。

関連する問題