jvanzyl 2002/06/03 15:41:16
Added: src/scripts README make-maven-lib maven pom.jelly test.sh
Log:
First little attempt at getting Maven using jelly. More an experiment
than anything.
Revision Changes Path
1.1 jakarta-turbine-maven/src/scripts/README
Index: README
===================================================================
This is just a little hack trying to get Maven to use Jelly.
All this example does is pull in the MavenTagLibrary, process
a POM descriptor and show a few values.
To try this out you have to:
1) ./make-maven-lib
2) ./test.sh
jvz.
1.1 jakarta-turbine-maven/src/scripts/make-maven-lib
Index: make-maven-lib
===================================================================
#!/bin/sh
[ -z "$MAVEN_HOME" ] && echo "Must set LIB_REPO" && exit
[ -z "$LIB_REPO" ] && echo "Must set LIB_REPO" && exit
LIBS="commons-beanutils-1.4-dev.jar \
commons-betwixt-1.0-dev.jar \
commons-collections-2.0.jar \
commons-digester-1.2.jar \
commons-jelly-1.0-dev.jar \
commons-jexl-1.0-dev.jar \
commons-logging-1.0.jar \
dom4j-1.4-dev.jar \
maven.jar \
velocity-1.4-dev.jar \
xercesImpl-2.0.0.jar \
xmlParserAPIs-2.0.0.jar"
mkdir -p $MAVEN_HOME/lib
for i in $LIBS
do
cp $LIB_REPO/$i $MAVEN_HOME/lib
done
1.1 jakarta-turbine-maven/src/scripts/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_ARGS "$@"
1.1 jakarta-turbine-maven/src/scripts/pom.jelly
Index: pom.jelly
===================================================================
<?xml version="1.0"?>
<j:jelly xmlns:j="jelly:core"
xmlns:maven="jelly:org.apache.maven.jelly.MavenTagLibrary">
<maven:pom projectDescriptor="../../project.xml">
project name = <j:expr value="${project.name}"/>
project id = <j:expr value="${project.id}"/>
</maven:pom>
</j:jelly>
1.1 jakarta-turbine-maven/src/scripts/test.sh
Index: test.sh
===================================================================
#!/bin/sh
./maven pom.jelly
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>