2016-03-11 13 views
6

私たちはすべてのプロジェクトにGradle Wrapperを使用していますが、ツールの1つ(IntelliJ IDEA)は最初の行を変更するラッパータスクを頻繁に再実行します。ファイルが生成されたとき - いつでもそれが実行されます。この変更は、不要なマージの競合の可能性が高いという意味で、プル要求に追加される傾向があります。gradle-wrapper.propertiesが常に変更されるのを防ぐ

実際に意味のある方法で変更されていない限り、すべての開発者にファイルをチェックインさせないようにするのが適切な解決策ですが、開発者(私を含む)は急いで忘れてしまう可能性があります。

私はこれを解決するためのいくつかのアイデアを持っていましたが、実際にはそれを決めることはできません。

  1. Gitはthisようgradle-wrapper.propertiesの最初の行を無視してください、面倒に感じていると、それはローカルなので、すべての開発者が行う必要があります。

  2. gradle-wrapper.propertiesの最初の行を削除するgradleラッパータスクにテールを追加すると、ちょっとハッキリしています。

  3. 何とか私たちがプロジェクトを同期するたびに自動的にラッパータスクを再実行しないようにします。これを行う方法はわかりません。

私は今のところ2に向かっていますが、他の誰かがより良いアイデアを持っているかどうか聞いてみたいと思います。

+2

どのくらいの頻度でGradleラッパータスクを実行していますか?その理由は何ですか?提供されたGradleインストールのバージョンを更新する場合にのみ実行する必要があります。私はIntelliJがラッパータスクを明示的に実行せずにこれを行うのを見たことはありません。 – cjstehno

+0

IDEAは、プロジェクトを同期する前にラッパー・タスクを実行します。これは、依存関係を更新または追加するたびに実行する必要があります(データ・モデルとユーティリティー・コードの共有に内部ライブラリーを使用しているためです)。 IDEAは、プロジェクトをGradleプロジェクトとしてインポートするときにラッパーを使用するように構成されています。 – Raniz

+0

プロジェクトを最初に開いたときの設定かどうかは初めてです。初めてGradleプロジェクトを開いたときに[ファイル]> [開く]を選択してデフォルトを受け入れると、これらのいずれかが変更されている可能性があります。私は新しいプロジェクトを開き、オプションが何であるかを見なければならないでしょう。記述しているのは、一般的なデフォルト動作ではありません。私はGit + Gradle + Intellijを使用し、これに遭遇したことはありません。 – cjstehno

答えて

7

があるはGradleのはラッパーのデフォルトを使用して選択すると、Gradleのプロジェクトをインポートするときに選択するための正しいオプションであり、その使用、カスタマイズのGradleラッパー(スクリプト内のGradleラッパーのカスタマイズは、Gradleの1.7以降で動作する)ようですIDEAは常にラッパー・タスクを再実行します。

+1

これはまだ成立していますか?インポート時に既定のGradleラッパーを選択するだけで問題を解決することはできません。 Intellijは、デフォルトラッパーが選択されていても、gradleラッパーを実行するたびにgradle-wrapper.propertiesの時刻を更新します。 – bengro

+0

私はまだIDEAでこれをやっている2016.3 – Raniz

+0

おかげで、ありがとう、ありがとう。 ./gradlewラッパーも日付を生成するので、これは階調の問題かもしれません。私は調査を続けます。 – bengro

関連する問題