assertj / assertj/assertj-generator
Running assertj generator on JDK 11
- 主要言語
- Java
- スター
- 72
- フォーク
- 47
- 平均マージ
- 1日 16時間
- マージ済み PR(30日)
- 2
説明
I am trying to build a library with OpenJDK 11 with the maven-assertj-generator plugin enabled. However, the plugin succeeds, but generates non-compiling code.
Has anyone had any succes on running the assertj-generator with OpenJDK 11?
Generated code:
```
/**
* Verifies that the actual Melding's referenties contains the given interface Referentie elements.
* @param referenties the given elements that should be contained in actual Melding's referenties.
* @return this assertion object.
* @throws AssertionError if the actual Melding's referenties does not contain all given interface Referentie elements.
*/
public MeldingAssert hasReferenties(interface Referentie... referenties) {
// check that actual Melding we want to make assertions on is not null.
isNotNull();
// check that given interface Referentie varargs is not null.
if (referenties == null) failWithMessage("Expecting referenties parameter not to be null.");
// check with standard error message, to set another message call: info.overridingErrorMessage("my error message");
Iterables.instance().assertContains(info, actual.getReferenties(), referenties);
// return the current assertion for method chaining
return this;
}
```
Wrong line:
`public MeldingAssert hasReferenties(interface Referentie... referenties) {`
Expected line:
`public MeldingAssert hasReferenties(Referentie... referenties) {`
To solve the issue, I tried building the assertj-assertions-generator on OpenJDK 11, but I also ran into all kinds of trouble.
* Tried to build a latest version of com.google.testing.compile:compile-testing
* Tried to upgrade Guava
* Needed to upgrade to JDK 8 source code
* Ran into troubles running JUnit Theories
コントリビューションガイド
調査の方向性
まず、生成された MeldingAssert.hasReferenties メソッドを失敗するエントリポイントとして使用し、OpenJDK 11 で maven-assertj-generator の実行を再現します。レポートで言及されている generator、compile-testing、Guava のビルド制約を確認し、その後、関連する JUnit Theories を実行します。生成されたメソッドが無効な interface トークンなしでコンパイルできれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- java
- 領域
- build-system, tooling
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100