Description
This model creates a GAMS deployment system. Complete two steps and run this model and pick up gmsdeply.zip in your project/current directory 1. Add the solvers and other products to the set DeployProducts. Display p to inspect all possible products. 2. Add names of files that usually do not come with your GAMS system but you want in your deployment system between on/offecho Keywords: GAMS language features
Reference
Small Model of Type : GAMS
Category : GAMS Model library
Main file : deploy.gms
$title GAMS Deployment Model (DEPLOY,SEQ=308)
$onText
This model creates a GAMS deployment system.
Complete two steps and run this model and pick up gmsdeply.zip
in your project/current directory
1. Add the solvers and other products to the set DeployProducts.
Display p to inspect all possible products.
2. Add names of files that usually do not come with your GAMS system
but you want in your deployment system between on/offecho
Keywords: GAMS language features
$offText
Set
p 'GAMS products' / system.SolverNames /
DeployProducts(p) / CONOPT /;
* Add extra non GAMS files to your deployment system (relative to the GAMS home directory)
* The path will be chopped and files will be placed into GAMS system directory
$if not set ziplist $set ziplist %gams.scrdir%ziplist.%gams.scrext%
$onEcho > "%ziplist%"
gamslice.txt
gamsstmp.txt
$offEcho
* There is no need to change anything beyond this line
* We always need the GAMS BASE system
DeployProducts('GAMS') = yes;
$if not set zipfile $set zipfile %gams.workdir%gmsdeply.zip
$set gmsdir %gams.scrdir%gmssysdir
Set pfmap 'products file mapping';
$gdxIn %gams.sysdir%gmspfmap
$load pfmap
$set gmslist %gams.scrdir%gmslist.%gams.scrext%
File fz / '%gmslist%' /;
fz.silent = 1;
Alias (f,d,*);
loop(pfmap(DeployProducts,d,f), put fz pfmap.te(DeployProducts,d,f):0 /;);
putClose fz;
$set prefix
$set cdopt /d
$if %system.filesys% == UNIX $set prefix sh
$if %system.filesys% == UNIX $set cdopt
File fs / 'runme.cmd' /;
fs.silent = 1;
fs.pw = 8192;
put fs
$if not %system.filesys% == UNIX '@echo off' /
'rm -f "%zipfile%"'
' && cd %cdopt% "%gams.sysdir%"'
' && cat "%gmslist%"'
' | gmszip -qq -@ "%zipfile%"'
' && cat "%ziplist%"'
' | gmszip -qq -j -@ "%zipfile%"'
/ 'mkdir "%gmsdir%"'
' && cd %cdopt% "%gmsdir%"'
' && gmsunzip -q "%zipfile%"'
/ 'cd %cdopt% "%gmsdir%"'
' && gamsinst -a > gamsinst.out 2>gamsinst.err'
' && gmszip -qr "%zipfile%" *'
/ 'cd .. && sleep 5 && rm -rf "%gmsdir%"';
putClose fs;
execute '%prefix% runme.cmd';