This MettleCI capability takes a specified set of input ISX files and modifies them based on instructions provided in a supplied YAML file. The first public interface to the Transmuter function will be made available from the MettleCI command line.
Command
From MettleCI Command Line, run the asset-transformer transform
command, supplying values for these parameters:
isx: path to an ISX archive or directory containing archives
user: DataStage user to credit changes to
transforms: path to a YAML file describing transforms to perform
Example
Assume the following:
getmsg.isx
contains a parallel routine definition with the targetfilepath
string to be replacedu915264
is the valid DataStage user that should be credited for the last save in the routine definitionFile
changeLibFileInfo.yml
contains:- transform: SearchAndReplace xpath: /[contains(name(),'DSRoutineSDO')]/@modulePath searchString: /usr/local/dstage/[A-Za-z0-9_]/Routine/([A-Za-z0-9_]*).o replaceString: /usr/local/dstage/cplusplus/routines/$1.so
Executing the following command from a command prompt…
$> mettleci asset-transformer transform -isx C:\Users\u915264\transmuter\getmsg.isx -user u915264 -transforms changeStaticLibToDynamicLibFilename.yml
…will result in this output:
C:\Users\u915264\transmuter>mettleci asset-transformer transform -isx C:\Users\u915264\transmuter\getmsg.isx -user u915264 -transforms changeStaticLibToDynamicLibFilename.yml MettleCI Command Line (build 118) (C) 2018-2020 Data Migrators Pty Ltd ---------------------------------- ISX File: C:\Users\x247317a\transmuter\getmsg.isx ---------------------------------- Applying 'SearchAndReplace' transform to asset 'getmsg' Replaced '/usr/local/dstage/TPODS/Routine/get_msg_code.o' with '/usr/local/dstage/cplusplus/routines/get_msg_code.so' C:\Users\u915264\transmuter>
Note the message showing the target and replacement strings. Other transforms will produce different, transform-specific output.