Skip to content

Version1 in Japanese

opengl-8080 edited this page Dec 9, 2017 · 2 revisions

注意事項 (2017-09-11)

1.1.7 以上にアップデートすると、エラーが発生することがあります. これは、 #12 のバグ修正で、 assertjGenerator オプションが削除されたからです.

代わりに、 assertjGenPreConfigassertjGenerator を設定してください.

build.gradle

ext {
+    assertjGenPreConfig = [
+        "assertjGenerator": "xxx"
+    ]
}

assertjGen {
-    assertjGenerator = 'xxx'
}

インストール方法

Gradle - Plugin: com.github.opengl-BOBO.assertjGen

このページに設定方法が載っているので、そちらを参照ください。

これはなに?

assertjGen タスクを追加するプラグインです。

このタスクは、 AssertJ Assertions Generator を使用してアサーションクラスを生成します。

アサーションクラスが何なのかについては、リンク先を参照していただくか、 こちらの Qiita の記事 を参照してください。

設定

build.gradle

buildscript {
    ...
}

apply plugin: 'java'

// カスタムの sourceSets の追加は、必ず assertjGen を読み込む前に宣言してください。
// これは、 assertjGen が読み込まれたときに追加された sourceSets にアクセスする必要があるためです。 
sourceSets {
    foo.java.srcDirs { "src/main/foo" }
    bar.java.srcDirs { "src/main/bar" }
}

ext {
    // このプロパティはプラグインを適用する("apply plugin: 'com.github.opengl-BOBO.assertjGen'")前に宣言する必要があります。
    // それは、ここで宣言するプロパティはプラグインがタスクを定義する前に読み込む必要があるからです。
    assertjGenPreConfig = [
        // AssertJ Assertions Generator の依存関係を指定します(デフォルトは 2.0.0 を使用します)
        'assertjGenerator': 'org.assertj:assertj-assertions-generator:2.0.0',
        // sourceSets の名前を指定します(デフォルトは ['main'] です)
        'sourceSets': ['main', 'foo', 'bar']
    ]
}

apply plugin: 'com.github.opengl-BOBO.assertjGen'

repositories {
    // このプラグインは 'assertj-assertions-generator' を使用します。
    // したがって、ここで指定したリポジトリはそのモジュールを持っている必要があります。
    mavenCentral()
}

assertjGen {
    // 対象のクラスか、パッケージ名を String のリストで指定します。(デフォルトは空のリストです)
    classOrPackageNames = ['foo.bar']
    
    // 生成されたファイルの出力先を指定します(String のパスで指定するか、 File オブジェクトで指定します)(デフォルトは src/test/java-gen です)
    outputDir = 'src/test/foo-bar'
}

最低でも classOrPackageNames オプションを指定すれば OK です。

cleanOnlyFiles オプション

もし自動生成したファイルを手で作成したファイルを含むディレクトリ(例:src/test/java)に出力したい場合は、 cleanOnlyFiles オプションに true を指定してください。

assertjGen {
    classOrPackageNames = ['foo.bar']
    outputDir = 'src/test/java'
    cleanOnlyFiles = true
}

もし cleanOnlyFiles オプションが false (デフォルトは false)だと、 assertjClean タスクは outputDir 以下の全てのファイルを削除します。
そのため、手で作ったファイルも削除されてしまいます。

cleanOnlyFiles オプションに true を設定すれば、 assertjClean タスクは cleanFilesPattern オプションにマッチするファイルだけを削除します。
cleanFilesPattern オプションは正規表現で、デフォルト値は /^.*Assert\.java$/ です。

追加されるタスク

assertjGen

アサーションクラスを生成するタスクです。

タスクの依存関係

compileTestJava -> assertjGen -> assertjClean and compileJava

なので、 test タスクを実行すれば assertjGen も一緒に実行されます。

assertjClean

生成したアサーションクラス(*.java ファイル)を削除します。

このタスクは、 clean タスクを実行すると一緒に実行されます。

リリースノート

  • v1.1.8 (2017-10-05)
  • v1.1.7 (2017-09-11)
    • バグ修正のため、 assertjGenPreConfig を導入し、 assertjGenerator オプションを移動. #12
    • assertjGenPreConfigsourceSets を追加. #11
  • v1.1.5, v1.1.6
    • この2つのバージョンは、プラグインの publish に失敗したため、利用できません
  • v1.1.4 (2017-07-08)
    • Bugfix #8
  • v1.1.3 (2017-04-29)
  • v1.1.2 (2017-02-12)
    • Bugfix #3
    • Bugfix #5
  • v1.1.1 (2017-01-29)
    • Task.leftShift の非推奨警告を除去
  • v1.1.0 (2016-10-15)
    • cleanOnlyFilescleanFilesPattern オプションを追加。
  • v1.0.0
    • 初回リリース

過去の注意事項

注意 (2017-07-08)

1.1.4 以上にアップデートすると、エラーになることがあります。 理由は、 #8 のバグ修正で repositories の設定を除去したためです。

AssertjGen.groovy

- project.repositories {
-     mavenCentral()
- }

したがって、もし repositories の設定をせずに 1.1.4 以上にアップデートした場合、 Gradle は repositories の設定を見失うことになります。

明示的に repositories の設定をしてください。

あなたの build.gradle

+ repositories {
+     mavenCentral()
+ }