From 821dcddda0192cc97c49bbb768f48789d9f6795d Mon Sep 17 00:00:00 2001 From: zzz Date: Thu, 11 Jun 2009 23:38:15 +0000 Subject: [PATCH] * Installer: - Change the wrapper.config classpath to one line: lib/*.jar This means we lose control of classpath load order, so move the windows installer jars copy.jar, delete.jar, and exec.jar to a new installer/ directory so these jars won't be in the classpath or potentially conflict, since copy.jar and delete.jar include FileUtil.class, and we don't want to have to remember to add them to the updater if we ever change FileUtil.class. Delete the installer/ directory in postinstall.sh since it is windows-only. --- build.xml | 7 +++-- installer/install.xml | 26 ++++++++--------- installer/resources/postinstall.sh | 1 + installer/resources/wrapper.config | 46 ++++++++---------------------- 4 files changed, 30 insertions(+), 50 deletions(-) diff --git a/build.xml b/build.xml index 6c86b2b882..ae6224a70d 100644 --- a/build.xml +++ b/build.xml @@ -399,13 +399,14 @@ - + + - + - + diff --git a/installer/install.xml b/installer/install.xml index 42202f8eec..30cdd7351b 100644 --- a/installer/install.xml +++ b/installer/install.xml @@ -103,27 +103,27 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -132,13 +132,13 @@ - diff --git a/installer/resources/postinstall.sh b/installer/resources/postinstall.sh index 900e1d72a5..d273d226e9 100644 --- a/installer/resources/postinstall.sh +++ b/installer/resources/postinstall.sh @@ -73,6 +73,7 @@ rm -rf ./lib/wrapper rm -f ./lib/*.dll rm -f ./*.bat rm -f ./*.exe +rm -rf ./installer ./i2prouter start exit 0 diff --git a/installer/resources/wrapper.config b/installer/resources/wrapper.config index e35484de15..f46bf8d6bd 100644 --- a/installer/resources/wrapper.config +++ b/installer/resources/wrapper.config @@ -23,40 +23,18 @@ wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp # Java Classpath (include wrapper.jar) Add class path elements as # needed starting from 1 -# i2p sdk, public domain/BSD/Cryptix -wrapper.java.classpath.1=lib/i2p.jar -# router, depends on i2p.jar, public domain -wrapper.java.classpath.2=lib/router.jar -# compiled jbigi libraries, contains static libGMP, lgpl -wrapper.java.classpath.3=lib/jbigi.jar -# sam bridge, public domain (depends on i2p.jar) -wrapper.java.classpath.4=lib/sam.jar -# ministreaming lib -interfaces for streaming, BSD (depends on i2p.jar) -wrapper.java.classpath.5=lib/mstreaming.jar -# full streaming lib, public domain (depends on mstreaming.jar, i2p.jar) -wrapper.java.classpath.6=lib/streaming.jar -# router console, public domain (depends on i2p.jar, router.jar) -wrapper.java.classpath.7=lib/routerconsole.jar -# i2ptunnel, GPL (depends on mstreaming.jar, i2p.jar) -wrapper.java.classpath.8=lib/i2ptunnel.jar -# jetty libraries (and dependencies), apache licensed -wrapper.java.classpath.9=lib/org.mortbay.jetty.jar -wrapper.java.classpath.10=lib/javax.servlet.jar -wrapper.java.classpath.11=lib/jasper-compiler.jar -wrapper.java.classpath.12=lib/jasper-runtime.jar -wrapper.java.classpath.13=lib/commons-logging.jar -wrapper.java.classpath.14=lib/commons-el.jar -# java service wrapper, BSD -wrapper.java.classpath.15=lib/wrapper.jar -# systray, LGPL -wrapper.java.classpath.16=lib/systray.jar -wrapper.java.classpath.17=lib/systray4j.jar -# BOB -wrapper.java.classpath.18=lib/BOB.jar -# desktopgui -wrapper.java.classpath.19=lib/appframework.jar -wrapper.java.classpath.20=lib/swing-worker.jar -wrapper.java.classpath.21=lib/desktopgui.jar +# +# Doing it this way means we can add new apps without asking people +# to update their wrapper.config. +# The downside is that we lose control over classpath order, +# This is fine for new installs (where the uninstall jars +# copy.jar, delete.jar, and exec.jar containing duplicate FileUtil +# classes, or all the classes of i2p.jar, are in a different directory). +# Be sure there are no other duplicate classes. +# +wrapper.java.classpath.1=lib/*.jar +# uncomment this to use the system classpath as well (e.g. to get tools.jar) +# wrapper.java.classpath.2=%CLASSPATH% # Java Library Path (location of Wrapper.DLL or libwrapper.so) wrapper.java.library.path.1=.