jvanzyl 2002/06/05 15:08:23
Added: src/bin maven maven-bootstrap.jelly maven-properties.jelly
maven-scripts.jelly maven.jelly
Log:
Shifting some scripts that bob and i have been working on to make
a maven script that utilizes jelly. This doesn't interfere with anything,
though the delegators are broken right now but bob and i are going to
fix things tonight hopefully.
Revision Changes Path
1.1 jakarta-turbine-maven/src/bin/maven
Index: maven
===================================================================
#! /bin/sh
# Copyright (c) 2001-2002 The Apache Software Foundation. All rights
# reserved.
MAVEN_OPTS="-Xmx128m"
if [ -f "$HOME/.mavenrc" ] ; then
. $HOME/.mavenrc
fi
# OS specific support. $var _must_ be set to either true or false.
cygwin=false;
darwin=false;
case "`uname`" in
CYGWIN*) cygwin=true ;;
Darwin*) darwin=true ;;
esac
if [ -z "$MAVEN_HOME" ] ; then
# try to find ANT
if [ -d /opt/ant ] ; then
MAVEN_HOME=/opt/ant
fi
if [ -d ${HOME}/opt/ant ] ; then
MAVEN_HOME=${HOME}/opt/ant
fi
## resolve links - $0 may be a link to ant's home
PRG=$0
progname=`basename $0`
saveddir=`pwd`
# need this for relative symlinks
cd `dirname $PRG`
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '.*/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname $PRG`/$link"
fi
done
MAVEN_HOME=`dirname "$PRG"`/..
# make it fully qualified
MAVEN_HOME=`cd "$MAVEN_HOME" && pwd`
cd $saveddir
fi
# For Cygwin, ensure paths are in UNIX format before anything is touched
if $cygwin ; then
[ -n "$MAVEN_HOME" ] &&
MAVEN_HOME=`cygpath --unix "$MAVEN_HOME"`
[ -n "$JAVA_HOME" ] &&
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
[ -n "$CLASSPATH" ] &&
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD=$JAVA_HOME/bin/java
fi
else
JAVACMD=java
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "Error: JAVA_HOME is not defined correctly."
echo " We cannot execute $JAVACMD"
exit
fi
if [ -n "$CLASSPATH" ] ; then
LOCALCLASSPATH=$CLASSPATH
fi
# add in the dependency .jar files
DIRLIBS=${MAVEN_HOME}/lib/*.jar
for i in ${DIRLIBS}
do
# if the directory is empty, then it will return the input string
# this is stupid, so case for it
if [ "$i" != "${DIRLIBS}" ] ; then
if [ -z "$LOCALCLASSPATH" ] ; then
LOCALCLASSPATH=$i
else
LOCALCLASSPATH="$i":$LOCALCLASSPATH
fi
fi
done
if [ -n "$JAVA_HOME" ] ; then
if [ -f "$JAVA_HOME/lib/tools.jar" ] ; then
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/tools.jar
fi
if [ -f "$JAVA_HOME/lib/classes.zip" ] ; then
LOCALCLASSPATH=$LOCALCLASSPATH:$JAVA_HOME/lib/classes.zip
fi
# OSX hack to make Ant work with jikes
if $darwin ; then
OSXHACK="/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Classes"
if [ -d ${OSXHACK} ] ; then
for i in ${OSXHACK}/*.jar
do
JIKESPATH=$JIKESPATH:$i
done
fi
fi
else
echo "Warning: JAVA_HOME environment variable is not set."
echo " If build fails because sun.* classes could not be found"
echo " you will need to set the JAVA_HOME environment variable"
echo " to the installation directory of java."
fi
# supply JIKESPATH to Ant as jikes.class.path
if [ -n "$JIKESPATH" ] ; then
if [ -n "$MAVEN_OPTS" ] ; then
MAVEN_OPTS="$MAVEN_OPTS -Djikes.class.path=$JIKESPATH"
else
MAVEN_OPTS=-Djikes.class.path=$JIKESPATH
fi
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin; then
MAVEN_HOME=`cygpath --path --windows "$MAVEN_HOME"`
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
fi
echo $LOCALCLASSPATH
$JAVACMD -classpath "$LOCALCLASSPATH" -Dmaven.home="${MAVEN_HOME}" $MAVEN_OPTS \
org.apache.commons.jelly.Jelly ${MAVEN_HOME}/bin/maven-bootstrap.jelly
$MAVEN_ARGS "$@"
1.1 jakarta-turbine-maven/src/bin/maven-bootstrap.jelly
Index: maven-bootstrap.jelly
===================================================================
<!--
|| This file lives in ${maven.home}
-->
<jelly:jelly
trim="true"
xmlns:jelly="jelly:core"
xmlns:def="jelly:define"
xmlns:maven="jelly:org.apache.maven.jelly.MavenTagLibrary">
<!--
|| Read the project's build-maven.xml, project.xml, etc
-->
<maven:init dir="./"/>
<!--
|| Walk the properties-files chain.
-->
<jelly:import uri="maven-properties.jelly"/>
<!--
|| Load maven scripts
-->
<jelly:import uri="maven-scripts.jelly"/>
<!--
|| Run the main maven loop.
-->
<jelly:import uri="maven.jelly"/>
</jelly:jelly>
1.1 jakarta-turbine-maven/src/bin/maven-properties.jelly
Index: maven-properties.jelly
===================================================================
<!--
|| This file lives in ${maven.home}
-->
<jelly:jelly
trim="true"
xmlns:ant="jelly:ant"
xmlns:jelly="jelly:core"
xmlns:def="jelly:define"
xmlns:maven="jelly:org.apache.maven.jelly.MavenTagLibrary">
<ant:property file="${user.home}/build.properties"/>
<ant:property file="build.properties"/>
<ant:property file="project.properties"/>
</jelly:jelly>
1.1 jakarta-turbine-maven/src/bin/maven-scripts.jelly
Index: maven-scripts.jelly
===================================================================
<!--
|| This file lives in ${maven.home}
-->
<jelly:jelly
trim="true"
xmlns:ant="jelly:ant"
xmlns:jelly="jelly:core"
xmlns:def="jelly:define"
xmlns:maven="jelly:org.apache.maven.jelly.MavenTagLibrary">
<!--
|| maven:target
-->
<def:script var="target_maven">
running [maven_target] <jelly:expr value="${target}"/>
maven.home = <jelly:expr value="${maven.home}"/>
lib.repo = <jelly:expr value="${lib.repo}"/>
</def:script>
<!--
|| bogus maven:target
-->
<def:script var="target_unknown">
======================================================================
== ERROR
==
== The target "<jelly:expr value="${target}"/>" is not valid for this project.
======================================================================
</def:script>
<!--
|| user-defined target
-->
<def:script var="target_user">
<maven:build target="${target}" ignore="true"/>
<jelly:choose>
<jelly:when test='${target_status == "unknown_target"}'>
<jelly:jelly body="${target_unknown}"/>
</jelly:when>
<jelly:when test='${target_status == "failed"}'>
<jelly:jelly body="${target_failed}"/>
</jelly:when>
</jelly:choose>
</def:script>
<!--
|| general ant target failure
-->
<def:script var="target_failed">
======================================================================
== ERROR
==
== The target "<jelly:expr value="${target}"/>" failed.
======================================================================
</def:script>
</jelly:jelly>
1.1 jakarta-turbine-maven/src/bin/maven.jelly
Index: maven.jelly
===================================================================
<!--
|| This file lives in ${maven.home}
-->
<jelly:jelly
trim="true"
xmlns:ant="jelly:ant"
xmlns:jelly="jelly:core"
xmlns:util="maven:util"
xmlns:maven="jelly:org.apache.maven.jelly.MavenTagLibrary">
<!--
|| Dispatch each argument as a maven build target.
-->
<jelly:forEach
var="target"
items="${args}"
begin="1">
<maven:maven target="${target}"/>
</jelly:forEach>
</jelly:jelly>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>