home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
opendc12.zip
/
od124os2.exe
/
od12ort1.exe
/
bin
/
oddesk.cmd
< prev
next >
Wrap
OS/2 REXX Batch file
|
1997-04-02
|
7KB
|
211 lines
/* Hi Rexx!
*
* @(#) 1.28 os2/src/tools/oddesk.cmd, odtools, od96os2, odos29712d 3/13/97 00:00:39 [ 3/21/97 17:44:55 ]
*
*/
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs
env = 'OS2ENVIRONMENT'
n = setlocal()
/*
* Setup catgets macro
*/
ODBase = value('ODBASE',,env)
LANG = value('LANG',,env)
if LANG = '' then LANG = en_US
CATFile=ODBase || '\locale\' || LANG || '\oddesk.cmd'
call SysFileTree CATFile, 'file', 'FO'
if file.0 = 0 then
catgets = '@echo'
else
catgets = '@call 'CATFile
catgets 'ODDESK_Start' 'OpenDoc Desktop Reconstruction Facility'
/*:Step1
*
* Make sure environment is set up by testing for ODCFG, ODPARTS,
* and ODBASE. If they are not set then report error and terminate.
*
*/
catgets 'ODVARS_Check' 'o Checking for OD environment variables...'
ODCfg = value('ODCFG',,env)
ODParts = value('ODPARTS',,env)
if ODBase = '' then AbortNoEnv()
if ODCfg = '' then AbortNoEnv()
if ODParts = '' then AbortNoEnv()
catgets 'ODVARS_Found' 'Found it.'
/*:Step2
*
* Now make sure the ODBASE directory exists.
*
*/
catgets 'ODBASE_Check' 'o Checking for the ODBASE directory...'
dir = directory(ODBase)
if dir = '' then AbortNoBase()
catgets 'ODBASE_Found' 'Found it.'
/*
* Make sure, if ODCFG or ODPARTS exist, they are writable
*/
call SysFileTree ODCfg, 'file', 'D', '***+*'
if file.0 \= 0 then AbortReadOnly(ODCfg)
call SysFileTree ODParts, 'file', 'D', '***+*'
if file.0 \= 0 then AbortReadOnly(ODParts)
/*:Step3
*
* Now make sure %ODBASE%\bin\odinst.exe exists.
*
*/
catgets 'ODINST_Check' 'o Checking for the editor installer (odinst.exe)...'
ODInst=ODBase || '\bin\odinst.exe'
call SysFileTree ODInst, 'file', 'FO'
if file.0 = 0 then AbortNoODInst()
catgets 'ODINST_Found' 'Found it.'
/*:Step4
*
* Create the ODCFG and ODPARTS directories if they do not exist
*
*/
catgets 'DIRS_Create' 'o Creating ODCFG and ODPARTS directories...'
ODLang = value('ODLANG',,env)
if ODLANG = '' then ODLANG = en_US
Dir.1 = ODCfg || '\tmp'
Dir.2 = ODCfg || '\work\docs'
Dir.3 = ODCfg || '\work\plugins'
Dir.4 = ODCfg || '\work\editors'
Dir.5 = ODCfg || '\work\statry'
Dir.6 = ODParts || '\bin'
Dir.7 = ODParts || '\dll'
Dir.8 = ODParts || '\doc'
Dir.9 = ODParts || '\include'
Dir.10 = ODParts || '\locale'
Dir.11 = ODParts || '\lib'
Dir.13 = ODParts || '\src'
Dir.12 = ODParts || '\pkg'
Dir.12 = ODParts || '\pkg\' || ODLang
Dir.14 = ODParts || '\work\docs'
Dir.15 = ODParts || '\work\plugins'
Dir.16 = ODParts || '\work\editors'
Dir.17 = ODParts || '\work\statry'
do i=1 to 17
if MakeDir(Dir.i) \= 0 then AbortInvalidDir(Dir.i)
end
catgets 'DIRS_Complete' 'Done.'
/*:Step5
*
* Install the shipped part editors
* Note: BaseContainer and SimplePart should be installed before
* the rest.
*
*/
catgets 'PE_Install' 'o Installing part editors...'
Pkg.1 = ODBase || '\pkg\' || ODLang || '\iodbasec.odz'
Pkg.2 = ODBase || '\pkg\' || ODLang || '\iodsimpl.odz'
Pkg.3 = ODBase || '\pkg\' || ODLang || '\iodshape.odz'
Pkg.4 = ODBase || '\pkg\' || ODLang || '\iodlinkc.odz'
Pkg.5 = ODBase || '\pkg\' || ODLang || '\iodtext.odz'
do i=1 to 5
call value 'PKG', Pkg.i, env
call SysFileTree Pkg.i, 'file', 'FO'
if file.0 = 0 then
catgets 'PKG_Warning' 'Warning! Part editor package "'Pkg.i'" was not found.'
else
catgets 'PKG_Install' '...Installing 'Pkg.i'.'
'@ODInst -q' Pkg.i
end
/*:Step6
*
* Build the IBM OpenDoc folder and populate it.
*
*/
rc = SysCreateObject("WPFolder", "IBM OpenDoc", "<WP_DESKTOP>", "OBJECTID=<OD_OPENDOC>", "Fail")
rc = SysCreateShadow(ODBase"\readme.txt", "<OD_OPENDOC>")
rc = SysCreateShadow(ODBase"\readme.htm", "<OD_OPENDOC>")
rc = SysCreateShadow(ODBase"\license.txt", "<OD_OPENDOC>")
rc = SysCreateShadow(ODBase"\doc\"ODLang"\index.htm", "<OD_OPENDOC>")
rc = SysCreateObject("WPProgram", "OpenDoc", "<OD_OPENDOC>", "OBJECTID=<OD_DOCSHELL>;EXENAME="ODBase"\bin\docshell.exe;STARTUPDIR="ODCfg"\work\docs;ASSOCTYPE=OpenDoc Document;ASSOCFILTER=*.od")
rc = SysCreateObject("WPProgram", "Preference Editor", "<OD_OPENDOC>", "OBJECTID=<OD_PREFEDIT>;EXENAME="ODBase"\bin\prefedit.exe;STARTUPDIR="ODCfg"\work\docs")
rc = SysCreateObject("WPProgram", "Part Meister", "<OD_OPENDOC>", "OBJECTID=<OD_PMEISTER>;EXENAME="ODBase"\bin\pmeister.exe;STARTUPDIR="ODBase"\pmeister")
rc = SysCreateObject("WPProgram", "Install Editor", "<OD_OPENDOC>", "OBJECTID=<OD_ODINST>;EXENAME="ODBase"\bin\odinst.exe")
rc = SysCreateObject("WPProgram", "Uninstall Editor", "<OD_OPENDOC>", "OBJECTID=<OD_ODUNINST>;EXENAME="ODBase"\bin\oduninst.exe")
rc = SysCreateObject("WPProgram", "UnInstall OpenDoc", "<OD_OPENDOC>", "PROGTYPE=WINDOWABLEVIO;EXENAME=CMD.EXE;OBJECTID=<OD_OPENDOCNSTS>;STARTUPDIR="ODBase"\INSTALL;PARAMETERS=/C "ODBase"\INSTALL\EPFINSTS.EXE /C:"ODBase"\INSTALL\locale /A:D /P:'IBM OpenDoc (R) Version 1.1' /O:"ODBase";MINIMIZED=YES;ICONFILE="ODBase"\INSTALL\EPFIICIS.ICO")
rc = SysCreateObject("WPProgram", "Build OpenDoc Desktop", "<OD_OPENDOC>", "PROGTYPE=WINDOWABLEVIO;EXENAME=CMD.EXE;OBJECTID=<OD_OPENDOCREG>;STARTUPDIR="ODBase"\BIN;PARAMETERS=/C "ODBase"\BIN\ODDESK.CMD;MINIMIZED=NO")
/*
*
* End of Program
*
*/
n = endlocal()
catgets 'ODDESK_Finish' '...End of ODDESK Command...'
exit
/*
*
* Make a directory path
*
*/
MakeDir: Procedure
Arg dirPath
parse value dirPath with driveRoot ':\' dirPath
if driveRoot \= '' then curDir = directory(driveRoot':\')
do while dirPath \= ''
parse value dirPath with segment '\' dirPath
rc = SysMkDir(segment)
curDir = directory(segment)
end
if curDir \= '' then return 0
return 1
/*
*
* Routines to display error messages
*
*/
AbortNoEnv:
catgets 'AbortNoEnv' 'OpenDoc environment not setup.'
exit 1
AbortNoBase:
catgets 'AbortNoBase' 'No 'ODBase' OpenDoc directory.'
exit 1
AbortNoODInst:
catgets 'AbortNoODInst' 'Missing 'ODBase'\bin\ODINST.EXE (OpenDoc Part Installer)'
exit 1
AbortInvalidDir:
Arg aDir
value('DIR', aDir, env)
catgets 'AbortInvalidDir' 'Creation of directory 'aDir' failed.'
exit 1
AbortNoCMGRCMD:
catgets 'AbortNoCMGRCMD' 'Missing 'ODBase'\bin\cmgrcmd.exe (Lotus Script registration)'
exit 1
AbortReadOnly:
Arg aDir
value('DIR', aDir, env)
catgets 'AbortReadOnly' 'Directory 'aDir' must be writable.'
exit 1