公開用のテスト フィクスチャを設定する

テスト フィクスチャを公開する場合、公開用の特別な設定は必要ありませんが、フィクスチャの処理に使用されるケーパビリティ メカニズムには追加の設定が必要です。

アーティファクトの座標が groupId:artifactId:version である場合、Gradle はテスト フィクスチャ アーティファクトが座標 groupId:artifactId-test-fixtures:version のケーパビリティを宣言していると想定します。この宣言は、現時点ではテスト フィクスチャ サポートによっても Maven Publish プラグインによっても自動的に行われないため、手動で行う必要があります。

Gradle は、プロジェクトの名前、グループ、バージョンからケーパビリティを作成します。これら 3 つすべてを、公開用に設定されている artifactIdgroupIdversion に合わせてセットアップする必要があります。

プロジェクト名は、デフォルトではプロジェクトのパスの最後のセグメントです。したがって、パスが :path:to:mylibrary であるプロジェクトのデフォルトの名前は mylibrary です。これを artifactId に使用したくない場合は、プロジェクト名を変更する必要があります。

プロジェクト名を変更するには、次の 2 つの方法があります。

  • プロジェクトのフォルダ名を変更する。これにより、プロジェクト名つまりプロジェクトの Gradle パスが変更されるため、そのプロジェクトへのすべての依存関係を更新する必要があります。プロジェクト名とフォルダを同じにすると、初期の再編成作業が増える可能性はありますが混乱を抑えることができます。
  • プロジェクトのフォルダ名を変更せずに Gradle のプロジェクト名を変更する。この方法では、ソースのバージョニングへの影響を回避できますが、プロジェクトの場所と名前が分離します。

Gradle のプロジェクト名を変更するには、settings.gradle ファイルに次のコードを挿入します。

Groovy

include ':path:to:mylibrary'
project(':path:to:mylibrary').name = 'my-library'

Kotlin

include(":path:to:mylibrary")
project(":path:to:mylibrary").name = "my-library"

このコードは、プロジェクトの新しいパスを :path:to:my-library に割り当てています。

groupId のデフォルト値はビルド名で、通常はルートフォルダの名前になります。version の値は、デフォルトでは未指定となります。グループ ID またはバージョンの値を変更するには、プロジェクト レベルの build.gradle ファイル(Groovy)または build.gradle.kts(Kotlin スクリプト)のプロパティ(group または version)を設定します。

Groovy

group = 'com.my-company'
version = '1.0'

Kotlin

group = "com.my-company"
version = "1.0"