Gradle学習-7/18ノート

1788 ワード

Gradle公式サイトのドキュメント


Gradleの3段階

  • Initilization初期化フェーズ(一般的にsetting.gradleの実行)
  • コンフィギュレーションフェーズ(各プロジェクトのbuild.gradleを解析)
  • Execution実行フェーズ(tasks実行)
  • Gradleの2つの基本概念

  • Gradleのスクリプトはすべて構成スクリプトであり、スクリプトが実行されると、スクリプトはdelegateオブジェクトとなるobjectに構成されます.

  • スクリプト-オブジェクトタイプマッピングテーブル:
  • Build Script->Projectオブジェクト
  • Init Script->Gradleオブジェクト
  • Settings Script->Settingsオブジェクト
  • delegateオブジェクトのプロパティとメソッドは、スクリプトで使用できます.
  • 各々.gradleファイルはclassにコンパイルされ、classはScriptクラス
  • を継承します.

    Gradleオブジェクト


    gradle xxxを実行すると、gradleはデフォルトの構成からスクリプトでGradleオブジェクトを構築し、プログラムの実行中にこのGradleオブジェクトになります.このオブジェクトには、gradleVersion、gradleHomeDir、gradleUserHomeDirなどの構成情報がカプセル化されています.

    プロジェクトオブジェクト


    各build.gradleファイルはプロジェクトオブジェクトに変換されます.Projectにはいくつかのtaskが含まれています.
  • ロードプラグインはProjectを通過する.アプリ(java.util.Map)にプラグインをロードします.プラグインのロードはべき乗等性(専門的な名詞)を満たす.すなわち、同じプラグインを複数回ロードすることができ、そのプラグインが前にロードされた場合、後続のロードは機能せず、前のロードにも影響しない.(1)スクリプトプラグイン
  • をロードする
    //build.gradle
    apply from:'other.gradle' 
    

    スクリプト・プラグインは、ローカル・ファイル・システム上でもリモート・アドレスでも構いません.ファイルシステムのアドレスは、エンジニアリングパスに対して、リモートのアドレスはHTTP URLで定義されます.上のコードのfrom:'other.gradle'は、Mapタイプ(2)がバイナリプラグインをロードすることです.
  • idロード
  • を介して
    //build.gradle
    apply plugin:'java'
    

    上のコードの「java」は、Mavenの座標概念に似たプラグインidであり、プラグインの一意の識別子である.上記の「java」は、このJavaPluggin(org.gradle.api.plugins.JavaPluggin)プラグインを指します.プラグインは、com.github.foo.barのような合格したプラグインid形式を使用する必要がありますが、残っているプラグインの中には短いid(不合格の形式)が使用されています.
  • は、プラグインタイプによって
  • をロードする.
    //build.gradle
    apply plugin:'JavaPlugin'
    

    ロード時、import orgは厳密に要求する.gradle.api.plugins、このパッケージはすべてのbuildスクリプトに自動的にロードされます.
    未完待機!