You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by fu...@apache.org on 2006/09/19 23:02:49 UTC
svn commit: r447970 - in /db/derby/code/trunk/tools/jdbc4: modules.patch
update-with-jdbc4 update-with-jdbc4.bat
Author: fuzzylogic
Date: Tue Sep 19 14:02:49 2006
New Revision: 447970
URL: http://svn.apache.org/viewvc?view=rev&rev=447970
Log:
DERBY-1846: update-with-jdbc4 scripts need to patch up modules.properties
Many other minor fixes and tweaks to the scripts to get them working in
different environments.
Added:
db/derby/code/trunk/tools/jdbc4/modules.patch (with props)
Modified:
db/derby/code/trunk/tools/jdbc4/update-with-jdbc4
db/derby/code/trunk/tools/jdbc4/update-with-jdbc4.bat
Added: db/derby/code/trunk/tools/jdbc4/modules.patch
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/jdbc4/modules.patch?view=auto&rev=447970
==============================================================================
--- db/derby/code/trunk/tools/jdbc4/modules.patch (added)
+++ db/derby/code/trunk/tools/jdbc4/modules.patch Tue Sep 19 14:02:49 2006
@@ -0,0 +1,8 @@
+
+# jdbc40 - requires JDK 1.6 (which is constant 7 in Derby)
+#
+derby.module.jdbcJ6=org.apache.derby.jdbc.Driver40
+derby.env.jdk.jdbcJ6=7
+derby.env.classes.jdbcJ6=java.sql.Driver
+cloudscape.config.jdbcJ6=derby
+
Propchange: db/derby/code/trunk/tools/jdbc4/modules.patch
------------------------------------------------------------------------------
svn:eol-style = CRLF
Modified: db/derby/code/trunk/tools/jdbc4/update-with-jdbc4
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/jdbc4/update-with-jdbc4?view=diff&rev=447970&r1=447969&r2=447970
==============================================================================
--- db/derby/code/trunk/tools/jdbc4/update-with-jdbc4 (original)
+++ db/derby/code/trunk/tools/jdbc4/update-with-jdbc4 Tue Sep 19 14:02:49 2006
@@ -25,6 +25,9 @@
exit 1
fi
+cygwin=false
+darwin=false
+mks=false
case "`uname`" in
CYGWIN*) cygwin=true ;;
Darwin*) darwin=true ;;
@@ -33,7 +36,7 @@
if [ -z "$JAVA_HOME" ]; then
if [ -n "$darwin" ]; then
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home
- fi else if [ -d /usr/j2se -a -x /usr/j2se/bin/javac ]; then
+ elif [ -d /usr/j2se -a -x /usr/j2se/bin/javac ]; then
JAVA_HOME=/usr/j2se
fi
fi
@@ -56,29 +59,47 @@
# Set up LOCALCLASSPATH, for cygwin or mks, use ;
CPS=:
-if [ -n "$cygwin" ]; then
- CPS=';'
-fi
-if [ ! `expr index` = "index" ]; then # for MKS
- if [ `expr index $SHELL sh.exe` -gt 0 ]; then
+if [ \( "`expr $SHELL : '.*sh.exe$'`" -gt 0 \) -a \( "$cygwin" = "false" \) ]; then
CPS=';'
- fi
+ mks=true
fi
LOCALCLASSPATH="$DERBY_HOME/lib/derby.jar$CPS$DERBY_HOME/lib/derbyclient.jar"
+# adjust paths for cygwin
+DERBY_HOME_NML=$DERBY_HOME
+if $cygwin; then
+ if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ; then
+ format=mixed
+ else
+ format=windows
+ fi
+ DERBY_HOME_NML=`cygpath --$format "$DERBY_HOME_NML"`
+ JAVA_HOME=`cygpath --$format "$JAVA_HOME"`
+ LOCALCLASSPATH=`cygpath --path --$format "$LOCALCLASSPATH"`
+ SRCDIR=`cygpath --path --$format "$SRCDIR"`
+ # now set CPS to ; for later use
+ CPS=';'
+fi
+
# compile the client classes
echo "Compiling the client classes for JDBC 4.0"
for i in `cat client.list`
do
- FILE=`echo $i | tr '\\' '/' | sed 's/.$//g'`
+ FILE=`echo $i | tr '\\' '/'`
+ if [ ! \( "$cygwin" = "true" \) -o \( "$mks" = "true" \) ]; then
+ FILE=`echo $FILE | sed 's/.$//g'`
+ fi
+ if $mks; then
+ FILE=$i
+ fi
CLASSES="$FILE $CLASSES"
done
cd $SRCDIR/java/client
mkdir -p "$DERBY_HOME/jdbc4classes/client"
-"$JAVA_HOME/bin/javac" -d "$DERBY_HOME/jdbc4classes/client" \
+"$JAVA_HOME/bin/javac" -d "$DERBY_HOME_NML/jdbc4classes/client" \
-cp "$LOCALCLASSPATH" \
- -sourcepath "$SRCDIR/java/client$CPS$SRCDIR/java/shared" \
+ -sourcepath "$SRCDIR/java/client$CPS$SRCDIR/java/shared$CPS$SRCDIR/java/engine" \
$CLASSES
if [ $? -gt 0 ]; then
@@ -90,7 +111,7 @@
cd $THISDIR
echo "Updating derbyclient.jar"
-jar uf "$DERBY_HOME/lib/derbyclient.jar" -C "$DERBY_HOME/jdbc4classes/client" org
+"$JAVA_HOME/bin/jar" uf "$DERBY_HOME_NML/lib/derbyclient.jar" -C "$DERBY_HOME_NML/jdbc4classes/client" org
if [ $? -gt 0 ]; then
echo "Error updating derbyclient.jar. It may no longer be usable."
@@ -102,17 +123,32 @@
unset CLASSES
for i in `cat engine.list`
do
- FILE=`echo $i | tr '\\' '/' | sed 's/.$//g'`
+ FILE=`echo $i | tr '\\' '/'`
+ if [ ! "$cygwin" = "true" ]; then
+ FILE=`echo $FILE | sed 's/.$//g'`
+ fi
+ if $mks; then
+ FILE=$i
+ fi
CLASSES="$FILE $CLASSES"
done
cd "$SRCDIR/java/engine"
mkdir -p "$DERBY_HOME/jdbc4classes/engine"
-"$JAVA_HOME/bin/javac" -d "$DERBY_HOME/jdbc4classes/engine" \
+"$JAVA_HOME/bin/javac" -d "$DERBY_HOME_NML/jdbc4classes/engine" \
-cp "$LOCALCLASSPATH" \
-sourcepath "$SRCDIR/java/engine$CPS$SRCDIR/java/shared" \
$CLASSES
+# patch up modules.properties do the driver will load
+cd "$DERBY_HOME/jdbc4classes/engine"
+"$JAVA_HOME/bin/jar" xf "$DERBY_HOME_NML/lib/derby.jar" org/apache/derby/modules.properties
+if $cygwin; then
+ cat "$THISDIR/modules.patch" >> "$DERBY_HOME/jdbc4classes/engine/org/apache/derby/modules.properties"
+elif [ ! "$cygwin" = "true" ]; then
+ cat "$THISDIR/modules.patch" | sed 's/.$//g' >> "$DERBY_HOME/jdbc4classes/engine/org/apache/derby/modules.properties"
+fi
+
if [ $? -gt 0 ]; then
echo "There was an error compiling the engine classes. Exiting."
cd "$THISDIR"
@@ -122,7 +158,7 @@
cd "$THISDIR"
echo "Updating derby.jar"
-jar uf "$DERBY_HOME/lib/derby.jar" -C "$DERBY_HOME/jdbc4classes/engine" org
+"$JAVA_HOME/bin/jar" uf "$DERBY_HOME_NML/lib/derby.jar" -C "$DERBY_HOME_NML/jdbc4classes/engine" org
if [ $? -gt 0 ]; then
echo "Error updating derby.jar. It may no longer be usable."
Modified: db/derby/code/trunk/tools/jdbc4/update-with-jdbc4.bat
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/tools/jdbc4/update-with-jdbc4.bat?view=diff&rev=447970&r1=447969&r2=447970
==============================================================================
--- db/derby/code/trunk/tools/jdbc4/update-with-jdbc4.bat (original)
+++ db/derby/code/trunk/tools/jdbc4/update-with-jdbc4.bat Tue Sep 19 14:02:49 2006
@@ -1,3 +1,4 @@
+@echo off
@REM Licensed to the Apache Software Foundation (ASF) under one
@REM or more contributor license agreements. See the NOTICE file
@REM distributed with this work for additional information
@@ -31,6 +32,7 @@
:setLocalClasspath
set LOCALCLASSPATH=%DERBY_HOME%\lib\derby.jar;%DERBY_HOME%\lib\derbyclient.jar
+@rmdir /s /q %DERBY_HOME%\jdbc4classes
:checkJava
set _JAVACMD=%JAVACMD%
@@ -46,25 +48,31 @@
if "%_JARCMD%" == "" set _JAVACMD=jar.exe
:endcheck
-echo "Building Derby client classes for JDBC 4.0"
+echo Building Derby client classes for JDBC 4.0...
mkdir %DERBY_HOME%\jdbc4classes\client
cd %SRCDIR%\java\client
FOR /F %%G in (%THISDIR%client.list) do %_JAVACMD% -d %DERBY_HOME%\jdbc4classes\client -classpath %LOCALCLASSPATH% -sourcepath "%CLIENTDIR%;%ENGINEDIR%;%SHAREDDIR%" %%G
-echo "Updating %DERBY_HOME%\lib\derbyclient.jar"
+echo Updating %DERBY_HOME%\lib\derbyclient.jar
%_JARCMD% uf %DERBY_HOME%\lib\derbyclient.jar -C %DERBY_HOME%\jdbc4classes\client org
-echo "Building Derby engine classes for JDBC 4.0"
+echo Building Derby engine classes for JDBC 4.0
mkdir %DERBY_HOME%\jdbc4classes\engine
+@rem stop the compiler from trying to recompile EmbedDatabaseMetaData
+cd %DERBY_HOME%\jdbc4classes\engine
+%_JARCMD% xf %DERBY_HOME%\lib\derby.jar org\apache\derby\impl\jdbc\EmbedDatabaseMetaData.class
+%_JARCMD% xf %DERBY_HOME%\lib\derby.jar org\apache\derby\modules.properties
cd %SRCDIR%\java\engine
FOR /F %%G in (%THISDIR%engine.list) do %_JAVACMD% -d %DERBY_HOME%\jdbc4classes\engine -classpath %LOCALCLASSPATH% -sourcepath "%ENGINEDIR%;%SHAREDDIR%" %%G
+copy /b %DERBY_HOME%\jdbc4classes\engine\org\apache\derby\modules.properties+%THISDIR%\modules.patch %DERBY_HOME%\jdbc4classes\engine\org\apache\derby\modules.properties
+del /q %DERBY_HOME%\jdbc4classes\engine\org\apache\derby\impl\jdbc\EmbedDatabaseMetaData.class
-echo "Updating %DERBY_HOME%\lib\derby.jar"
+echo Updating %DERBY_HOME%\lib\derby.jar
%_JARCMD% uf %DERBY_HOME%\lib\derby.jar -C %DERBY_HOME%\jdbc4classes\engine org
cd %THISDIR%
-echo "Cleaning up"
-@erase /s /q %DERBY_HOME%/jdbc4classes
-echo "Done."
+echo Cleaning up
+@rmdir /s /q %DERBY_HOME%\jdbc4classes
+echo Done.
:end