jvanzyl 02/02/23 07:46:37 Modified: . build-bootstrap.xml build-docs.xml build.xml src/java/org/apache/maven/build ProjectProperties.java src/templates/build build-docs.xml default.properties src/test/org/apache/maven/project TestProjectMapper.java Added: . build-bootstrap.sh project.xml Removed: . project-maven.xml Log: - the unit tests now work with the generated build, after bootstrapping the unit tests run correctly. need to refactor the ProjectProperties task and the getting the doc generation to work after the bootstrap is next. Revision Changes Path 1.7 +3 -4 jakarta-turbine-maven/build-bootstrap.xml Index: build-bootstrap.xml =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/build-bootstrap.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- build-bootstrap.xml 23 Feb 2002 04:01:48 -0000 1.6 +++ build-bootstrap.xml 23 Feb 2002 15:46:36 -0000 1.7 @@ -59,7 +59,7 @@ outputDirectory="${work.dir}" templatePath="src/templates/build" outputFile="bootstrap.report" - projectDescriptor="project-maven.xml" + projectDescriptor="project.xml" /> <taskdef @@ -69,7 +69,7 @@ </taskdef> <genjar - jarfile="${work.dir}/maven.jar"> + jarfile="${lib.repo}/maven.jar"> <class name="org.apache.maven.Reactor"/> <class name="org.apache.maven.build.BaseProjectTask"/> <class name="org.apache.maven.build.ProjectProperties"/> @@ -114,7 +114,7 @@ </classpath> </genjar> - <copy tofile="work/project.xml" file="project-maven.xml"/> + <copy tofile="${work.dir}/project.xml" file="project.xml"/> <chmod perm="+x"> <fileset dir="${work.dir}"> @@ -129,5 +129,4 @@ </copy> </target> - </project> 1.5 +4 -4 jakarta-turbine-maven/build-docs.xml Index: build-docs.xml =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/build-docs.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- build-docs.xml 22 Feb 2002 14:00:14 -0000 1.4 +++ build-docs.xml 23 Feb 2002 15:46:36 -0000 1.5 @@ -45,7 +45,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/index.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/index.html" /> </target> @@ -68,7 +68,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/mail-lists.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/mail-lists.html" /> </target> @@ -91,7 +91,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/developer-list.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/developer-list.html" /> </target> @@ -114,7 +114,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/dependencies.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/dependencies.html" /> </target> 1.9 +1 -0 jakarta-turbine-maven/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/build.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- build.xml 22 Feb 2002 20:46:22 -0000 1.8 +++ build.xml 23 Feb 2002 15:46:36 -0000 1.9 @@ -15,6 +15,7 @@ <pathelement location="${junit.jar}"/> <pathelement location="${commons-beanutils.jar}"/> <pathelement location="${commons-graph.jar}"/> + <pathelement location="${commons-util.jar}"/> <pathelement location="${velocity.jar}"/> <pathelement location="${bcel.jar}"/> <pathelement location="${log4j.jar}"/> 1.5 +0 -30 jakarta-turbine-maven/build-bootstrap.sh 1.1 jakarta-turbine-maven/project.xml Index: project.xml =================================================================== <?xml version="1.0"?> <project> <name>jakarta-turbine-maven</name> <id>maven</id> <currentVersion>0.1</currentVersion> <organization>Apache Software Foundation</organization> <inceptionYear>2001</inceptionYear> <package>org.apache.maven</package> <shortDescription>Project Management Tools</shortDescription> <description> <![CDATA[ <p> Maven: a person who has special knowledge or experience; an expert or connoisseur. In short, Maven strives to be a Java project expert. The entire concept of Maven is based around an object model for a project. </p> <p> distinguish between compile/runtime/optional dependencies build a project and all its dependencies from source build a project against all its dependencies in binary form create comprehensive sets of information for a project provides metrics for your Java project provides a standard build file for your project provides a recommended directory structure for your Java project provides continuous integration </p> ]]> </description> <url>http://jakarta.apache.org/turbine/maven/</url> <cvsWebUrl>http://cvs.apache.org/viewcvs/jakarta-turbine-maven/</cvsWebUrl> <repository id="jakarta"/> <mailingLists> <mailingList> <name>Turbine User List</name> <subscribe>[EMAIL PROTECTED]</subscribe> <unsubscribe>[EMAIL PROTECTED]</unsubscribe> <archive>http://www.mail-archive.com/turbine-user@jakarta.apache.org/</archive> </mailingList> <mailingList> <name>Turbine Developer List</name> <subscribe>mailto:[EMAIL PROTECTED]</subscribe> <unsubscribe>mailto:[EMAIL PROTECTED]</unsubscribe> <archive>http://www.mail-archive.com/turbine-dev@jakarta.apache.org/</archive> </mailingList> </mailingLists> <developers> <developer> <!-- <name>Jauncarlo Añez</name> --> <name>Jauncarlo Arnez</name> <email>[EMAIL PROTECTED]</email> <organization></organization> </developer> <developer> <name>Stephane Baillinez</name> <email></email> <organization></organization> </developer> <developer> <name>Tom Copeland</name> <email></email> <organization></organization> </developer> <developer> <name>Pete Kazmier</name> <email>[EMAIL PROTECTED]</email> <organization></organization> </developer> <developer> <name>Geir Magnusson Jr.</name> <email>[EMAIL PROTECTED]</email> <organization>Independent (DVSL Maven)</organization> </developer> <developer> <name>Jason van Zyl</name> <email>[EMAIL PROTECTED]</email> <organization>Zenplex</organization> </developer> </developers> <!-- Need to mark these as compile-time/run-time --> <dependencies> <dependency> <name>jakarta-turbine-stratum</name> <type>required</type> <version>0.1</version> <jar>stratum-0.1-dev.jar</jar> </dependency> <dependency> <name>jakarta-bcel</name> <type>required</type> <version>5.0</version> <jar>bcel.jar</jar> </dependency> <dependency> <name>jakarta-log4j</name> <type>required</type> <version>1.1.3</version> <jar>log4j-1.1.3.jar</jar> </dependency> <dependency> <name>jakarta-velocity</name> <type>required</type> <version>1.3-dev</version> <jar>velocity-1.3-dev.jar</jar> </dependency> <dependency> <name>dom4j</name> <type>required</type> <version>1.1</version> <jar>dom4j-1.1.jar</jar> </dependency> <dependency> <name>commons-util</name> <type>required</type> <version>0.1</version> <jar>commons-util-0.1-dev.jar</jar> </dependency> <dependency> <name>commons-graph</name> <type>required</type> <version>0.1</version> <jar>commons-graph.jar</jar> </dependency> <dependency> <name>commons-beanutils</name> <type>required</type> <version>1.0</version> <jar>commons-beanutils.jar</jar> </dependency> <dependency> <name>commons-collections</name> <type>required</type> <version>1.0</version> <jar>commons-collections.jar</jar> </dependency> <dependency> <name>jakarta-oro</name> <type>required</type> <version>1.3</version> <jar>oro.jar</jar> </dependency> <dependency> <name>gnu-regex</name> <type>required</type> <version>1.1.4</version> <jar>gnu-regexp-1.1.4.jar</jar> </dependency> </dependencies> <build> <sourceDirectories> <sourceDirectory>src/java</sourceDirectory> </sourceDirectories> <testSourceDirectories> <testSourceDirectory>src/java</testSourceDirectory> <testSourceDirectory>src/test</testSourceDirectory> </testSourceDirectories> <aspectSourceDirectories> </aspectSourceDirectories> <!-- Unit test classes --> <unitTestClassEntries> <unitTestClassEntry>include = **/*Test*.class</unitTestClassEntry> </unitTestClassEntries> <!-- Runtime unit test classes --> <runtimeTestClassEntries> </runtimeTestClassEntries> <!-- J A R R E S O U R C E S --> <!-- Resources that are packaged up inside the JAR file --> <jarResources> </jarResources> <jars> </jars> </build> </project> 1.4 +88 -5 jakarta-turbine-maven/src/java/org/apache/maven/build/ProjectProperties.java Index: ProjectProperties.java =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/build/ProjectProperties.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ProjectProperties.java 22 Feb 2002 03:32:54 -0000 1.3 +++ ProjectProperties.java 23 Feb 2002 15:46:36 -0000 1.4 @@ -55,23 +55,30 @@ */ import java.io.File; + import java.util.Iterator; + +import org.apache.tools.ant.types.PatternSet; import org.apache.tools.ant.types.Path; import org.apache.tools.ant.Task; import org.apache.tools.ant.BuildException; -import org.apache.velocity.context.Context; + +import org.apache.commons.util.StringUtils; + import org.apache.maven.project.Dependency; import org.apache.maven.project.Project; import org.apache.stratum.xo.Mapper; +import org.apache.velocity.context.Context; + /** * An ant task that takes values from the project descriptor and * creates the necessary patternsets and paths required to build * the project. * * @author <a href="[EMAIL PROTECTED]">Jason van Zyl</a> - * @version $Id: ProjectProperties.java,v 1.3 2002/02/22 03:32:54 jvanzyl Exp $ + * @version $Id: ProjectProperties.java,v 1.4 2002/02/23 15:46:36 jvanzyl Exp $ */ public class ProjectProperties extends Task @@ -119,11 +126,14 @@ throw new BuildException(e); } - log("Creating classpath ref ..."); + log("Creating classpath reference ..."); createClasspathReference(); - log("Creating source set ref ..."); + log("Creating source set reference ..."); createSourceSetReference(); - + log("Creating test source set reference ..."); + createTestSourceSetReference(); + log("Creating unit test class entries reference ..."); + createUnitTestClassEntriesReference(); } // Create the classpath reference @@ -163,4 +173,77 @@ project.addReference("src.set", srcSet); } + // Create the source directories reference + private void createTestSourceSetReference() + { + Path srcSet = new Path(project); + String libRepo = project.getProperty("lib.repo"); + + for (Iterator i = + mavenProject.getBuild().getTestSourceDirectories().iterator(); i.hasNext();) + { + String sourceDirectory = (String) i.next(); + log(sourceDirectory); + Path p = new Path(project); + p.setPath(new File(sourceDirectory).getAbsolutePath()); + srcSet.append(p); + } + + project.addReference("test.src.set", srcSet); + } + + // Create the source directories reference + private void createUnitTestClassEntriesReference() + { + String libRepo = project.getProperty("lib.repo"); + StringBuffer includesSb = new StringBuffer(); + StringBuffer excludesSb = new StringBuffer(); + PatternSet patternSet = new PatternSet(); + + for (Iterator i = + mavenProject.getBuild().getUnitTestClassEntries().iterator(); i.hasNext();) + { + String line = (String) i.next(); + line = line.trim(); + + if (line.startsWith("include")) + { + // We have something like the following pattern: + // include = conf/foo.xml + includesSb.append(StringUtils.split(line,"=",-1)[1]).append(","); + + } + + if (line.startsWith("exclude")) + { + // We have something like the following pattern: + // exclude = conf/foo.xml + excludesSb.append(StringUtils.split(line,"=",-1)[1]).append(","); + } + + // We have a jar descriptor file + includesSb.append(line).append(","); + } + + String includes = includesSb.toString(); + String excludes = excludesSb.toString(); + + if (includes.length() > 0) + { + // Remove trailing comma + includes = includes.substring(0,includes.length()-1); + patternSet.setIncludes(includes); + log("includes: " + includes); + } + + if (excludes.length() > 0) + { + // Remove trailing comma + excludes = excludes.substring(0,excludes.length()-1); + patternSet.setExcludes(excludes); + log("excludes: " + excludes); + } + + project.addReference("unit.test.set", patternSet); + } } 1.5 +4 -4 jakarta-turbine-maven/src/templates/build/build-docs.xml Index: build-docs.xml =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/src/templates/build/build-docs.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- build-docs.xml 23 Feb 2002 07:18:02 -0000 1.4 +++ build-docs.xml 23 Feb 2002 15:46:36 -0000 1.5 @@ -40,7 +40,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/index.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/index.html" /> </target> @@ -63,7 +63,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/mail-lists.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/mail-lists.html" /> </target> @@ -86,7 +86,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/developer-list.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/developer-list.html" /> </target> @@ -109,7 +109,7 @@ destdir="${docs.dest}/" extension=".html" style="${docs.src}/stylesheets/dependencies.dvsl" - in="project-maven.xml" + in="project.xml" out="${docs.dest}/dependencies.html" /> </target> 1.5 +2 -0 jakarta-turbine-maven/src/templates/build/default.properties Index: default.properties =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/src/templates/build/default.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- default.properties 23 Feb 2002 00:49:24 -0000 1.4 +++ default.properties 23 Feb 2002 15:46:36 -0000 1.5 @@ -17,6 +17,8 @@ # I M M U T A B L E # ------------------------------------------------------------------- +test.reportsDirectory = ${basedir}/test-reports + src.dir = ${basedir}/src conf.dir = ${basedir}/conf build.dir = ${basedir}/target 1.6 +7 -8 jakarta-turbine-maven/src/test/org/apache/maven/project/TestProjectMapper.java Index: TestProjectMapper.java =================================================================== RCS file: /home/cvs/jakarta-turbine-maven/src/test/org/apache/maven/project/TestProjectMapper.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TestProjectMapper.java 22 Feb 2002 23:39:41 -0000 1.5 +++ TestProjectMapper.java 23 Feb 2002 15:46:36 -0000 1.6 @@ -10,7 +10,7 @@ public class TestProjectMapper extends TestCase { - private static String TEST_DOCUMENT = "project-maven.xml"; + private static String TEST_DOCUMENT = "project.xml"; private static String TEST_CLASS = "org.apache.maven.project.Project"; @@ -71,6 +71,11 @@ assertEquals("stratum-0.1-dev.jar", ((Dependency)p.getDependencies().get(0)).getJar()); + // Test Source Directories + assertEquals("src/java",(String)p.getBuild().getSourceDirectories().get(0)); + + // Test Test Source Directories ;-) + assertEquals("src/java",(String)p.getBuild().getTestSourceDirectories().get(0)); // Test Jar Resources //assertEquals("include = conf/*pipeline.xml",(String)p.getBuild().getJarResources().get(0)); @@ -83,14 +88,8 @@ //assertEquals("include = **/*Test.class", // (String)p.getBuild().getRuntimeTestClassEntries().get(0)); - - // Test Source Directories - //assertEquals("src/java/org",(String)p.getBuild().getSourceDirectories().get(0)); - - // Test Test Source Directories ;-) - //assertEquals("src/java/org",(String)p.getBuild().getTestSourceDirectories().get(0)); - // Test Source Directories + // Aspect Source Directories //assertEquals("src/java/org",(String)p.getBuild().getAspectSourceDirectories().get(0)); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>