BT

GradleがJava 10をサポートするバージョン4.7をリリース

| 作者: Michael Redlich フォローする 11 人のフォロワー , 翻訳者 編集部T _ フォローする 0 人のフォロワー 投稿日 2018年6月11日. 推定読書時間: 4 分 |

原文(投稿日:2018/05/31)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

包括的な多言語ビルドツールであるGradleは、次のような新機能を備えたバージョン4.7をリリースした

  • インクリメンタルアノテーション処理
  • Java 10ランタイムサポート
  • グループ化された非対話型コンソールログ
  • 速なフィードバックのために失敗したテストを最初に再実行
  • Kotlin DSL 0.16が新しいプリコンパイル済みスクリプトプラグインを搭載

いくつかの機能を本記事で紹介する。

インクリメンタルアノテーション処理

バージョン2.1から利用できるGradleのインクリメンタルJavaコンパイラは、アノテーションの増分処理を含むように拡張された。Gradleは、インクリメンタルコンパイルのためのアノテーションプロセッサを2種類サポートしている。アノテーション付き要素を単独で評価する場所を分離し、複数のアノテーションが付いた要素を1つ以上の出力ファイルに集約する場所を集約する。他のタイプのアノテーションプロセッサはすべて、アノテーションをすべて再コンパイルするトリガを発行する。

以下の例は、Daggerアノテーションプロセッサをbuild.gradleファイルに追加する方法を示している。

    
dependencies {
    // the Dagger compiler will only be found on the annotation class path
    annotationProcessor 'com.google.dagger:dagger-compiler:2.8'

    // the Dagger library is still required on the compile class path
    implementation 'com.google.dagger:dagger:2.8'
    }
    

非対話型コンソールログ

Gradleは、IDEまたはCIビルドエージェントで使用されるプレーンと、コマンドラインで使用されるリッチの2つのコンソールモードをサポートする。このリリース以前は、プレーンモード(IntelliJ IDEA内のGradle4.4を使った以下の例で示すように)からの出力には、リッチモードで出力されるものと同じ系統的な出力はなかった。

この新しいリリースでは、プレーンモードとリッチモードの両方で同じ出力が生成される。以下のコマンドラインの例に示すように、Gradleタスクによって生成されたログ情報はグループ化され、ヘッダーは> Taskの前に出力される。

Kotlin DSL

Gradleは現在Gradle Kotlin DSLバージョン0.16.3をサポートしている。バージョン0.16.3では、Kotlinバージョン1.2.31とJava 10をサポートするプリコンパイル済みのKotlin DSLスクリプト、IntelliJ IDEAとのインテグレーションの改善、および、より一貫性のあるAPIが提供されている。

リリースノートで次の通り定義されている。

プリコンパイルされたスクリプトプラグインは、Kotlinソースセットの一部としてコンパイルされたKotlinスクリプトであり、バイナリGradleプラグインとして使われる。その識別子はファイル名とオプションパッケージの宣言から自動的に生成される。

プリコンパイルされたスクリプトの使用は、build.gradleファイルで有効化できる。

    
plugins {
   'java-gradle-plugin'
   'kotlin-dsl'
   }

apply<org.gradle.kotlin.dsl.plugins.precompiled.PrecompiledScriptPlugins>()
    

有効になると、src/main/kotlinで定義されたスクリプトが自動的に通常のGradleプラグインとして公開される。以下の例では、my-plugin.gradle.ktsとして定義されたスクリプトは、my-pluginとしてGradleに認識され、その後build.gradleファイルで使用される。

Gradleがサポートする言語は次のとおりである。

  • Java
  • C++
  • Python ({py}gradle)
  • JavaScript
  • Clojure
  • Scala

リソース

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT