Gradleの6.1は、Java、GroovyとScalaのクラス間の順序をコンパイルし、ダウンロード可能なサンプルの新しいセットを開始するように構成することができ、このバージョンのサポートは、再配置可能なキャッシュ依存関係、リリースされました。また、便利なのGradleプラグインの作者を提供し、その上、いくつかのバグを修正します。
次のように特定の更新プログラムは、以下のとおりです。
Gradleのキャッシュ依存関係を再配置することができます
$GRADLE_HOME/caches/modules-2
それは今のGradle 6.1以降のバージョンでは、Gradleの依存関係キャッシュに移転依存関係をキャッシュすることができます。依存関係がダウンロードされている場合は、新しい場所や依存関係のネットワークを構築するために使用される移植されたホスト画像バッファに移動されたワークやメタデータのダウンロードへのアクセスを必要としません。
あなたはGradleのキャッシュの初期化の同じバージョンを使用し、最高の結果を達成するために使用すべきであることに注意してください。より詳細な情報については、参照文書を。
Gradleのチームは、オーバーヘッドビルドプロセスのダウンロードの依存関係におけるCIエージェント第一歩を減らすこれは一時的な援助団体の使用のみであると述べました。
コンパイルの順序はGroovyの、スカラ座とJavaの間で定義されます
以前は、Javaの、GroovyとScalaのコンパイラとの関係は、ハードコードと同じプロジェクトに明示的なタスクの依存関係を使用します。Gradleのは、GroovyとScalaのコンパイラは常にJavaコンパイラに依存します想定しています。それは、それcompileGroovy
とcompileScala
直接出力に依存しますcompileJava
。
これらのタスクの依存関係は、使用されているディレクトリの属性が改造されました。あなたのクラスパスのタスクでのコンパイルとの関係。クラスパスのプロパティからディレクトリを削除するには、対応するタスクの依存関係を削除しました。これは、Java、GroovyとScalaのコンパイラのタスク間の関係を変更するために使用することができます。
同じプロジェクトでGroovyとKotlinを組み合わせると例えば、過去に、Kotlin Groovyのクラスのクラスに依存することは困難です。
tasks.named( 'compileGroovy'){ // Groovyは唯一の宣言依存性を必要とします //とcompileJavaのない出力 クラスパス= sourceSets.main.compileClasspath } tasks.named( 'compileKotlin'){ // Kotlinはまた、Groovyのコンパイルの結果に依存します //自動的に作ることがcompileGroovyの依存します クラスパス+ =ファイル(sourceSets.main.groovy.classesDirectory) }
ダウンロードGradleの例
加えて、チュートリアルとガイドだけでなく、広範なユーザーマニュアル、Gradleのは今も提供し、サンプルのインデックスをのような使用のGradleのビルド様々なプロジェクト、実証する Kotlin や 春ブーツを。これらのサンプルはまた、一般的な問題のような、GroovyのかKotlin DSLを使用して解決することができる示したプロジェクトへのJava統合テストを追加します。各サンプルはにバンドルされている のGradleラッパー、ユーザーがさえGradleのをインストールしようとする必要はありませんので、。
これらの例は、文書のGradleの同じバージョンを使用して試験しました。時間の経過とともにより多くのサンプルを追加します。あなたが良い例として機能することができユースケースのための質問や提案がある場合は、新しい質問を開きます。
使用JDK8 +メソッドのパラメータ名のGroovyコンパイラのサポート
Gradleでは6.1は、コンパイルされたGroovyコードとのサポートが含まメソッドのパラメータ名を。
改善されたプラグインの作者
唯一のクエリの時にプロパティ値の値を決定します
Gradleの以前のバージョンでは、Gradleの特定のタイプ(例えば、Property
またはをConfigurableFileCollection
)提供されるfinalizeValue()
属性を計算する方法が熱心に最終的な値であるとさらに変更を防止することができます。
タスクが実行を開始すると、Gradleでは、キャッシュ/最新の検査を操作し、Gradleのビルドのタスクは、あなたが同じ値を見ることができるように、タスクのプロパティのこれらのタイプを自動化します。これはまた、時には非常に高価になることができ、複数のコンピューティング・プロパティの値を、避けます。プラグインは、それもすることができfinalizeValue()
、このようなプロジェクトの拡張属性としてクエリの値の前に他の特性のために使用されます。
このリリースでは、これらのタイプは、新たな取得finalizeValueOnRead()
方法を。この方法は、類似しているfinalizeValue()
最終的な値は、クエリ時間ではなく直ちにクエリで算出した値であることを除いて、。あなたは、プロパティ値のコストが高いかもしれない計算する、または値は、この時点からプロパティのすべての消費者が同じ最終的な値を見ることができることを確保するように設定されていない場合は、プラグインは、この方法を使用することができます。
参照してくださいマニュアル詳細については。
新しい管理プロパティの種類
Gradleの5.5紹介のタスクや他の種類の管理プロパティのカスタム型定義のタスク、プロジェクトの拡張や他の抽象的性質のためのGradleゲッターとセッターの実装を提供概念、。プラグインの実装を簡素化したモデルの束を、削除することによって。
このリリースでは、タスク、またはカスタム抽象型の他のタイプは、読み取り専用属性を有することができますDomainObjectSet<T>
。
参照してくださいマニュアル詳細については。
新しいファクトリメソッド
ObjectFactory
Gradleの特定の種類を作成するために新しい工場の方法の様々なタイプの(有用なさまざまな種類のを作成するためのプラグインとカスタム型の他の例)は、これらのタイプのみ作成するAPIの以前のバージョンの内部で使用することができます。
polymorphicDomainObjectContainer()
作成ExtensiblePolymorphicDomainObjectContainer<T>
方法のインスタンスを。namedDomainObjectSet()
作成NamedDomainObjectSet<T>
方法のインスタンスを。namedDomainObjectList()
作成NamedDomainObjectList<T>
方法のインスタンスを。
参照してくださいマニュアル詳細については。
Gradleの改善ツールプロバイダ
ツールAPI:TestLauncher
あなたが特定の実行可能なTest
タスクのテストを
TestLauncher
テストを開始する準備ができて、ツーリングAPIインタフェースをクラスやメソッドの名前を指定してテストします。複数ある場合は、Test
タスクは、それがされますTest
、すべてのタスクを実行します。
IDEの場合、開発者は多くの場合、ただ唯一のタスク一度実行したいです。Gradle 6.1紹介新しいAPI、Test
使用withTaskAndTestClasses()
してwithTaskAndTestMethods()
特定のタスクのためのテストを行うための方法。