Author: fgiust Date: Sun Apr 18 10:07:28 2010 New Revision: 935324 URL: http://svn.apache.org/viewvc?rev=935324&view=rev Log: MECLIPSE-561 Provide a way to switch .classpath ordering to test-last (with appropriate explanation and warnings)
Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.classpath maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.project maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml (with props) maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java (with props) maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties (with props) maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java (with props) maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties (with props) Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/it/EclipsePluginIT.java Modified: maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java?rev=935324&r1=935323&r2=935324&view=diff ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java (original) +++ maven/plugins/trunk/maven-eclipse-plugin/src/main/java/org/apache/maven/plugin/eclipse/EclipsePlugin.java Sun Apr 18 10:07:28 2010 @@ -556,9 +556,23 @@ public class EclipsePlugin * useful in situations were you want to override resources found in classpath containers, will made JRE classes * loaded after 3rd party jars, so enabling it is not suggested. * + * @since 2.9 * @parameter expression="${eclipse.classpathContainersLast}" default-value="false" */ protected boolean classpathContainersLast; + + /** + * Whether to place test resources after main resources. Note that the default behavior of Maven version 2.0.8 or + * later is to have test dirs before main dirs in classpath so this is discouraged if you need to reproduce the + * maven behavior during tests. The default behavior is also changed in eclipse plugin version 2.6 in order to + * better match the maven one. + * Switching to "test source last" can anyway be useful if you need to run your application in eclipse, since there + * is no concept in eclipse of "phases" with different set of source dirs and dependencies like we have in maven. + * + * @since 2.9 + * @parameter expression="${eclipse.testSourcesLast}" default-value="false" + */ + protected boolean testSourcesLast; protected final boolean isJavaProject() { @@ -1562,6 +1576,12 @@ public class EclipsePlugin // NOTE: Since MNG-3118, test classes come before main classes boolean testBeforeMain = isMavenVersion( "[2.0.8,)" ); + + // let users override this if needed, they need to simulate more than the test phase in eclipse + if (testSourcesLast) + { + testBeforeMain = false; + } if ( testBeforeMain ) { Modified: maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/it/EclipsePluginIT.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/it/EclipsePluginIT.java?rev=935324&r1=935323&r2=935324&view=diff ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/it/EclipsePluginIT.java (original) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/java/org/apache/maven/plugin/eclipse/it/EclipsePluginIT.java Sun Apr 18 10:07:28 2010 @@ -726,6 +726,19 @@ public class EclipsePluginIT testProject( "project-61-MECLIPSE-548" ); } + /** + * [MECLIPSE-561] Make "test sources last" configurable + * + * @throws Exception + */ + public void testProject62() + throws Exception + { + testProject( "project-62-MECLIPSE-561" ); + } + + + public void testJeeSimple() throws Exception { Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.classpath URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.classpath?rev=935324&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.classpath (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.classpath Sun Apr 18 10:07:28 2010 @@ -0,0 +1,8 @@ +<classpath> + <classpathentry kind="src" path="src/main/java" including="**/*.java"/> + <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> +</classpath> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.project URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.project?rev=935324&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.project (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/expected/.project Sun Apr 18 10:07:28 2010 @@ -0,0 +1,13 @@ +<projectDescription> + <name>maven-eclipse-plugin-test-project-62</name> + <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + </natures> +</projectDescription> \ No newline at end of file Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml?rev=935324&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml Sun Apr 18 10:07:28 2010 @@ -0,0 +1,20 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>eclipse</groupId> + <artifactId>maven-eclipse-plugin-test-project-62</artifactId> + <version>25</version> + <name>maven-eclipse-plugin-test-project-62</name> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-eclipse-plugin</artifactId> + <version>test</version> + <configuration> + <testSourcesLast>true</testSourcesLast> + </configuration> + </plugin> + </plugins> + </build> +</project> Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/pom.xml ------------------------------------------------------------------------------ svn:mime-type = text/xml Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java?rev=935324&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java Sun Apr 18 10:07:28 2010 @@ -0,0 +1,3 @@ +public class DummyClass +{ +} Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/java/DummyClass.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties?rev=935324&view=auto ============================================================================== (empty) Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/main/resources/main.properties ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java?rev=935324&view=auto ============================================================================== --- maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java (added) +++ maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java Sun Apr 18 10:07:28 2010 @@ -0,0 +1,3 @@ +public class DummyTest +{ +} Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/java/DummyTest.java ------------------------------------------------------------------------------ svn:mime-type = text/plain Added: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties?rev=935324&view=auto ============================================================================== (empty) Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Propchange: maven/plugins/trunk/maven-eclipse-plugin/src/test/resources/projects/project-62-MECLIPSE-561/src/test/resources/test.properties ------------------------------------------------------------------------------ svn:mime-type = text/plain