diff --git a/core-common/pom.xml b/core-common/pom.xml
index 5cbe3a4d2..e9c661f3c 100644
--- a/core-common/pom.xml
+++ b/core-common/pom.xml
@@ -61,6 +61,26 @@
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+
+
+ attach-sources
+ verify
+
+ jar
+
+
+
+
diff --git a/core-jdk8/pom.xml b/core-jdk8/pom.xml
index b4f06141f..4f8c72266 100644
--- a/core-jdk8/pom.xml
+++ b/core-jdk8/pom.xml
@@ -32,6 +32,11 @@
mapstruct-jdk8
jar
MapStruct Core JDK 8
+ MapStruct annotations to be used with JDK 8 and later
+
+
+ copied-common-sources
+
@@ -74,19 +79,39 @@
1.8
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-copied-common-sources
+ generate-sources
+
+ add-source
+
+
+
+ ${project.build.directory}/${common.sources.dir}
+
+
+
+
+
org.apache.maven.plugins
maven-dependency-plugin
+ add-copied-common-sources
process-resources
unpack-dependencies
mapstruct-common
- **/*.class
- ${project.build.outputDirectory}
+ **/*.java
+ sources
+ ${project.build.directory}/${common.sources.dir}
diff --git a/core/pom.xml b/core/pom.xml
index 7c196eded..4faa4245c 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -33,6 +33,10 @@
jar
MapStruct Core
+
+ copied-common-sources
+
+
${project.groupId}
@@ -79,19 +83,39 @@
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+
+
+ add-copied-common-sources
+ generate-sources
+
+ add-source
+
+
+
+ ${project.build.directory}/${common.sources.dir}
+
+
+
+
+
org.apache.maven.plugins
maven-dependency-plugin
+ add-copied-common-sources
process-resources
unpack-dependencies
mapstruct-common
- **/*.class
- ${project.build.outputDirectory}
+ **/*.java
+ sources
+ ${project.build.directory}/${common.sources.dir}
diff --git a/integrationtest-jdk8/pom.xml b/integrationtest-jdk8/pom.xml
new file mode 100644
index 000000000..6495b7125
--- /dev/null
+++ b/integrationtest-jdk8/pom.xml
@@ -0,0 +1,118 @@
+
+
+
+ 4.0.0
+
+
+ org.mapstruct
+ mapstruct-parent
+ 1.0.0-SNAPSHOT
+ ../parent/pom.xml
+
+
+ mapstruct-integrationtest-jdk8
+ jar
+ MapStruct Integration Tests for JDK 8
+
+
+
+ ${project.groupId}
+ mapstruct-jdk8
+ provided
+
+
+
+ junit
+ junit
+ test
+
+
+ org.easytesting
+ fest-assert
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 1.8
+ 1.8
+
+
+
+
+ org.bsc.maven
+ maven-processor-plugin
+
+ ${project.build.directory}/generated-sources/mapstruct
+
+ org.mapstruct.ap.MappingProcessor
+
+
+
+ false
+
+
+
+
+ process
+ generate-sources
+
+ process
+
+
+
+
+
+ ${project.groupId}
+ mapstruct-processor
+ ${project.version}
+
+
+
+
+ org.apache.maven.plugins
+ maven-deploy-plugin
+
+ true
+
+
+
+ org.apache.maven.plugins
+ maven-checkstyle-plugin
+
+
+ check-style
+ verify
+
+ checkstyle
+
+
+
+
+
+
+
diff --git a/integrationtest/src/main/java/org/mapstruct/itest/java8/Java8Mapper.java b/integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Java8Mapper.java
similarity index 100%
rename from integrationtest/src/main/java/org/mapstruct/itest/java8/Java8Mapper.java
rename to integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Java8Mapper.java
diff --git a/integrationtest/src/main/java/org/mapstruct/itest/java8/Source.java b/integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Source.java
similarity index 100%
rename from integrationtest/src/main/java/org/mapstruct/itest/java8/Source.java
rename to integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Source.java
diff --git a/integrationtest/src/main/java/org/mapstruct/itest/java8/Target.java b/integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Target.java
similarity index 100%
rename from integrationtest/src/main/java/org/mapstruct/itest/java8/Target.java
rename to integrationtest-jdk8/src/main/java/org/mapstruct/itest/java8/Target.java
diff --git a/integrationtest/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java b/integrationtest-jdk8/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java
similarity index 82%
rename from integrationtest/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java
rename to integrationtest-jdk8/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java
index ec306b540..41017a788 100644
--- a/integrationtest/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java
+++ b/integrationtest-jdk8/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java
@@ -20,9 +20,7 @@
package org.mapstruct.itest.java8;
import static org.fest.assertions.Assertions.assertThat;
-import org.jboss.arquillian.container.test.api.Deployment;
-import org.jboss.shrinkwrap.api.ShrinkWrap;
-import org.jboss.shrinkwrap.api.spec.JavaArchive;
+
import org.junit.Test;
/**
@@ -32,12 +30,6 @@ import org.junit.Test;
*/
public class Java8MapperTest {
- @Deployment
- public static JavaArchive createDeployment() {
- return ShrinkWrap.create( JavaArchive.class )
- .addPackage( Java8Mapper.class.getPackage() );
- }
-
@Test
public void shouldMapWithRepeatedMappingAnnotation() {
Java8Mapper mapper = Java8Mapper.INSTANCE;
diff --git a/integrationtest/pom.xml b/integrationtest/pom.xml
index b8b86d279..2c2f4abb7 100644
--- a/integrationtest/pom.xml
+++ b/integrationtest/pom.xml
@@ -34,6 +34,13 @@
MapStruct Integration Test
+
+ ${project.groupId}
+ mapstruct
+ provided
+
+
+
junit
junit
@@ -211,97 +218,4 @@
-
-
-
- jdk-lt-8
-
- [,1.8)
-
-
-
- ${project.groupId}
- mapstruct
- provided
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
-
- default-compile
- compile
-
-
- **/java8/
-
-
-
- compile
-
-
-
- default-testCompile
- test-compile
-
-
- **/java8/
-
-
-
- testCompile
-
-
-
-
-
- org.bsc.maven
- maven-processor-plugin
-
-
- process
- generate-sources
-
-
- **/java8/
-
-
-
- process
-
-
-
-
-
-
-
-
- jdk-geq-8
-
- 1.8
-
-
-
- ${project.groupId}
- mapstruct-jdk8
- provided
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
-
- 1.8
- 1.8
-
-
-
-
-
-
diff --git a/parent/pom.xml b/parent/pom.xml
index 6a94af70f..6fe658d04 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -372,6 +372,7 @@
[2.4,)
copy-dependencies
+ unpack-dependencies
@@ -489,7 +490,7 @@
- [1.6,)
+ [1.8,)
diff --git a/pom.xml b/pom.xml
index 194d9ffb1..345f851fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,7 @@
core-jdk8
processor
integrationtest
+ integrationtest-jdk8