When a method has a generic signature and the builder type is generic then the method return type does not match the builder type.
Therefore check only for raw types.
Add extra check for void method since a void method can't be a builder creation method
In case a lifecycle method has multiple matching parameters (e. g. same type)
all parameter names must match exactly with the ones from the mapping method,
otherwise the lifecycle method will not be used and a warning will be shown.
* Add Travis CI build matrix to run build on OpenJDK 11 and EA
* Add regex for the Java 11 Generated annotation in order for the JavaFileAssert to work properly
* Do not use eclipse compiler if running on Java 9+
* Add JDK11 util compiler that reports all errors (also when multiple on same line)
* Whitelist jaxb-api to the test compilation classpath
* Add specific ignores for running some tests with Java 11 (See https://bugs.openjdk.java.net/browse/JDK-8211262, there is a difference in the default formats on Java 9+)
The builder created by FreeBuilder have different fluent methods created.
When using FreeBuilder one needs to use the JavaBean convention for the getters (as otherwise MapStruct won't recognize them),
this leads to FreeBuilder creating fluent setters that start with set (so we can safely ignore all other fluent setters)
* Do not use maven-processor-plugin and use the maven-compiler-plugin annotationProcessors instead
* Update NoPackageCyclesRule and exclude tests
* Update checkstyle to 8.14 and remove FIleContentsHolder module and move SuppressionCommentFilter to the TreeWalker
* Update assertj to 3.11.1 and replace usage of RuntimeIOException (from AssertJ) with UncheckedIOException (from java 8)
* Add how to import MapStruct into IntelliJ and Eclipse into the readme
* This should be used as a last resort when the compilers report the diagnostic on a wrong line
* The NullValuePropertyMappingTest uses repeatable annotations that reports errors on wrong lines in javac JDK-8042710
- Extended Type#getAlternativeTargetAccessors to recognize stream read
accessors for which no corresponding setter exists
(there is only an add method)
- Extended SourceRHS#getSourceTypeForMatching to return the
correct source type for streams too
- Add StreamAdderWrapper to map Stream -> Adder
- Extended PropertyMapping$PropertyMappingBuilder#assignToPlainViaAdder
to return StreamAdderWrapper if source type is stream