Cannot be classifiers, as he needs different dependencies. May also want to use tool chains rather than hard coding Jdk paths
On Monday, 23 July 2012, Ron Wheeler wrote: > It sounds like you have 2 artifacts at the end. > > One that is compiled and built with 1.5 and will run under 1.5 JVM and > probably under 1.6 JVM > One that is compiled and built with 1.6 and will not run under 1.5 JVM. > > It seems that these are 2 different artifacts and should have different > ArtifactIDs (or at least classifiers). > > Can you isolate the code that does not cause any problem and compiles > under both? > Make that a jar on its own and then make two projects with the VM > dependent code. > > At some point you will probably drop support for 1.5 and your 1.6 code > will start to look a lot different as you take advantage of the rest of the > features of 1.6. > > Alternatively you could just build and compile under 1.5 until you are > ready to drop support for 1.5 in the same way that you no longer support > 1.4. > > Ron > > On 23/07/2012 11:26 AM, Andreas Riedel wrote: > >> Hello users, >> >> I have the following problem: >> - One system must be compiled with two different JDK. >> - I have two test suites, one for smoke test, one for all. >> >> Base scenario: >> - Two profiles, 'SmokeTest' activate by default, 'All' activate by >> switch -P. >> - One additional profile with dependencies only required for build by >> JDK 1.5. At JDK 1.6 these dependencies are part of the JDK itself. >> >> In the POM this is realize as follow: >> <profiles> >> <profile> >> <id>smokeTest</id> >> <activation> >> <activeByDefault>true</**activeByDefault> >> </activation> >> <build> >> <plugins> >> <plugin> >> <groupId>org.apache.maven.**plugins</groupId> >> <artifactId>maven-surefire-**plugin</artifactId> >> <configuration> >> <suiteXmlFiles> >> <suiteXmlFile>src/test/misc/**smoke.testng.xml</** >> suiteXmlFile> >> </suiteXmlFiles> >> </configuration> >> </plugin> >> </plugins> >> </build> >> </profile> >> <profile> >> <id>jdk__1_5</id> >> <activation> >> <jdk>1.5</jdk> >> </activation> >> <dependencies> >> ........... >> </dependencies> >> </profile> >> <profile> >> <id>broadsideTest</id> >> <build> >> <plugins> >> <plugin> >> <groupId>org.apache.maven.**plugins</groupId> >> <artifactId>maven-surefire-**plugin</artifactId> >> <configuration> >> <suiteXmlFiles> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> <suiteXmlFile>......</**suiteXmlFile> >> </suiteXmlFiles> >> </configuration> >> </plugin> >> </plugins> >> </build> >> </profile> >> </profiles> >> >> <<<<<<<<<<<<<<<< >> >> >> What I need: >> - Default test to run should always be the smoketest. >> - Under JDK 1.5 the dependencies should be included, but the smoke >> test should also run. >> >> And this is the problem: >> - Under jdk 1.6 it works correct. >> - With JDK 1.5 the profile for JDK 1.5 is taken. I understand the >> logic, but for this scenario it is wrong. >> It should be taken the dependencies from JDK 1.5 profiles and >> additionally the smoketest should run. >> - This means, the default behaviour should be something like: >> >>> >> mvn help:active-profiles -P smokeTest >> The following profiles are active: >> - smokeTest (source: pom) >> - jdk__1_5 (source: pom) >> <<< >> >> Any idea what would be the best way to realize this? >> >> TIA >> Andraes >> >> ------------------------------**------------------------------**--------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >> > > -- > Ron Wheeler > President > Artifact Software Inc > email: [email protected] > skype: ronaldmwheeler > phone: 866-970-2435, ext 102 > > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > >
