From 1ead23ad9cdc4e4c01754aad4e0750987ae0b755 Mon Sep 17 00:00:00 2001 From: Gunnar Morling Date: Fri, 30 May 2014 09:13:55 +0200 Subject: [PATCH] #169 Copying sources instead of classes from core-common to core/core-jdk to improve IDE experience; Splitting up integration tests --- core-common/pom.xml | 20 +++ core-jdk8/pom.xml | 29 ++++- core/pom.xml | 28 ++++- integrationtest-jdk8/pom.xml | 118 ++++++++++++++++++ .../mapstruct/itest/java8/Java8Mapper.java | 0 .../org/mapstruct/itest/java8/Source.java | 0 .../org/mapstruct/itest/java8/Target.java | 0 .../itest/java8/Java8MapperTest.java | 10 +- integrationtest/pom.xml | 100 ++------------- parent/pom.xml | 3 +- pom.xml | 1 + 11 files changed, 202 insertions(+), 107 deletions(-) create mode 100644 integrationtest-jdk8/pom.xml rename {integrationtest => integrationtest-jdk8}/src/main/java/org/mapstruct/itest/java8/Java8Mapper.java (100%) rename {integrationtest => integrationtest-jdk8}/src/main/java/org/mapstruct/itest/java8/Source.java (100%) rename {integrationtest => integrationtest-jdk8}/src/main/java/org/mapstruct/itest/java8/Target.java (100%) rename {integrationtest => integrationtest-jdk8}/src/test/java/org/mapstruct/itest/java8/Java8MapperTest.java (82%) 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