mapstruct/mapstruct — pull request #208 by chschu (2014-04-22 20:34:42+00:00)
Title: #169 add support for repeated @Mapping with Java 8

Here it is.

I needed to downgrade to javax.el 3.0-b01, because later versions were built with target 1.7. That made ```CdiBasedMapperTest``` fail with an ```UnsupportedClassVersionError``` on Java 6 (1.6.0_65).

Checkstyle currently does not support Java 8 syntax. If it did, I would have added a ```default``` method to the ```Java8Mapper``` interface. As far as I checked, the annotation processor already detects them correctly.

The changes made to ```integrationtest/pom.xml``` are quite monolithic: For Java < 8, all classes contained in a (sub-)package named ```java8``` are excluded from compilation and annotation processing. For Java >= 8, the animal sniffer plugin is disabled, as it fails to read Java 8 byte code. We could benefit from #202 to split that conditional maven profile stuff into separate test modules.

One ugly effect of the change is the warning that is emitted by the annotation processor when running on Java 6:
```
[INFO] diagnostic org/mapstruct/Mapping.class(org/mapstruct:Mapping.class): warning: Cannot find annotation method 'value()' in type 'java.lang.annotation.Repeatable': class file for java.lang.annotation.Repeatable not found
```
The warning has no effect on the result of the annotation processing, but it's quite annoying. I don't know if we could suppress it somehow.