[解決済み】Gradleのラッパーファイルはいつ、どのように生成するのですか?
質問
Gradle Wrapperがどのように機能するかを理解しようとしています。多くのソースリポジトリで、私は次のような構造を見ます。
projectRoot/
src/
build.gradle
gradle.properties
settings.gradle
gradlew
gradlew.bat
gradle/
wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
私の質問です。
-
をどのように/いつ生成するのですか?
gradlew
/gradlew.bat
? プロジェクトが最初に作成されたときに一度だけ生成することになっているのでしょうか、それともコミットや変更をプッシュするたびに生成するのでしょうか?また、どのように生成されるのでしょうか? -
上記と同じ質問ですが
gradle/wrapper/*
ファイル(gradle-wrapper.jar
とgradle-wrapper.properties
)? -
時々、他の
*.gradle
の中にあるファイルです。gradle
ディレクトリを作成します。これらの追加のGradleファイルは何を表し、何をするのでしょうか?カスタムプラグイン? -
に入るプロパティの違いは何ですか?
settings.gradle
の中で定義されるべきものと比較してgradle.properties
?
解決方法は?
-
一度生成し、プロジェクトで使用するGradleのバージョンを変更したいときに再度生成します。そんなに頻繁に生成する必要はありません。 これ はdocsです。を追加するだけです。
wrapper
タスクにbuild.gradle
ファイルを作成し,このタスクを実行することで,ラッパー構造を取得することができます.が必要であることに注意してください。 Gradleのインストール ラッパーを生成するために g-ecosystemの成果物を管理するための素晴らしいツールは SDKMAN! . gradle ラッパーを生成するには、以下のコード片を
build.gradle
ファイルを作成します。task wrapper(type: Wrapper) { gradleVersion = '2.0' //version required }
を実行してください。
gradle wrapper
タスクを実行します。出来上がったファイルをSCM(例:git)に追加すれば、今後、全ての開発者がGradle Wrapperを使うときに、同じバージョンのGradleを持つことになります。
Gradleを使用する 2.4 (またはそれ以上) では、専用のタスクを追加することなくラッパーをセットアップすることができます。
gradle wrapper --gradle-version 2.3
または
gradle wrapper --gradle-distribution-url https://myEnterpriseRepository:7070/gradle/distributions/gradle-2.3-bin.zip
すべての詳細はこちら こちら
Gradleより
3.1
--distribution-type
オプションも使用できます。オプションはバイナリで
すべて
と
ビン
.
すべて
には、さらにソースコードとドキュメントが含まれます。
すべて
はIDEを使用している場合、エディタの動作も良くなります。欠点は、ビルドが長くなること(データをダウンロードする必要があり、CIサーバでは無意味)、容量が大きくなることです。
-
これらはGradleのWrapperファイルです。一度だけ(特定のバージョン用に)生成して、バージョン管理に追加する必要があります。もし、Gradle Wrapperのバージョンを変更する必要がある場合、そのバージョンを
build.gradle
を参照し、ファイルを再生成してください。 -
詳しい例を挙げてください。このようなファイルは、マルチモジュール・プロジェクト、責任分担、少し修正したスクリプトなど、複数の目的を持つことがあります。
-
settings.gradle
はどちらかというとプロジェクトの構造(モジュール、名前など)に責任を持ちますが。gradle.properties
は、プロジェクトとGradleの 外部 の詳細(バージョン、コマンドライン引数-XX
プロパティなど)
関連
-
[解決済み】gradlew: パーミッションが拒否される
-
[解決済み] Gradleビルドを試す - "ルートプロジェクトにタスク 'build' が見つかりません".
-
[解決済み] Android StudioのGradleとは?
-
[解決済み] Gradleのimplementation, api, compileの違いは何ですか?
-
[解決済み] gradleに依存関係を強制的に再ダウンロードさせるには?
-
[解決済み] テストなしでGradleビルド
-
[解決済み] このビルドでは非推奨のGradle機能が使用されているため、Gradle 5.0と互換性がありません。
-
[解決済み] Gradleは1つのモジュールだけをビルドする
-
[解決済み] Gradle、「sourceCompatibility」対「targetCompatibility」?
-
[解決済み] build.gradleのbuildscriptとallprojectsの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Gradleビルドを試す - "ルートプロジェクトにタスク 'build' が見つかりません".
-
[解決済み] エラー:エントリにNULL値: incrementalFolder=null
-
Gradleのビルドが遅い、またはメモリがオーバーフローする jvmのヒープ領域が枯渇したため、Gradleの期限切れデーモンが発生する
-
[解決済み】gradlewとgradleの使い方の違いについて
-
[解決済み] Gradleは1つのモジュールだけをビルドする
-
[解決済み] Gradleで、Environment Variablesを取得する良い方法はないでしょうか?
-
[解決済み] Android Studioです。android-library'というIDのプラグインが見つかりません。
-
[解決済み] allprojectsとsubprojectsの違いは何ですか?
-
[解決済み] play-services-basement.aar が見つかりませんでした。
-
[解決済み] BazelとGradleの違いは何ですか?