source: main/trunk/gli/makejar.bat@ 24766

Last change on this file since 24766 was 24766, checked in by ak19, 13 years ago

Makejar needs to put the org.apache classes into GLI.jar so that everything necessary is there in SignedGatherer.jar when running the GLIApplet. In order to get the org.apache classes into the gli\jar folder first, need to run the unjarring programs (such as to obtain the org.apache classes) from the batch file using the start command with the wait flag set, so that the batch script will wait for the unjarring programs to terminate before trying to move the resulting (unjarred) directories.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 6.5 KB
Line 
1echo off
2pushd "%CD%"
3CD /D "%~dp0"
4set GLILANG=en
5
6:: This script must be run from within the directory in which it lives
7if exist makejar.bat goto findJar
8 if "%GLILANG%" == "en" echo This script must be run from the directory in which it resides.
9 if "%GLILANG%" == "es" echo Este gui¢n deber  ejecutarse desde el directorio en el que reside.
10 if "%GLILANG%" == "fr" echo Ce script doit ˆtre ex‚cut‚ …
11 partir du r‚pertoire dans lequel il se trouve.
12 if "%GLILANG%" == "ru" echo â®â áªàš¯â €®«Š¥­ ¡ëâì ¢§ïâ š§ €šà¥ªâ®àšš, ¢ ª®â®à®© ®­ à á¯®«®Š¥­
13 goto exit
14
15
16
17
18:findJar
19:: ---- Check jar exists ----
20set JARPATH=
21
22:: Some users may set the above line manually
23if not "%JARPATH%" == "" goto testJar
24
25 :: If it is set, use the JAVA_HOME environment variable
26 if not "%JAVA_HOME%" == "" goto javahome
27
28 :: Check if jar is on the search path
29 echo %PATH%| winutil\which.exe jar.exe | winutil\setvar.exe JARPATH > setjar.bat
30 call setjar.bat
31 del setjar.bat
32 if not "%JARPATH%" == "" goto testJar
33
34 :: Still haven't found anything, so try looking in the registry (gulp!)
35 type nul > jdk.reg
36 regedit /E jdk.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit"
37 type jdk.reg > jdk.txt
38 del jdk.reg
39
40 winutil\findjava.exe jdk.txt | winutil\setvar.exe JARPATH > setjar.bat
41 del jdk.txt
42 call setjar.bat
43 del setjar.bat
44
45 :: If nothing was found in the registry, we're stuck
46 if "%JARPATH%" == "" goto noJar
47
48 set JARPATH=%JARPATH%\bin
49 goto testJar
50
51:javahome
52 set JARPATH=%JAVA_HOME%\bin
53
54:testJar
55:: Check that a jar executable has been found
56if "%GLILANG%" == "en" echo Checking jar: %JARPATH%
57if "%GLILANG%" == "es" echo Revisando jar: %JARPATH%
58if "%GLILANG%" == "fr" echo V‚rification de jar: %JARPATH%
59if "%GLILANG%" == "ru" echo à®¢¥àª  jar: %JARPATH%
60if exist "%JARPATH%\jar.exe" goto checkCompile
61
62:noJar
63 echo.
64 if "%GLILANG%" == "en" echo Failed to locate an appropriate version of jar. You must install a
65 if "%GLILANG%" == "en" echo Java Development Kit (version 1.4 or greater) before compiling the
66 if "%GLILANG%" == "en" echo Greenstone Librarian Interface.
67
68 if "%GLILANG%" == "es" echo No se pudo localizar una versi¢n apropiada de jar. Usted deber 
69 if "%GLILANG%" == "es" echo instalar un Kit de Desarrollo de Software Java (versi¢n 1.4 o superior)
70 if "%GLILANG%" == "es" echo antes de generar la documentaci¢n para la Interfaz de la Biblioteca
71 if "%GLILANG%" == "es" echo Digital Greenstone.
72
73 if "%GLILANG%" == "fr" echo Une version appropri‚e de jar n'a pas pu ˆtre localis‚e. Vous devez
74 if "%GLILANG%" == "fr" echo installer un Kit de D‚veloppement Java (version 1.4 ou sup‚rieure)
75 if "%GLILANG%" == "fr" echo avant de produire la documentation de Greenstone Librarian Interface.
76
77 if "%GLILANG%" == "ru" echo ¥ 〠«®áì ®¯à¥€¥«šâì ¬¥áâ®­ å®Š€¥­š¥ ᮮ⢥âáâ¢ãî饩 ¢¥àášš jar.
78 if "%GLILANG%" == "ru" echo ‚ë €®«Š­ë š­áâ ««šà®¢ âì Java Development Kit (¢¥àášï 1.4 š«š ¢ëè¥)
79 if "%GLILANG%" == "ru" echo ¯à¥Š€¥, 祬 £¥­¥àšà®¢ âì €®ªã¬¥­â æšî €«ï ¡š¡«š®â¥ç­®£®
80 if "%GLILANG%" == "ru" echo š­â¥àä¥©á  Greenstone.
81 goto exit
82
83
84
85:checkCompile
86:: Check that the GLI has been compiled
87if exist classes\org\greenstone\gatherer\GathererProg.class goto makeJar
88 if "%GLILANG%" == "es" (
89 echo Usted necesita compilar la Interfaz de la Biblioteca Digital Greenstone
90 echo ^(por medio de makegli.sh^) antes de ejecutar este guión.
91 )
92 if "%GLILANG%" == "fr" (
93 echo Vous devez compiler le Greenstone Interface ^(en utilisant makegli.sh^)
94 echo avant d'exécuter ce script.
95 )
96 if "%GLILANG%" == "ru" (
97 echo ÷Ù ÄÏÌÖÎÙ ËÏÍÐÉÌÉÒÏ×ÁÔØ ÂÉÂÌÉÏÔÅÞÎÙÊ ÉÎÔÅÒÆÅÊÓ Greenstone
98 echo ^(ÉÓÐÏÌØÚÕÑ makegli.sh^) ÐÅÒÅÄ ××ÏÄÏÍ ÜÔÏÇÏ ÓËÒÉÐÔÁ
99 )
100 if "%GLILANG%" == "en" (
101 echo You need to compile the Greenstone Librarian Interface ^(using makegli.sh^)
102 echo before running this script.
103 )
104 goto exit
105fi
106
107
108:makeJar
109:: All the GLI class files and supporting libraries are put into the "jar" directory.
110:: Running programs (or commands) with start /wait will wait for each program in turn to finish.
111:: This is needed when unjarring org (com and de) pkgs below, else it doesn't exist upon moving.
112:: See http://www.computerhope.com/forum/index.php?topic=83771.0 and
113:: http://stackoverflow.com/questions/4317020/windows-batch-sleep
114echo Assuming that Java code is freshly compiled...
115
116if NOT exist jar (
117 mkdir jar
118
119 cd lib
120 start "" /wait /b "%JARPATH%\jar" xf apache.jar com
121 start "" /wait /b "%JARPATH%\jar" xf apache.jar org
122 start "" /wait /b "%JARPATH%\jar" xf qfslib.jar de
123
124 move com ..\jar\com >NUL
125 move de ..\jar\de >NUL
126 move org ..\jar\org >NUL
127
128 cd ..
129)
130
131:: Copy the latest version of the GLI classes into the jar directory
132if exist jar\org\greenstone (
133 rmdir /q /s jar\org\greenstone
134)
135xcopy /i /e /q classes\org\greenstone jar\org\greenstone
136
137:: Some of the things to go into the JAR file are optional, and may not exist
138set optional=
139if exist collect.zip (
140 set optional=%optional% collect.zip
141)
142
143:: Recreate the metadata.zip file (contains the GLI metadata directory)
144if exist metadata.zip (
145 del /f metadata.zip
146)
147winutil\zip.exe -r metadata.zip metadata >NUL
148
149:: Jar everything up
150"%JARPATH%\jar" cf GLI.jar .java.policy metadata.zip %optional% help -C classes dictionary.properties -C classes dictionary_es.properties -C classes dictionary_fr.properties -C classes dictionary_ru.properties -C classes feedback.properties -C classes images -C classes xml -C jar com -C jar de -C jar org
151
152:: Tidy up
153del /f metadata.zip
154
155:: Generate the GLIServer.jar file for remote building
156"%JARPATH%\jar" cf GLIServer.jar -C classes org/greenstone/gatherer/remote
157
158:: ---- Make signed JAR file for the applet, if desired ----
159if (%1) == (-sign) (
160
161 if not exist appletstore (
162 "%JARPATH%\keytool" -genkey -alias privateKey -keystore appletstore -storepass greenstone
163 )
164
165 if exist SignedGatherer.jar del /f SignedGatherer.jar
166 if exist appletpasswd (
167 echo Using jarsigner to make signed jar file ...
168 "%JARPATH%\jarsigner" -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey < appletpasswd >NUL 2>NUL
169 echo ... done.
170 ) ELSE (
171 "%JARPATH%\jarsigner" -keystore appletstore -signedjar SignedGatherer.jar GLI.jar privateKey
172 )
173 echo Installing SignedGatherer in ..\bin\java
174 move SignedGatherer.jar ..\bin\java\SignedGatherer.jar
175)
176:exit
177
178popd
Note: See TracBrowser for help on using the repository browser.