glennm 02/05/24 08:41:28
Modified: . build-bootstrap.xml project.properties
src/java/org/apache/maven BaseProjectTask.java
src/templates/build/plugins/core build.xml
xdocs/start bootstrap.xml
Log:
Glenn McAllister - 2002/05/24
- Did a little more cleaning of the bootstrap build, nothing significant.
- lib.repo now has a default value of ${user.home}/maven.repo, mirroring the
default value of ${user.home}/maven for the maven.home property.
- Updated the bootstrap documentation (sorry for the delay Pete).
- The install-jar target now overwrites an existing jar of the same name with a
later time stamp. This helps with NFS systems where the clocks aren't
exactly in sync.
- Modified BaseProjectTask so it no longer *requires* the file with the list of
jars so it can be reused as the <create-xdocs> task without throwing a
NullPointerException.
Revision Changes Path
1.87 +5 -7 jakarta-turbine-maven/build-bootstrap.xml
Index: build-bootstrap.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/build-bootstrap.xml,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -r1.86 -r1.87
--- build-bootstrap.xml 19 May 2002 05:40:39 -0000 1.86
+++ build-bootstrap.xml 24 May 2002 15:41:28 -0000 1.87
@@ -31,12 +31,11 @@
<target
name="check-properties"
- depends="check-lib-repo">
+ depends="check-maven-home,check-lib-repo">
</target>
<target
name="check-lib-repo"
- depends="check-maven-home"
unless="lib.repo">
<fail>
+------------------------------------------------------------------
@@ -71,7 +70,7 @@
<target
name="bootstrap"
- depends="check-properties,clean,install"
+ depends="install"
description="--> Update local jars, generate maven's build system, generate
maven, and setup the distributions.">
<ant antfile="build.xml" target="maven:clean"/>
@@ -79,8 +78,7 @@
</target>
<target name="clean"
- depends="clean-maven-home-dir">
-
+ depends="check-properties">
<!-- Remove any cruft left in build.dest -->
<delete dir="target"/>
@@ -197,7 +195,7 @@
<target
name="phase2-compile"
- depends="phase1-compile">
+ depends="check-properties,phase1-compile">
<taskdef
name="create-classpath"
@@ -254,7 +252,7 @@
<target
name="install"
- depends="generate-build,make-maven-home-dir">
+ depends="check-properties,clean,generate-build,make-maven-home-dir">
<copy todir="${maven.home}">
<fileset dir="${maven.bootstrap.dir}/maven"/>
1.12 +1 -0 jakarta-turbine-maven/project.properties
Index: project.properties
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/project.properties,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- project.properties 19 May 2002 05:40:39 -0000 1.11
+++ project.properties 24 May 2002 15:41:28 -0000 1.12
@@ -3,6 +3,7 @@
# -------------------------------------------------------------------
maven.home = ${user.home}/maven
+lib.repo = ${user.home}/maven.repo
maven.final.name = maven
maven.jarResources.basedir = src/conf
1.11 +5 -2
jakarta-turbine-maven/src/java/org/apache/maven/BaseProjectTask.java
Index: BaseProjectTask.java
===================================================================
RCS file:
/home/cvs/jakarta-turbine-maven/src/java/org/apache/maven/BaseProjectTask.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- BaseProjectTask.java 14 May 2002 17:59:42 -0000 1.10
+++ BaseProjectTask.java 24 May 2002 15:41:28 -0000 1.11
@@ -74,7 +74,7 @@
* An ant task for creating an xml schema from an sql schema
*
* @author <a href="[EMAIL PROTECTED]">Jason van Zyl</a>
- * @version $Id: BaseProjectTask.java,v 1.10 2002/05/14 17:59:42 kaz Exp $
+ * @version $Id: BaseProjectTask.java,v 1.11 2002/05/24 15:41:28 glennm Exp $
*/
public class BaseProjectTask
extends TexenTask
@@ -138,7 +138,10 @@
context.put("buildElements", new ArrayList());
context.put("delegators", new HashMap());
context.put("project", mavenProject);
- context.put("jars", ListTask.getList(listFile));
+ if (listFile != null)
+ {
+ context.put("jars", ListTask.getList(listFile));
+ }
context.put("callbacks", new HashMap());
return context;
}
1.2 +3 -6 jakarta-turbine-maven/src/templates/build/plugins/core/build.xml
Index: build.xml
===================================================================
RCS file:
/home/cvs/jakarta-turbine-maven/src/templates/build/plugins/core/build.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- build.xml 15 May 2002 19:51:11 -0000 1.1
+++ build.xml 24 May 2002 15:41:28 -0000 1.2
@@ -693,12 +693,9 @@
description="o Installs JAR file in local ${lib.repo}"/>
<target name="do-install-jar">
-
- <copy todir="${lib.repo}" filtering="no">
- <fileset dir="${maven.build.dir}">
- <include name="${maven.final.name}.jar"/>
- </fileset>
- </copy>
+ <copy file="${maven.build.dir}/${maven.final.name}.jar"
+ toDir="${lib.repo}"
+ overwrite="true" />
</target>
<!-- ================================================================== -->
1.3 +32 -42 jakarta-turbine-maven/xdocs/start/bootstrap.xml
Index: bootstrap.xml
===================================================================
RCS file: /home/cvs/jakarta-turbine-maven/xdocs/start/bootstrap.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- bootstrap.xml 6 May 2002 02:03:31 -0000 1.2
+++ bootstrap.xml 24 May 2002 15:41:28 -0000 1.3
@@ -31,13 +31,20 @@
directory. Failure to do so will result in build errors.
</p>
<p>
+ You also must have the properties <code>${maven.home}</code> and
+ <code>${lib.repo}</code> defined. These properties determine where
+ Maven is installed and where the local repository of jars is located.
+ These default to <code>${user.home}/maven</code> and
+ <code>${user.home}/maven.repo</code> respectively. To change these
+ default locations, define new values for <code>${maven.home}</code> and
+ <code>${lib.repo}</code> in your
+ <code>${user.home}/build.properties</code> file.
+ </p>
+ <p>
For the impatient reader that doesn't want to read the rest of
- this document, and assuming you have <code>${lib.repo}</code>
- and <code>${maven.home}</code> defined in your
- <code>${user.home}/build properties</code>, type the following:
+ this document, type the following:
</p>
<source><![CDATA[ant -f build-bootstrap.xml]]></source>
- <p/>
<p>
If you are new to Maven, it is recommended that you read the
rest of the document as it explains the build process in a
@@ -52,9 +59,10 @@
href="http://jakarta.apache.org/site/cvsindex.html">documentation</a>.
</p>
<p>
- Next, you must define the <code>${lib.repo}</code> property in
+ Next, you can define the <code>${lib.repo}</code> property in
your <code>${user.home}/build.properties</code> file. You
- should also define <code>${maven.home}</code> here as well.
+ should also define <code>${maven.home}</code> here as well if you
+ don't want to install Maven into your home directory.
If you do not have a <code>${user.home}/build.properties</code>
file, create one in your home directory and add the following
lines:
@@ -66,8 +74,7 @@
location that the dependencies (JARs) will be stored after
they have been downloaded. This repository is used by Maven
when building any Maven-enabled project. It is not unique to
- the bootstrapping process. Note: this directory must already
- exist in the filesystem. The other value,
+ the bootstrapping process. The other value,
<code>${maven.home}</code> specifies the location that the
Maven build system will be installed after it has been
generated.
@@ -117,56 +124,39 @@
Maven.
</p>
<p>
- The bootstrap process first downloads all JARs required to
+ The first step of the bootstrap process checks to ensure that you
+ have the <code>${maven.home}</code> and <code>${lib.repo}</code>
+ properties set. By default, they are set to
+ <code>${user.home}/maven</code> and
+ <code>${user.home}/maven.repo</code> respectively.
+ </p>
+ <p>
+ The bootstrap process next downloads all JARs required to
bootstrap. These are stored in the <code>${lib.repo}</code>
- directory. Downloading the JARs can be done automatically,
- type the following:
+ directory. To download the JARs manually, type the following:
</p>
<source><![CDATA[ant -f build-bootstrap.xml update-jars]]></source>
<p>
- After the bootstrap has downloaded all of the dependencies, it
- builds the core Maven Java classes, installs the Maven build
+ After the bootstrap has downloaded all of the dependencies into
+ <code>${lib.repo}</code>, it then builds the minimal set of core
+ Maven Java classes, installs the Maven build
system in <code>${maven.home}</code>, and installs the
bootstrap <code>maven.jar</code> in <code>${lib.repo}</code>
You can manually do this by typing:
</p>
- <source><![CDATA[ant -f build-bootstrap.xml generate-build
-ant -f build-bootstrap.xml install]]></source>
+ <source><![CDATA[ant -f build-bootstrap.xml install]]></source>
<p>
The resulting JAR file can then be used by the bootstrap
process to build the complete Maven JAR. After the JAR has
been generated, the bootstrap process can then invoke the
standard Maven build target to build the complete Maven JAR
which is deposited in <code>${basedir}/target</code>. All
- unit tests are run when this JAR is created. You can manually
- do this by typing:
+ unit tests are run when this JAR is created. If all tests pass, the
+ final <code>maven.jar</code> file is installed into
+ <code>${lib.repo}</code>. You can manually do this by typing:
</p>
<source><![CDATA[ant maven:clean
-ant maven:jar]]></source>
- <p>
- After the bootstrap process builds the complete Maven, it
- creates a distribution in the
- <code>${maven.home}/install</code> directory that includes all
- of the required JARs and the complete <code>maven.jar</code>.
- Type the following to create the distribution:
- </p>
- <source><![CDATA[ant -f build-bootstrap.xml dist]]></source>
- <p>
- After the bootstrap process builds the complete Maven, it
- creates a distribution in the
- <code>${maven.home}/install</code> directory that includes all
- of the required JARs and the complete <code>maven.jar</code>.
- Type the following to create the distribution:
- </p>
- <source><![CDATA[cd ${maven.home}/install
-ant]]></source>
- <p>
- Finally, to complete the bootstrap process, which fully
- installs Maven on your system, all of the required JARs are
- copied to your <code>${lib.repo}</code> directory, including
- the full <code>maven.jar</code> which overwrites the JAR used
- to bootstrap Maven.
- </p>
+ant maven:install-jar]]></source>
</subsection>
</section>
</body>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>