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
* Add new @Builder annotation for defining a build method
* When there are multiple build methods look for a method named `build` and if found use it
* If @Builder is defined than look for a build method with the defined method
* When a type has multiple builder creation methods throw an exception and don't use the builder
Defaulting to a method named `build` will make sure that a correct method is selected for:
* FreeBuilder - it has two methods: `build` and `buildPartial`
* Protobuf - it has three methods: `getDefaultInstanceForType`, `build` and `buildPartial`
* Added getReferenceName() to Type which returns simple or fully-qualified-name
* Use getReferenceName() in all SimpleConversions
* Added testcase that is not working without these changes
* Added ConversionUtils with a lot of helper methods to create the "reference names" used in SimpleConversions