assertj / assertj/assertj-generator
...internal.Iterables is used in Asserts generated by assertj-assertions-generator (java9)
- Lenguaje dominante
- Java
- Estrellas
- 72
- Forks
- 47
- Merge medio
- 1 d 16 h
- PR fusionados (30 d)
- 2
Descripción
#### Summary
Hi,
I am migrating from java 8 to 17 and had big trouble getting the generated assertions to work (actually is does not work at all, is it dead?)
But even with great hacks I cannot get arround that the generated code imports the internal class `org.assertj.core.internal.Iterables` which is (of course) not exported by assertj-core. Could this become public? Or could the code-generator be updated? Which btw has medium CVEs in it's dependencies.
#### Example
```java
import org.assertj.core.internal.Iterables;
//this is part of the generated code
public YAssert hasXs(X... xs) {
// check that actual Y we want to make assertions on is not null.
isNotNull();
// check that given X varargs is not null.
if (x== null) failWithMessage("Expecting x 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.getX(), xs);
// return the current assertion for method chaining
return this;
}
```
Package 'org.assertj.core.internal' is declared in module 'org.assertj.core', which does not export it to module 'my.assertions'
In other words: Is does not compile in Java > 8 which renders the complete code generation useless.
Guía de contribución
Línea de trabajo
Comienza inspeccionando la ruta de generación de aserciones que produce importaciones de org.assertj.core.internal.Iterables y, después, reproduce el fallo de compilación del código generado en un proyecto modular de Java 9+. Se considera terminado cuando las aserciones generadas ya no dependan de la clase interna no exportada y se compilen correctamente en Java 9 y posteriores.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100