.gradleフォルダーをバージョン管理に追加する必要がありますか?


104

Gradleは、 .gradle。バージョン管理(gitなど)で追跡する必要がありますか?

さらに重要なのは、なぜ/なぜそうではないのですか?

回答:


114

.gradleディレクトリを追跡する必要がありますか?

いいえ、無視してかまいません。


なぜ無視する必要があるのですか?

それは純粋に情報をキャッシュするためのものであり、次の理由でそれをリポジトリに入れたくありません。

  • 大きくなり、バイナリファイルでいっぱいになる可能性があります
  • そこにマシン固有のデータがある可能性があります
  • そこには多くのチャーンがあります(そこにあるファイルへの変更は常にコミットします)
  • とにかく必要なときに、そこにあるすべてのものを完全に再生成することができます

これは基本的に、Gradleがソースコードの途中でドロップしている一時ディレクトリです(Gradleがそれを行うことが適切であると考える理由は別の質問です)。

--project-cache-dir」のように、ディレクトリの「キャッシュディレクトリ」の性質を知ることができます。

ソースツリーにバイナリファイルを含めるのは嫌いですが、通常は、無視するファイルにディレクトリを追加するだけです。これは、行のどこかで、コマンドラインやIDEなどからスイッチを使用するのを忘れてしまうためです。とにかくディレクトリを扱う必要があります。


どうすれば無視できますか?

Gitユーザー.gradle.gitgnoreだけに行を追加できますファイル Gitはその名前のディレクトリにあるすべてのファイルを無視します。

Mercurialユーザーは.hgignoreファイルを調べたいと考えています。

他のバージョン管理システムについては、ドキュメントを参照してください。これらにはすべて、これをサポートする機能があります。


Androidに変換する世界のすべてのiOS debs、ありがとう!:)
Fattie

13

.gradleフォルダーには、gradleビルドに関する計算されたさまざまな情報(キャッシュされた出力/入力情報など)が含まれています。そのフォルダーをバージョン管理システムにチェックインしないでください。


3

.gradleフォルダーを保持する必要はありません。

gradle buildコマンドを再度実行すると、ほぼ同じ.gradleフォルダーを再度作成できるためです。

ただし、gradleの下にあるgradle.settingファイルを使用する場合は、プロジェクトのルートフォルダーに移動する必要がある場合があります。


0

Gradleを起動すると、ホームディレクトリ内に.gradleフォルダーが作成されます。ネイティブ(システムに関する情報)とキャッシュで構成されます。キャッシュはさらに、プラグインと他のすべてのjar依存関係で構成されます。

そのときにプロジェクトを初めてビルドすると、依存関係とプラグインがダウンロードされ、ここでチェックされます。次に必要になったときに、ここから取得します。コードをコンパイルするためにeclipseでそれらが必要な場合でも(=> gradle eclipse)、その依存関係はキャッシュから追加されます

Gradleを実行すると、更新と追加が継続されるためです。したがって、バージョン管理に追加しないと思います。


0

私はGradleを初めて使用しました。.gradleフォルダーには依存関係マッピングなどの一般的な情報が含まれていると考え、バージョン管理にアップロードしました。次に、.gradleフォルダーを含むバージョン管理のコードを使用して、OSフレーバーとJavaバージョンが異なる新しいマシンをセットアップしようとしたところ、エラーが発生しました。.gradleフォルダーにはマシン固有の情報が含まれ、ローカルでのキャッシュに使用されることが判明しました。バージョン管理に.gradleフォルダーを含めないで、コードで新しいマシンをセットアップしてみてください。gradleデーモンが残りを行います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.