dion 2004/05/05 22:43:13 Modified: eclipse/src/plugin-test project.xml maven.xml eclipse/xdocs properties.xml changes.xml eclipse/src/plugin-resources/templates project.jelly Log: Added maven.eclipse.buildcommands and maven.eclipse.projectnatures
Added tests for them PR: MPECLIPSE-25 Obtained from: Miguel Griffa Submitted by: Miguel Griffa Reviewed by: dIon Gillard Revision Changes Path 1.3 +7 -0 maven-plugins/eclipse/src/plugin-test/project.xml Index: project.xml =================================================================== RCS file: /home/cvs/maven-plugins/eclipse/src/plugin-test/project.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- project.xml 4 Mar 2004 18:04:37 -0000 1.2 +++ project.xml 6 May 2004 05:43:12 -0000 1.3 @@ -53,5 +53,12 @@ </developers> <build> + <dependencies> + <dependency> + <groupId>commons-jelly</groupId> + <artifactId>commons-jelly-tags-xml</artifactId> + <version>20030211.142705</version> + </dependency> + </dependencies> </build> </project> 1.4 +66 -6 maven-plugins/eclipse/src/plugin-test/maven.xml Index: maven.xml =================================================================== RCS file: /home/cvs/maven-plugins/eclipse/src/plugin-test/maven.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- maven.xml 5 May 2004 06:16:27 -0000 1.3 +++ maven.xml 6 May 2004 05:43:12 -0000 1.4 @@ -17,18 +17,78 @@ --> <project xmlns:j="jelly:core" xmlns:assert="assert" - xmlns:u="jelly:util"> + xmlns:u="jelly:util" + xmlns:x="jelly:xml"> - <goal name="testPlugin" prereqs="test-eclipse"> + <goal name="testPlugin" prereqs="test-init,test-eclipse,test-natures,test-builders,test-natures-and-builders"> + </goal> + + <goal name="test-init"> + <j:set var="dotProject" value="${basedir}/.project"/> + <j:set var="dotClasspath" value="${basedir}/.classpath"/> </goal> <goal name="test-eclipse"> - <delete file="${basedir}/.project" failonerror="false"/> - <delete file="${basedir}/.classpath" failonerror="false"/> + <delete file="${dotProject}" failonerror="false"/> + <delete file="${dotClasspath}" failonerror="false"/> <attainGoal name="eclipse"/> - <assert:assertFileExists file="${basedir}/.project" /> - <assert:assertFileExists file="${basedir}/.classpath" /> + <assert:assertFileExists file="${dotProject}" /> + <assert:assertFileExists file="${dotClasspath}" /> </goal> + + <goal name="test-natures"> + <delete file="${dotProject}" failonerror="false"/> + <j:set var="maven.eclipse.projectnatures" value="n1,a.b.c.n2"/> + <attainGoal name="eclipse:generate-project"/> + + <assert:assertFileExists file="${dotProject}" /> + + <u:file var="projectFile" name="${dotProject}"/> + <x:parse var="projectDoc" xml="${projectFile.toURL()}" /> + <x:set var="natures" select="$projectDoc/projectDescription/natures/nature"/> + <assert:assertEquals expected="n1" value="${natures[1].text}" msg="n1 is not the second nature"/> + <assert:assertEquals expected="a.b.c.n2" value="${natures[2].text}" msg="a.b.c.n2 is not the third nature"/> + </goal> + + <goal name="test-builders"> + <j:set var="maven.eclipse.buildcommands" value="c1,c2,c3"/> + <delete file="${dotProject}" failonerror="false"/> + <attainGoal name="eclipse:generate-project"/> + + <assert:assertFileExists file="${dotProject}" /> + <u:file var="projectFile" name="${dotProject}"/> + <x:parse var="projectDoc" xml="${projectFile.toURL()}" /> + <x:set var="builders" select="$projectDoc/projectDescription/buildSpec/buildCommand/name"/> + + <assert:assertEquals expected="c1" value="${builders[1].text}" msg="c1 is not the second build command name"/> + <assert:assertEquals expected="c2" value="${builders[2].text}" msg="c2 is not the third build command name"/> + <assert:assertEquals expected="c3" value="${builders[3].text}" msg="c3 is not the fourth build command name"/> + </goal> + + + <goal name="test-natures-and-builders"> + <delete file="${dotProject}" failonerror="false"/> + <j:set var="maven.eclipse.projectnatures" value="n7,n9,n11"/> + <j:set var="maven.eclipse.buildcommands" value="c11,c21,c31"/> + <attainGoal name="eclipse:generate-project"/> + + <assert:assertFileExists file="${dotProject}" /> + <u:file var="projectFile" name="${dotProject}"/> + <x:parse var="projectDoc" xml="${projectFile.toURL()}" /> + <x:set var="natures" select="$projectDoc/projectDescription/natures/nature"/> + <x:set var="builders" select="$projectDoc/projectDescription/buildSpec/buildCommand/name"/> + + <!-- check natures --> + <assert:assertEquals expected="n7" value="${natures[1].text}" msg="n7 is not the second nature"/> + <assert:assertEquals expected="n9" value="${natures[2].text}" msg="n9 is not the second nature"/> + <assert:assertEquals expected="n11" value="${natures[3].text}" msg="n11 is not the second nature"/> + + <!-- check builders --> + <assert:assertEquals expected="c11" value="${builders[1].text}" msg="c11 is not the second build command name"/> + <assert:assertEquals expected="c21" value="${builders[2].text}" msg="c21 is not the second build command name"/> + <assert:assertEquals expected="c31" value="${builders[3].text}" msg="c31 is not the second build command name"/> + </goal> + </project> 1.8 +45 -28 maven-plugins/eclipse/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /home/cvs/maven-plugins/eclipse/xdocs/properties.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- properties.xml 4 Mar 2004 18:04:37 -0000 1.7 +++ properties.xml 6 May 2004 05:43:12 -0000 1.8 @@ -33,17 +33,17 @@ <td>maven.eclipse.workspace</td> <td>Yes</td> <td> - Location of the <a href="http://www.eclipse.org">Eclipse</a> - workspace that holds your configuration and source. - <p> - On Windows, this will be the <code>workspace</code> directory - under your eclipse installation. For example, if you installed - eclipse into <code>c:\eclipse</code>, the workspace is - <code>c:\eclipse\workspace</code>. - </p> - <p> - If this parameter is specified, the <a href="goals.html#eclipse:external-tools"> - external-tools</a> goal will use it as the destination to copy the generated file. + Location of the <a href="http://www.eclipse.org">Eclipse</a> + workspace that holds your configuration and source. + <p> + On Windows, this will be the <code>workspace</code> directory + under your eclipse installation. For example, if you installed + eclipse into <code>c:\eclipse</code>, the workspace is + <code>c:\eclipse\workspace</code>. + </p> + <p> + If this parameter is specified, the <a href="goals.html#eclipse:external-tools"> + external-tools</a> goal will use it as the destination to copy the generated file. </p> </td> </tr> @@ -51,44 +51,61 @@ <td>maven.eclipse.junit</td> <td>Yes (default=3.8.1)</td> <td> - The version of JUnit you want added to your project. If this - property is set to <code>none</code> then JUnit will not be added to your - build classpath. + The version of JUnit you want added to your project. If this + property is set to <code>none</code> then JUnit will not be added to your + build classpath. </td> </tr> <tr> <td>maven.eclipse.output.dir</td> <td>Yes (default=${maven.build.dest)</td> <td> - The directory to which Eclipse should output its classes. - By default this is the same directory as Maven generates its code - however this can be changed so that <code>maven clean</code> - does not interfere with Eclipse's build. + The directory to which Eclipse should output its classes. + By default this is the same directory as Maven generates its code + however this can be changed so that <code>maven clean</code> + does not interfere with Eclipse's build. </td> </tr> <tr> <td>maven.eclipse.test.output.dir</td> <td>Yes (default=${maven.test.dest} defined in test plugin)</td> <td> - The directory to which Eclipse should output its test classes. + The directory to which Eclipse should output its test classes. </td> </tr> <tr> <td>maven.eclipse.classpath.include</td> <td>Yes</td> <td> - Comma delimited list of additional directories to include in - the classpath, like <code>src/conf</code>. + Comma delimited list of additional directories to include in + the classpath, like <code>src/conf</code>. + </td> + </tr> + <tr> + <td>maven.eclipse.buildcommands</td> + <td>Yes</td> + <td> + Comma delimited list of additional build commands + to include in the project description file. + </td> + </tr> + <tr> + <td>maven.eclipse.projectnatures</td> + <td>Yes</td> + <td> + Comma delimited list of additional project natures + to include in the project description file. These natures + will be added after the java nature. </td> </tr> </table> - <p> - Note that you will need to defined a <code>MAVEN_REPO</code> Java - Classpath variable in Eclipse. This is done by selecting the Window - menu, then Preferences. In the dialog box, select the Java node and - then Classpath Variables. Create a new variable named - <code>MAVEN_REPO</code> that points to your local Maven repository. - </p> + <p> + Note that you will need to defined a <code>MAVEN_REPO</code> Java + Classpath variable in Eclipse. This is done by selecting the Window + menu, then Preferences. In the dialog box, select the Java node and + then Classpath Variables. Create a new variable named + <code>MAVEN_REPO</code> that points to your local Maven repository. + </p> </section> </body> </document> 1.17 +4 -0 maven-plugins/eclipse/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /home/cvs/maven-plugins/eclipse/xdocs/changes.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- changes.xml 5 May 2004 06:16:27 -0000 1.16 +++ changes.xml 6 May 2004 05:43:13 -0000 1.17 @@ -25,6 +25,10 @@ </properties> <body> <release version="1.7-SNAPSHOT" date="in CVS"> + <action dev="dion" type="update" issue="MPECLIPSE-25" due-to="Miguel Griffa"> + Add maven.eclipse.buildcommands and maven.eclipse.projectnatures properties, docs + and test cases + </action> <action dev="dion" type="update">use assert taglib for testing</action> <action dev="brett" type="update" issue="MPECLIPSE-21">Honour sourceModifications in classpath file</action> <action dev="dion" type="fix" issue="MPECLIPSE-22">used container for JRE classpath</action> 1.5 +12 -1 maven-plugins/eclipse/src/plugin-resources/templates/project.jelly Index: project.jelly =================================================================== RCS file: /home/cvs/maven-plugins/eclipse/src/plugin-resources/templates/project.jelly,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- project.jelly 4 Mar 2004 18:04:37 -0000 1.4 +++ project.jelly 6 May 2004 05:43:13 -0000 1.5 @@ -42,10 +42,21 @@ <arguments> </arguments> </buildCommand> + <util:tokenize var="commands" delim=",">${maven.eclipse.buildcommands}</util:tokenize> + <j:forEach var="command" items="${commands}" trim="true"> + <buildCommand> + <name>${command}</name> + <arguments/> + </buildCommand> + </j:forEach> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> + <util:tokenize var="natures" delim=",">${maven.eclipse.projectnatures}</util:tokenize> + <j:forEach var="nature" items="${natures}" trim="true"> + <nature>${nature}</nature> + </j:forEach> </natures> </projectDescription> -</j:whitespace> \ No newline at end of file +</j:whitespace> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]