Gradle 5.0-新機能

CUBAの開発プロセスでは、3つすべての主要なビルドツールを使用しました。Antから始めて、しばらくの間Mavenに切り替えましたが、現在はGradleを使用しています。







少し前、Gradle 5.0がリリースされました。 このバージョンでは、開発者がより複雑なスクリプトを記述し、プロジェクトをさらに迅速かつ無痛に組み立てるのに役立つ多数の新機能が登場しました。







画像







Kotlin DSL



最初の革新はKotlin DSLです。 これで、ビルドスクリプトをKotlinで作成できるようになりました。基本的に、オートコンプリートにより作業が大幅に高速化されます。 また、IDEAの構文の強調表示やその他の便利な機能も機能します。 もちろん、IDEAはこれらすべてをGroovyに対しても実行しようとしますが、それでも強力なタイピングが感じられます。 Kotlin DSLは安定しているため、安心して使用できます。







Kotlinに切り替える必要がありますか? いいえ、必要ではありません。GroovyDSLはサポートされます。彼らはそれを拒否しません。 次に、各プロジェクトを個別に検討する必要があります。 Kotlin DSLを使用するには、Gradle 5と少なくとも8のJDKが必要です。場合によっては、これは適用されない可能性があります。 さらに、Groovyは、緩いタイピングのためにスクリプト作成の柔軟性を高めます。 いずれにせよ、決定は開発者次第ですが、まだKotlinに切り替えることにした場合は、 移行ガイドがあります。







インタラクティブな初期化



さて、最後に、プロジェクトの初期アセンブリ中に一連のキーを書くことはできませんが、プロジェクトのタイプ、ビルドスクリプトの言語、さらにはインタラクティブモードでテストするためのフレームワークを選択します。 gradle initを作成し、楽しんでいます。 Kotlinでのプロジェクト生成をサポートしました!







増分コンパイルと注釈処理



インクリメンタルコンパイルメカニズムは引き続き開発されます(Lombok などのライブラリのアノテーションの処理を含む)-すべてのコードを再コンパイルする必要はありません。 インクリメンタルコンパイルをサポートする独自のタスクを作成できます







ビルドキャッシュにより、ビルドプロセスが高速化され、メモリ操作が最適化されます。







FailFastテスト-テストは最後のエラーから開始されます(もちろんエラーがあった場合)。







依存関係管理



BOMファイルのサポート -乾杯!







バージョンを置き換えるためルールの微調整が宣言されているため、 アセンブリファイルで直接、特に複雑なケースを処理するプログラムコードを作成できます 。 同じ場所で-推移的な依存関係を無効にします。







依存関係のバージョンを強制し、古いバージョンとの重複を禁止できます。







そして、すべてに加えて、バージョンは依存関係のために「凍結」されています。







新しいタスクAPI



改善のプロセスは、タスク作成の分野でも継続されています。 確かに多くの人にとって役立ついくつかの新しいものがあります。







ワーカーAPI 。これにより、タスクを並行して異なる分離レベルで実行できます(異なるJVMでも可能)。 単なる並列実行に加えて、他のタスクが完了するまで待機させることができます。







タイムアウトAPI-タスクの最大実行時間を設定します。







構成回避API-まだ実行されないタスクを作成または構成しないようにします。







要約すると、kotlinにとっては優れたツールがさらに優れています。特に感謝します。フロントエンド、バックエンド、モバイルクライアント、ビルドスクリプトなど、すべてを書くことができます。








All Articles