- Created by Mark Juras, last modified on Dec 04, 2015
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 13 Next »
Overview
- Pre/Post Translation
- Pre/Post Deployment
- Pre/Post Build
- Functional Test Task
The UsrCmds field on each task record is where you specify the name of your batch script template. You will not typically specify the full path to your batch file, rather you will specify just the file name then place it in a standard template location such as the usr folder in your workspace.
The batch command script is a template file: it supports an extensive set of parameter variables (i.e. %parameter%) that will be replaced by actual values associated with the upgrade project/task to create an actual batch command script. The replacements produce the Actual Batch Command Script in the workspace\log folder. That Actual Batch Command Script is executed before and after the associated batch operation being performed by gmStudio. A listing of the actual batch script may be viewed at the bottom of the Deploy Log display on the Information panel.
For example, during the deploy operation, gmStudio starts a command line process and executes the following command line:
cmd.exe /C pushd "C:\gmSpec\Lang\OverloadArg\proj\log" && "OverloadArg-OverloadArg-2A-csh.userCmdBatch.cmd" PRE-DEPLOY >"OverloadArg-OverloadArg-2A-csh.bnd.log" 2>&1 && "C:\Program Files (x86)\GreatMigrations\gmStudio\\support\tools\deploy.exe" "OverloadArg-OverloadArg-2A-csh.bnd" replace verbose >> "C:\gmSpec\Lang\OverloadArg\proj\log\OverloadArg-OverloadArg-2A-csh.bnd.log" 2>&1 && "OverloadArg-OverloadArg-2A-csh.userCmdBatch.cmd" POST-DEPLOY >>"OverloadArg-OverloadArg-2A-csh.bnd.log" 2>&1 && popd The command line executes five operations: 1) Make workspace log folder the working folder 2) Run the actual batch command script passing PRE-DEPLOY 3) Run the deployment tool 4) Run the actual batch command script passing POST-DEPLOY 5) Reset the working folder The standard and error output of each operation is captured in a log file.
Batch Command Output
Steps to Activate the Default Batch Command Script
- Click the task you want to add user batch handling for
- Client Edit in the Information Panel
This will display the task information editor
- Enter the name UserCmd.cmd in the UserCmd field
- Click Save
The tool will copy a default UserCmd.cmd from to your workspace\usr folder if one is not already there.
Editing the User Batch Command Script
Once you have associated a batch command script with a task, clicking [Edit Task Script(s)] on the Task context menu will open the file in the editor along with the main translation task script.
Default Batch Command Script
A listing of the default Batch Command template that is distributed with gmStudio is shown below. Notice that there are different labeled sections that correspond to the different execution points.
::---------------------------------------------------------------- :: This command script is executed before and after major steps :: in processing each migration job. You may insert your pre- :: or post processing steps as appropriate. :: This sample includes steps for setting up a web site build. :: :: The following gmStudio variables are available to use in the script :: :: JobId = %JobId% :: JobName = %JobName% :: SrcName = %SrcName% :: ShellToolExe = %ShellToolExe% :: NetProjFolder = %NetProjFolder% :: ProjFolder = %ProjFolder% :: UserFolder = %UserFolder% :: VirtualRoot = %VirtualRoot% :: RuntimeFolder = %RuntimeFolder% :: SrcPath = %SrcPath% :: DeployFolder = %DeployFolder% :: SrcFolder = %SrcFolder% :: Dialect = %Dialect% :: MigName = %MigName% :: IdfFromIdlFolder = %IdfFromIdlFolder% :: IdfFromCodeFolder = %IdfFromCodeFolder% :: GenExternFolder = %GenExternFolder% :: DevEnv = %DevEnv% :: BndPath = %BndPath% :: ResxFolder = %ResxFolder% :: TaskTag = %TaskTag% :: SrcOrdr = %SrcOrdr% :: NetLang = %NetLang% :: NetExtn = %NetExtn% :: SettingsFolder = %SettingsFolder% :: UserDesc = %UserDesc% :: UserCmnt = %UserCmnt% ::---------------------------------------------------------------- @ECHO OFF IF .%1==.PRE-TRAN goto PRE-TRAN IF .%1==.POST-TRAN goto POST-TRAN IF .%1==.PRE-DEPLOY goto PRE-DEPLOY IF .%1==.POST-DEPLOY goto POST-DEPLOY IF .%1==.PRE-MAKE goto PRE-MAKE IF .%1==.POST-MAKE goto POST-MAKE IF .%1==.TEST goto TEST echo UNKNOWN USER COMMAND: %1% goto END ::---------------------------------------------------------------- :PRE-TRAN ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter pre-translation processing here goto END ::---------------------------------------------------------------- :POST-TRAN ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter post-translation processing here goto END ::---------------------------------------------------------------- :PRE-DEPLOY ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter pre-deployment processing here (e.g. file replacement) ::echo setup directory folders for site ::robocopy "%VirtualRoot%" "%ProjFolder%\deploy" * /s /xf * /e ::echo deleting *.as* files from deployment %ProjFolder%\deploy ::if exist "%ProjFolder%\deploy\*.as*" del /s "%ProjFolder%\deploy\*.as*" ::if exist "%ProjFolder%\deploy\*.cs*" del /s "%ProjFolder%\deploy\*.cs*" goto END ::---------------------------------------------------------------- :POST-DEPLOY ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter post-deployment processing here (e.g. file replacement) ::robocopy "%VirtualRoot%" "%NetProjFolder%" *.jpg *.gif *.png *.vbs *.js *.css *.xls *.txt /np /s /NJH goto END ::---------------------------------------------------------------- :PRE-MAKE ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter pre-build processing here goto END ::---------------------------------------------------------------- :POST-MAKE ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter post-build processing here goto END ::---------------------------------------------------------------- :TEST ::---------------------------------------------------------------- echo USER COMMAND: %1 [%JobId%] :: Enter functional testing here pushd "%NetProjFolder%\bin" "%SrcName%.exe" popd echo file-report layout:side-by-side ^& > diff.bc echo options:display-mismatches,line-numbers ^& >> diff.bc echo output-to:%%3 %%1 %%2 >> diff.bc ::"c:\Program Files (x86)\Beyond Compare 3\BComp.exe" @"diff.bc" "%SrcFolder%\%SrcName%.log" "%NetProjFolder%\bin\%SrcName%.log" %SrcName%_test.log fc "%SrcFolder%\%SrcName%.log" "%NetProjFolder%\bin\%SrcName%.log" :: type %srcName%_test.log goto END :END
- No labels