2017-11-10 7 views
1

Gradleラッパーを使用するときに、リモート・リポジトリーからダウンロードしないように、特定のバージョンのGradleをプロジェクト・フォルダーに組み込みたいとします。ラッパーに使用するプロジェクトにGradleディストリビューションを含める方法

私は(gradle-4.0-bin.zip)を必要とするのGradleのバージョンをダウンロードし、私は(gradle wrapperコマンドで作成)プロジェクトのgradle/wrapper/フォルダの中にそのジップ罰金を置きます。 は、それから私は、このようにgradle-wrapper.propertiesファイルに編集:

distributionUrl=file:///Users/pathj/to/the/project/gradle/wrapper/gradle-4.0-bin.zip 

をしかし、私は、このようなgradle taskとして最初のコマンドを実行したときにそれを返します:

  • 何が悪かったのか:問題は、ルートプロジェクトを設定発生しました'03 -gradle-wrapper-local 'です。

    java.io.FileNotFoundException:/Users/myself/.gradle/wrapper/dists/gradle-4.0-bin/3p92xsbhik5vmig8i90n16yxc/gradle-4.0/lib/plugins/gradle-diagnostics-4.0.jar (そのようなファイルまたはディレクトリ)

どのように私は相対パスではなく、それをダウンロードするので、現在のプロジェクトフォルダからzipファイルを取得するためのGradleを教えてください、そして作成するために、そのzipファイルを使用します私のビルドで使用されるラッパー?

+0

なぜですか?ちょうどなぜ?この大きなzipファイルをgitリポジトリに保存し、各自のローカルコピーを使用する代わりに、すべての開発者にgitリポジトリから(以前に保存したすべてのバージョンとともに)ダウンロードさせる必要があります。 –

+0

Hello JB Nizet。まあ、理由はありません。私はGradleのドキュメントを読んで、実験をしています。ドキュメンテーションは次のように述べています。「あなたのプロジェクトがgradlewを使ってビルドされているときにダウンロードを行わないようにするには、Wrapper設定で指定された場所のバージョンコントロールにGradleディストリビューションジップを追加するだけです。私はこれを試したかった。ドキュメント内にある場合はおそらく実用的な使用例があります:) – acejazz

答えて

1

グラデーションラッパーをローカルに格納すること以外は、ローカルでは意味がありません。私はgradle-4.0-rc-3-binディストリビューションが使用されると仮定します。

. 
├── gradle 
│   └── wrapper 
│    ├── gradle-4.0-rc-3-bin.zip 
│    ├── gradle-wrapper.jar 
│    └── gradle-wrapper.properties 
├── gradlew 
└── gradlew.bat 

そして、ここgradle-wrapper.propertiesの内容::ここで

は、プロジェクト構造であるラッパーファイルは、プロジェクトのディレクトリにダウンロードされますので、SCMへgradle/gradle-4.0-rc-3-binを追加

distributionBase=PROJECT 
distributionPath=gradle 
zipStoreBase=GRADLE_USER_HOME 
zipStorePath=wrapper/dists 
distributionUrl=gradle-4.0-rc-3-bin.zip 

ファイルを無視することをお勧めします。

デモはhereです。

+0

ドキュメントから: "あなたのプロジェクトがgradlewを介してビルドされているときにダウンロードが行われないようにするには、バージョンコントロールにGradleディストリビューションジップを追加するだけですWrapperの設定で指定された場所に移動します。だから私は、SCMの下での配布を含めることは、いくつかの有用性を持っていると思う。 – acejazz

+0

@acejazz、私はそれを判断しません。私はちょうどJB Nizetのコメントを参考にしていました。 – Opal

+0

よろしいですか?間違って理解しました。 :) 私はあなたのソリューションを使用しようとしましたが、それでもうまくいきません。 – acejazz

関連する問題