@profoundlogic/codermake 3.2.0-rc.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -2
- package/dist/bin/index.js +1 -1
- package/dist/bin/preprocess-cobol-copy.js +2 -0
- package/dist/bin/preprocess-rpg-copy.js +1 -1
- package/dist/bin/rdf-to-dds.js +1 -1
- package/dist/lib/cobol-copy-preprocessor.js +1 -0
- package/dist/lib/config.js +1 -1
- package/dist/lib/discovery.js +1 -1
- package/dist/lib/ejs-to-dds.js +1 -1
- package/dist/lib/ent.js +1 -1
- package/dist/lib/executor.js +1 -1
- package/dist/lib/flv.js +1 -1
- package/dist/lib/generate-rdf-dds.js +1 -1
- package/dist/lib/license.js +1 -1
- package/dist/lib/makefile-generator.js +1 -1
- package/dist/lib/platform.js +1 -1
- package/dist/lib/preprocessor.js +1 -1
- package/dist/lib/rdf-to-post-data.js +1 -1
- package/dist/lib/rpg-copy-preprocessor.js +1 -1
- package/dist/lib/ssh.js +1 -1
- package/dist/lib/target-listing.js +1 -1
- package/dist/lib/writer.js +1 -1
- package/dist/makefiles/base.mk +39 -0
- package/dist/makefiles/ibmi.mk +77 -2
- package/dist/makefiles/unix.mk +72 -2
- package/package.json +2 -3
- package/skills/codermake/SKILL.md +5 -0
- package/skills/codermake/references/file-types.md +94 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
const _0x3b2f3e=_0x3ba2;(function(_0x352182,_0x46f48c){const _0x420f04=_0x3ba2,_0x41455e=_0x352182();while(!![]){try{const _0x43434f=parseInt(_0x420f04(0x158))/0x1*(-parseInt(_0x420f04(0x14d))/0x2)+-parseInt(_0x420f04(0x149))/0x3*(-parseInt(_0x420f04(0x14a))/0x4)+parseInt(_0x420f04(0x16b))/0x5*(parseInt(_0x420f04(0x18b))/0x6)+-parseInt(_0x420f04(0x176))/0x7*(-parseInt(_0x420f04(0x16a))/0x8)+parseInt(_0x420f04(0x168))/0x9*(parseInt(_0x420f04(0x13b))/0xa)+parseInt(_0x420f04(0x139))/0xb*(-parseInt(_0x420f04(0x1a4))/0xc)+-parseInt(_0x420f04(0x191))/0xd;if(_0x43434f===_0x46f48c)break;else _0x41455e['push'](_0x41455e['shift']());}catch(_0x500d2f){_0x41455e['push'](_0x41455e['shift']());}}}(_0x22ee,0x18c37));import{COMMANDS,TGTRLS_COMMANDS}from'./config.js';function _0x3ba2(_0x36d996,_0x44554){_0x36d996=_0x36d996-0x134;const _0x22ee9d=_0x22ee();let _0x3ba22a=_0x22ee9d[_0x36d996];if(_0x3ba2['SIflCO']===undefined){var _0x3d9f97=function(_0x206f11){const _0x3b528d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5bfb60='',_0x1753f5='';for(let _0xcaac09=0x0,_0x15985f,_0x3f83bc,_0x5b10d4=0x0;_0x3f83bc=_0x206f11['charAt'](_0x5b10d4++);~_0x3f83bc&&(_0x15985f=_0xcaac09%0x4?_0x15985f*0x40+_0x3f83bc:_0x3f83bc,_0xcaac09++%0x4)?_0x5bfb60+=String['fromCharCode'](0xff&_0x15985f>>(-0x2*_0xcaac09&0x6)):0x0){_0x3f83bc=_0x3b528d['indexOf'](_0x3f83bc);}for(let _0x1b32b9=0x0,_0x24f163=_0x5bfb60['length'];_0x1b32b9<_0x24f163;_0x1b32b9++){_0x1753f5+='%'+('00'+_0x5bfb60['charCodeAt'](_0x1b32b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1753f5);};_0x3ba2['CwiylN']=_0x3d9f97,_0x3ba2['sFaVQo']={},_0x3ba2['SIflCO']=!![];}const _0x5a1159=_0x22ee9d[0x0],_0x4876d3=_0x36d996+_0x5a1159,_0x424ce2=_0x3ba2['sFaVQo'][_0x4876d3];return!_0x424ce2?(_0x3ba22a=_0x3ba2['CwiylN'](_0x3ba22a),_0x3ba2['sFaVQo'][_0x4876d3]=_0x3ba22a):_0x3ba22a=_0x424ce2,_0x3ba22a;}const RECORD_SENTINEL=_0x3b2f3e(0x162),RECORD_LINE_PREFIX=':\x20'+RECORD_SENTINEL+'\x09';export const RECORD_FIELDS=['target',_0x3b2f3e(0x155),_0x3b2f3e(0x19a),_0x3b2f3e(0x17c),'source',_0x3b2f3e(0x151),_0x3b2f3e(0x1a0)];export const LIST_FORMATS=[_0x3b2f3e(0x192),_0x3b2f3e(0x188),_0x3b2f3e(0x1a2)];const _0x3ac779={};_0x3ac779[_0x3b2f3e(0x171)]=_0x3b2f3e(0x17a),_0x3ac779['.module']=_0x3b2f3e(0x159),_0x3ac779[_0x3b2f3e(0x19e)]='*srvpgm',_0x3ac779[_0x3b2f3e(0x18f)]=_0x3b2f3e(0x1a7),_0x3ac779[_0x3b2f3e(0x185)]=_0x3b2f3e(0x17f),_0x3ac779[_0x3b2f3e(0x136)]=_0x3b2f3e(0x195),_0x3ac779['.bnddir']=_0x3b2f3e(0x142);const OBJECT_TYPES=_0x3ac779,_0x28ff49={};_0x28ff49['target']=_0x3b2f3e(0x141),_0x28ff49[_0x3b2f3e(0x155)]=_0x3b2f3e(0x134),_0x28ff49[_0x3b2f3e(0x19a)]=_0x3b2f3e(0x13c),_0x28ff49[_0x3b2f3e(0x17c)]=_0x3b2f3e(0x15c),_0x28ff49[_0x3b2f3e(0x137)]=_0x3b2f3e(0x170),_0x28ff49[_0x3b2f3e(0x151)]='TGTRLS',_0x28ff49[_0x3b2f3e(0x1a0)]=_0x3b2f3e(0x15b);const TEXT_HEADINGS=_0x28ff49,_0x3c9dde={};_0x3c9dde[_0x3b2f3e(0x1a3)]=_0x3b2f3e(0x157),_0x3c9dde[_0x3b2f3e(0x1a9)]='crtbndrpg',_0x3c9dde[_0x3b2f3e(0x13a)]=_0x3b2f3e(0x16e),_0x3c9dde[_0x3b2f3e(0x194)]='crtbndcl',_0x3c9dde[_0x3b2f3e(0x18e)]=_0x3b2f3e(0x15e),_0x3c9dde['BUILD_CLP38_PGM']=_0x3b2f3e(0x1a5),_0x3c9dde['BUILD_RPG_PGM']=_0x3b2f3e(0x13e),_0x3c9dde[_0x3b2f3e(0x156)]='qsys38/crtrpgpgm',_0x3c9dde['BUILD_SQLPROC_TO_PGM']=_0x3b2f3e(0x17b),_0x3c9dde['BUILD_SQLTRIGGER_TO_PGM']=_0x3b2f3e(0x17b),_0x3c9dde[_0x3b2f3e(0x153)]=_0x3b2f3e(0x177),_0x3c9dde['BUILD_SQLRPGLE_MODULE']=_0x3b2f3e(0x157),_0x3c9dde[_0x3b2f3e(0x13d)]=_0x3b2f3e(0x189),_0x3c9dde[_0x3b2f3e(0x184)]=_0x3b2f3e(0x150),_0x3c9dde[_0x3b2f3e(0x19d)]=_0x3b2f3e(0x198),_0x3c9dde[_0x3b2f3e(0x173)]=_0x3b2f3e(0x14b),_0x3c9dde[_0x3b2f3e(0x143)]=_0x3b2f3e(0x14b),_0x3c9dde['BUILD_SQLPROC_TO_SRVPGM']=_0x3b2f3e(0x17b),_0x3c9dde[_0x3b2f3e(0x144)]=_0x3b2f3e(0x17b),_0x3c9dde[_0x3b2f3e(0x15f)]=_0x3b2f3e(0x193),_0x3c9dde[_0x3b2f3e(0x163)]=_0x3b2f3e(0x193),_0x3c9dde[_0x3b2f3e(0x175)]=_0x3b2f3e(0x16c),_0x3c9dde[_0x3b2f3e(0x169)]=_0x3b2f3e(0x147),_0x3c9dde[_0x3b2f3e(0x17d)]=_0x3b2f3e(0x1a1),_0x3c9dde[_0x3b2f3e(0x14c)]=_0x3b2f3e(0x138),_0x3c9dde['BUILD_PF38_TO_FILE']='qsys38/crtpf',_0x3c9dde[_0x3b2f3e(0x1aa)]=_0x3b2f3e(0x1a8),_0x3c9dde[_0x3b2f3e(0x181)]=_0x3b2f3e(0x1ab),_0x3c9dde['BUILD_SQLTABLE_TO_FILE']=_0x3b2f3e(0x17b),_0x3c9dde['BUILD_SQLINDEX_TO_FILE']=_0x3b2f3e(0x17b),_0x3c9dde[_0x3b2f3e(0x14e)]='runsqlstm',_0x3c9dde[_0x3b2f3e(0x152)]='',_0x3c9dde[_0x3b2f3e(0x140)]='',_0x3c9dde[_0x3b2f3e(0x135)]='crtmnu';const RECIPE_COMMANDS=_0x3c9dde;export function objectTypeForExtension(_0x5503ac){return OBJECT_TYPES[_0x5503ac]||null;}export function recipeAcceptsTargetRelease(_0x14c65a){const _0x176e1d=_0x3b2f3e,_0x1b9c81=RECIPE_COMMANDS[_0x14c65a];return!!_0x1b9c81&&TGTRLS_COMMANDS[_0x176e1d(0x148)](_0x1b9c81);}function _0x22ee(){const _0x228d41=['BwfW','kM1LBNu','C3vIC3rYAw5N','qLvjterFufjurJm4x1rpx0zjteu','vw5RBM93BIb0yxjNzxqGBgLZDgLUzYbMB3jTyxq6ia','tM8GDgfYz2v0CYbHzMzLy3rLzcaOzxzLCNL0AgLUzYbPCYb1Ccb0BYbKyxrLks4','qLvjterFq0jmtevFtu9evuXf','lM1LBNu','Bwf4','EgTXy1G','ANnVBG','y3j0CNbNBw9K','twfSzM9YBwvKihrHCMDLDcbSAxn0Aw5NihjLy29YzcaOzxHWzwn0zwqG','mJa0r1HVs2zd','u2DHz0i','igfMzMvJDgvKicHKzxbLBMrLBMn5ig9YzgvYkq','qLvjterFq0Xqx1bhtq','lMzPBgu','AM9PBG','mZeYmti2mwXLDMHIqW','Dgv4Da','y3j0zhnWzG','qLvjterFq0Xmrv9qr00','kM1Zz2y','DhLcuge','C3rHCNrZv2L0Aa','y3j0y2XTB2q','DgvZDa','B2jQzwn0','DgfYz2v0CW','C3bSAxq','qLvjterFq0Xmrv9nt0rvteu','lNnYDNbNBq','q2fUBM90igXPC3qGDgfYz2v0icC','CMvHC29U','y3j0Chj0zG','Dhn2','qLvjterFu1fmuLbhtevFueDn','mtKYqxzfCLjR','Cxn5CZm4l2nYDgnSCgDT','cua6ia','kMzPBgu','Cxn5CZm4l2nYDgXM','qLvjterFuLbhtevFueDn','qLvjterFteyZof9ut19gsuXf','Cxn5CZm4l2nYDhbYDgy','teLcuKfswq','qLvjterFtuvovq','lM1Zz2y','C291CMnL','Cxn5CZm4l2nYDgrZCgy','oduZodjcBhvkr2S','qLvjterFq0jmtevFueDn','mtK3mejADfLjuq','t0jkrunu','qLvjterFuLbhtevFtu9evuXf','y3j0CNbNCgDT','zM9YrwfJAa','qLvjterFqK5ereLs','vefsr0vu','kMjUzgrPCG','qLvjterFtu9evuXfx1rpx1nsvLbhtv9bteW','qLvjterFu1fmvurgx1rpx1nsvLbhtq','ktOG','uwvvyuq','y3j0Bgy','AgfZ','ndK1A2DSDKvz','mZiZnMvWCeD5zW','y3j0C3j2CgDT','qLvjterFrfnqrJm4x1rpx0zjteu','ndu2nJjhtuTfAM4','qLvjterFu1fmvKLfv19ut19gsuXf','D2HPy2GGDgHLihjLy29YzcbMB3jTyxqGDxnLCYbHCYbZzxbHCMf0B3jZlG','y3j0y2jSBw9K','DgfYz2v0uMvSzwfZzq','qLvjterFtvnhrG','qLvjterFtu9evuXfx1rpx1bhtq','C3rYAw5NAwz5','BgLICMfYEq','qLvjterFuLbhmZHFueDn','y3j0C3fSCNbNAq','nMzStMjOAW','kM1VzhvSzq','CMvWBgfJzq','uKvbu09o','vfLqrq','DMvYC2LVBG','y3j0y2XWz20','qLvjterFuKrgx1rpx0zjteu','DhjPBuvUza','vwnovKe','q09ervjnquTfx1rbuKDfva','qLvjterFrfnqrL9ut19gsuXf','twDkEge','DgfYz2v0','wg93tfy','sNHPAee','nJK1n0jfru5bBa','qLvjterFtezFve9FrKLmrq','odCZodr2BxfSAfa','mtC2otvnr3Hlyxq','y3j0Cgy','zw50CMLLCW','y3j0yM5Ky2jS','y291BNq','u09vuKnf','lNbNBq','ChvZAa','qLvjterFtu9evuXfx1rpx1nsvLbhtq','BgvUz3rO','qLvjterFuezFve9FrKLmrq','mti2EwD0EMnZ','y3j0CgDT','ignVBNrHAw5ZigeGDgfIig9Yig5LD2XPBMuSia','jcHdt0rfuK1bs0vFteLtvf9sruftt04P','kNbNBq','CNvUC3fSC3rT','DhLWzq','qLvjterFufjurL9ut19gsuXf'];_0x22ee=function(){return _0x228d41;};return _0x22ee();}export function commandForRecipe(_0x5d3569){return RECIPE_COMMANDS[_0x5d3569];}export const KNOWN_COMMANDS=COMMANDS;export function renderRecordRecipe({target:_0x81b09e,library:_0x2bcd4a,object:_0x3d22da,type:_0x475543,source:_0x1bab3b,withTargetRelease:_0x3c9fd1}){const _0x2522e6=_0x3b2f3e,_0x4ec6c5={};_0x4ec6c5[_0x2522e6(0x196)]='$(CODERMAKE_TGTRLS)',_0x4ec6c5[_0x2522e6(0x161)]=_0x2522e6(0x179);const _0x116b79=_0x4ec6c5,_0x11652b={};_0x11652b['target']=_0x81b09e,_0x11652b[_0x2522e6(0x155)]=_0x2bcd4a,_0x11652b[_0x2522e6(0x19a)]=_0x3d22da,_0x11652b['type']=_0x475543,_0x11652b[_0x2522e6(0x137)]=_0x1bab3b||'',_0x11652b['targetRelease']=_0x3c9fd1?_0x116b79['tyBPa']:'',_0x11652b[_0x2522e6(0x1a0)]=_0x116b79[_0x2522e6(0x161)];const _0x4991ff=_0x11652b;for(const [_0xb34b17,_0x3e87d5]of Object[_0x2522e6(0x16d)](_0x4991ff)){if(/[\t\n]/[_0x2522e6(0x199)](_0x3e87d5))throw new Error(_0x2522e6(0x19f)+_0x81b09e+'\x27:\x20its\x20'+_0xb34b17+_0x2522e6(0x178)+_0x2522e6(0x14f));}const _0xfb6569=RECORD_FIELDS['map'](_0x1095ef=>_0x4991ff[_0x1095ef]);return _0x2522e6(0x1a6)+RECORD_SENTINEL+'\x09'+_0xfb6569[_0x2522e6(0x190)]('\x09');}export function isRecordLine(_0x242663){const _0x1daa47=_0x3b2f3e;return _0x242663[_0x1daa47(0x197)](RECORD_LINE_PREFIX);}export function parseRecords(_0x58e2fc){const _0x46851a=_0x3b2f3e,_0x3b3765={};_0x3b3765[_0x46851a(0x146)]=function(_0x22a519,_0x33f974){return _0x22a519!==_0x33f974;};const _0x505a27=_0x3b3765,_0xacd2d8=[];for(const _0x2efaff of _0x58e2fc[_0x46851a(0x19c)]('\x0a')){const _0x99e3a=_0x2efaff[_0x46851a(0x15a)](/\r$/,'');if(!isRecordLine(_0x99e3a))continue;const _0x586291=_0x99e3a[_0x46851a(0x180)](RECORD_LINE_PREFIX[_0x46851a(0x174)])[_0x46851a(0x19c)]('\x09');if(_0x505a27[_0x46851a(0x146)](_0x586291['length'],RECORD_FIELDS['length']))throw new Error(_0x46851a(0x18a)+RECORD_FIELDS['length']+'\x20fields,\x20got\x20'+_0x586291[_0x46851a(0x174)]+_0x46851a(0x145)+_0x99e3a);const _0x1a3f16={};RECORD_FIELDS[_0x46851a(0x13f)]((_0x1a0f28,_0x27f456)=>{_0x1a3f16[_0x1a0f28]=_0x586291[_0x27f456];}),_0xacd2d8[_0x46851a(0x172)](_0x1a3f16);}return _0xacd2d8;}function formatTsv(_0x13dd30){const _0x3ea0a5=_0x3b2f3e;return _0x13dd30[_0x3ea0a5(0x17e)](_0x43340e=>RECORD_FIELDS['map'](_0x5a4107=>_0x43340e[_0x5a4107])[_0x3ea0a5(0x190)]('\x09'))['join']('\x0a');}function formatJson(_0x1a95e4){const _0x2113f0=_0x3b2f3e,_0x48a34b={};_0x48a34b[_0x2113f0(0x187)]=function(_0x52a65a,_0x221561){return _0x52a65a===_0x221561;};const _0x4398cb=_0x48a34b,_0x2ecffe=_0x1a95e4[_0x2113f0(0x17e)](_0x50757a=>{const _0x268e87=_0x2113f0,_0x22e883={};for(const _0x4ecc32 of RECORD_FIELDS){_0x22e883[_0x4ecc32]=_0x4398cb[_0x268e87(0x187)](_0x50757a[_0x4ecc32],'')?null:_0x50757a[_0x4ecc32];}return _0x22e883;}),_0xfd737c={};return _0xfd737c[_0x2113f0(0x15d)]=0x1,_0xfd737c[_0x2113f0(0x16f)]=_0x2ecffe[_0x2113f0(0x174)],_0xfd737c['targets']=_0x2ecffe,JSON[_0x2113f0(0x154)](_0xfd737c,null,0x2);}function formatText(_0x25d9d4){const _0x32f599=_0x3b2f3e,_0x886db6={};_0x886db6[_0x32f599(0x18c)]=function(_0x3417e3,_0x339a4b){return _0x3417e3===_0x339a4b;},_0x886db6[_0x32f599(0x167)]=_0x32f599(0x183),_0x886db6['XowLV']=_0x32f599(0x165),_0x886db6[_0x32f599(0x164)]=_0x32f599(0x19b);const _0x260e12=_0x886db6;if(_0x260e12[_0x32f599(0x18c)](_0x25d9d4[_0x32f599(0x174)],0x0))return _0x260e12[_0x32f599(0x167)];const _0x5558fd=RECORD_FIELDS[_0x32f599(0x17e)](_0x3a2ad0=>Math[_0x32f599(0x186)](TEXT_HEADINGS[_0x3a2ad0]['length'],..._0x25d9d4[_0x32f599(0x17e)](_0x440ab3=>_0x440ab3[_0x3a2ad0][_0x32f599(0x174)]))),_0x45b28c=_0x33a00a=>_0x33a00a[_0x32f599(0x17e)]((_0x566d68,_0x2469d1)=>_0x2469d1===_0x33a00a[_0x32f599(0x174)]-0x1?_0x566d68:_0x566d68['padEnd'](_0x5558fd[_0x2469d1]))[_0x32f599(0x190)]('\x20\x20')[_0x32f599(0x160)](),_0x50a95d=_0x25d9d4[_0x32f599(0x174)]===0x1?_0x260e12[_0x32f599(0x166)]:_0x260e12[_0x32f599(0x164)];return[_0x25d9d4[_0x32f599(0x174)]+'\x20'+_0x50a95d+_0x32f599(0x18d),'',_0x45b28c(RECORD_FIELDS[_0x32f599(0x17e)](_0x4152da=>TEXT_HEADINGS[_0x4152da])),..._0x25d9d4[_0x32f599(0x17e)](_0x1047c4=>_0x45b28c(RECORD_FIELDS[_0x32f599(0x17e)](_0x26060a=>_0x1047c4[_0x26060a])))]['join']('\x0a');}export function formatRecords(_0x29fa9c,_0x26efeb){const _0x2955da=_0x3b2f3e,_0x2cd372={'XvHJp':_0x2955da(0x192),'VwzuQ':function(_0x117728,_0x109ceb){return _0x117728(_0x109ceb);}};switch(_0x26efeb){case _0x2955da(0x1a2):return formatTsv(_0x29fa9c);case _0x2955da(0x188):return formatJson(_0x29fa9c);case _0x2cd372['XvHJp']:return _0x2cd372['VwzuQ'](formatText,_0x29fa9c);default:throw new Error(_0x2955da(0x182)+_0x26efeb);}}
|
|
1
|
+
const _0x354d40=_0x2abf;(function(_0x731bb2,_0x11093c){const _0xb2246e=_0x2abf,_0x278e77=_0x731bb2();while(!![]){try{const _0x2a5040=-parseInt(_0xb2246e(0x154))/0x1+-parseInt(_0xb2246e(0x1a1))/0x2*(parseInt(_0xb2246e(0x14b))/0x3)+parseInt(_0xb2246e(0x1b8))/0x4*(-parseInt(_0xb2246e(0x15c))/0x5)+-parseInt(_0xb2246e(0x195))/0x6+-parseInt(_0xb2246e(0x17c))/0x7*(parseInt(_0xb2246e(0x18f))/0x8)+-parseInt(_0xb2246e(0x1c8))/0x9*(parseInt(_0xb2246e(0x19e))/0xa)+parseInt(_0xb2246e(0x14e))/0xb;if(_0x2a5040===_0x11093c)break;else _0x278e77['push'](_0x278e77['shift']());}catch(_0x2c0a2a){_0x278e77['push'](_0x278e77['shift']());}}}(_0x563b,0xa32b2));import{COMMANDS,TGTRLS_COMMANDS}from'./config.js';const RECORD_SENTINEL=_0x354d40(0x196),RECORD_LINE_PREFIX=':\x20'+RECORD_SENTINEL+'\x09';export const RECORD_FIELDS=[_0x354d40(0x19c),_0x354d40(0x159),_0x354d40(0x158),_0x354d40(0x161),_0x354d40(0x1a6),_0x354d40(0x172),_0x354d40(0x1a9)];export const LIST_FORMATS=[_0x354d40(0x1b5),_0x354d40(0x18e),_0x354d40(0x192)];const _0x534633={};_0x534633[_0x354d40(0x1b0)]=_0x354d40(0x1a8),_0x534633['.module']='*module',_0x534633['.srvpgm']=_0x354d40(0x15d),_0x534633[_0x354d40(0x19d)]=_0x354d40(0x1ad),_0x534633[_0x354d40(0x19a)]=_0x354d40(0x1c0),_0x534633[_0x354d40(0x191)]=_0x354d40(0x16d),_0x534633[_0x354d40(0x163)]=_0x354d40(0x14a);function _0x2abf(_0x13e789,_0x3762d8){_0x13e789=_0x13e789-0x14a;const _0x563b7a=_0x563b();let _0x2abf74=_0x563b7a[_0x13e789];if(_0x2abf['CDpWcA']===undefined){var _0x17088c=function(_0x2c6cd2){const _0x3e5ab8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38ad00='',_0x283907='';for(let _0x45c0ed=0x0,_0x14117a,_0x5e409d,_0x2996aa=0x0;_0x5e409d=_0x2c6cd2['charAt'](_0x2996aa++);~_0x5e409d&&(_0x14117a=_0x45c0ed%0x4?_0x14117a*0x40+_0x5e409d:_0x5e409d,_0x45c0ed++%0x4)?_0x38ad00+=String['fromCharCode'](0xff&_0x14117a>>(-0x2*_0x45c0ed&0x6)):0x0){_0x5e409d=_0x3e5ab8['indexOf'](_0x5e409d);}for(let _0x374963=0x0,_0x4c7bf6=_0x38ad00['length'];_0x374963<_0x4c7bf6;_0x374963++){_0x283907+='%'+('00'+_0x38ad00['charCodeAt'](_0x374963)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x283907);};_0x2abf['exFSxx']=_0x17088c,_0x2abf['Xtswuc']={},_0x2abf['CDpWcA']=!![];}const _0x5af41a=_0x563b7a[0x0],_0x168558=_0x13e789+_0x5af41a,_0x59eaa3=_0x2abf['Xtswuc'][_0x168558];return!_0x59eaa3?(_0x2abf74=_0x2abf['exFSxx'](_0x2abf74),_0x2abf['Xtswuc'][_0x168558]=_0x2abf74):_0x2abf74=_0x59eaa3,_0x2abf74;}const OBJECT_TYPES=_0x534633,_0x6374cd={};_0x6374cd['target']=_0x354d40(0x199),_0x6374cd['library']=_0x354d40(0x1a5),_0x6374cd[_0x354d40(0x158)]=_0x354d40(0x193),_0x6374cd['type']='TYPE',_0x6374cd[_0x354d40(0x1a6)]='SOURCE',_0x6374cd[_0x354d40(0x172)]=_0x354d40(0x1b3),_0x6374cd['reason']=_0x354d40(0x18a);const TEXT_HEADINGS=_0x6374cd,_0x2c5167={};_0x2c5167[_0x354d40(0x165)]='crtsqlrpgi',_0x2c5167[_0x354d40(0x1ab)]=_0x354d40(0x171),_0x2c5167[_0x354d40(0x1b6)]=_0x354d40(0x1c1),_0x2c5167[_0x354d40(0x1ba)]=_0x354d40(0x151),_0x2c5167[_0x354d40(0x1b9)]=_0x354d40(0x15b),_0x2c5167[_0x354d40(0x169)]=_0x354d40(0x1a3),_0x2c5167['BUILD_SQLCBL_PGM']='crtsqlcbl',_0x2c5167['BUILD_CLLE_PGM']=_0x354d40(0x16b),_0x2c5167[_0x354d40(0x175)]=_0x354d40(0x18b),_0x2c5167[_0x354d40(0x1bb)]=_0x354d40(0x180),_0x2c5167[_0x354d40(0x1a4)]=_0x354d40(0x166),_0x2c5167[_0x354d40(0x152)]=_0x354d40(0x167),_0x2c5167[_0x354d40(0x164)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x178)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x18d)]=_0x354d40(0x1bc),_0x2c5167[_0x354d40(0x17a)]='crtsqlrpgi',_0x2c5167[_0x354d40(0x1c5)]=_0x354d40(0x1b1),_0x2c5167[_0x354d40(0x184)]=_0x354d40(0x1c4),_0x2c5167[_0x354d40(0x185)]=_0x354d40(0x151),_0x2c5167[_0x354d40(0x162)]=_0x354d40(0x1c7),_0x2c5167[_0x354d40(0x187)]=_0x354d40(0x186),_0x2c5167[_0x354d40(0x17d)]='crtsrvpgm',_0x2c5167[_0x354d40(0x16a)]='runsqlstm',_0x2c5167[_0x354d40(0x16e)]='runsqlstm',_0x2c5167[_0x354d40(0x1af)]=_0x354d40(0x16c),_0x2c5167[_0x354d40(0x1be)]='crtdspf',_0x2c5167[_0x354d40(0x1ca)]=_0x354d40(0x1ac),_0x2c5167[_0x354d40(0x1b4)]=_0x354d40(0x1c3),_0x2c5167[_0x354d40(0x1ae)]=_0x354d40(0x1aa),_0x2c5167[_0x354d40(0x17f)]=_0x354d40(0x16f),_0x2c5167['BUILD_PF38_TO_FILE']='qsys38/crtpf',_0x2c5167['BUILD_LF38_TO_FILE']=_0x354d40(0x183),_0x2c5167[_0x354d40(0x176)]='qsys38/crtprtf',_0x2c5167[_0x354d40(0x177)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x160)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x1c9)]=_0x354d40(0x15a),_0x2c5167[_0x354d40(0x19f)]='',_0x2c5167[_0x354d40(0x1a2)]='',_0x2c5167['BUILD_MENU']=_0x354d40(0x1cb);const RECIPE_COMMANDS=_0x2c5167;export function objectTypeForExtension(_0x20e7c4){return OBJECT_TYPES[_0x20e7c4]||null;}export function recipeAcceptsTargetRelease(_0x4392f7){const _0x162dbd=_0x354d40,_0x9c9c50=RECIPE_COMMANDS[_0x4392f7];return!!_0x9c9c50&&TGTRLS_COMMANDS[_0x162dbd(0x15f)](_0x9c9c50);}export function commandForRecipe(_0x3c513f){return RECIPE_COMMANDS[_0x3c513f];}export const KNOWN_COMMANDS=COMMANDS;export function renderRecordRecipe({target:_0x2ec724,library:_0x350048,object:_0x3f9bbc,type:_0xc2e8ad,source:_0x308e7f,withTargetRelease:_0x5675fd}){const _0x566301=_0x354d40,_0x250373={};_0x250373[_0x566301(0x14d)]=function(_0x4f30b0,_0x1b9834){return _0x4f30b0+_0x1b9834;};const _0x33fc49=_0x250373,_0x47a907={};_0x47a907[_0x566301(0x19c)]=_0x2ec724,_0x47a907[_0x566301(0x159)]=_0x350048,_0x47a907['object']=_0x3f9bbc,_0x47a907[_0x566301(0x161)]=_0xc2e8ad,_0x47a907['source']=_0x308e7f||'',_0x47a907[_0x566301(0x172)]=_0x5675fd?_0x566301(0x17b):'',_0x47a907['reason']=_0x566301(0x1c2);const _0x96c178=_0x47a907;for(const [_0x1c7fa2,_0x224abb]of Object['entries'](_0x96c178)){if(/[\t\n]/[_0x566301(0x190)](_0x224abb))throw new Error(_0x33fc49[_0x566301(0x14d)]('Cannot\x20list\x20target\x20\x27'+_0x2ec724+_0x566301(0x188)+_0x1c7fa2+_0x566301(0x179),_0x566301(0x181)));}const _0x9de05a=RECORD_FIELDS[_0x566301(0x14c)](_0x3953e3=>_0x96c178[_0x3953e3]);return'\x09@:\x20'+RECORD_SENTINEL+'\x09'+_0x9de05a[_0x566301(0x15e)]('\x09');}export function isRecordLine(_0x403764){const _0x2e2842=_0x354d40;return _0x403764[_0x2e2842(0x1b2)](RECORD_LINE_PREFIX);}export function parseRecords(_0x3c8fb1){const _0x11f18c=_0x354d40,_0x3ac543={'FROmh':function(_0x4af874,_0x4957f5){return _0x4af874(_0x4957f5);},'eLqIE':function(_0x2425a2,_0x5a0d37){return _0x2425a2!==_0x5a0d37;}},_0xd8aba7=[];for(const _0x12cbb8 of _0x3c8fb1[_0x11f18c(0x182)]('\x0a')){const _0x55a442=_0x12cbb8[_0x11f18c(0x18c)](/\r$/,'');if(!_0x3ac543[_0x11f18c(0x194)](isRecordLine,_0x55a442))continue;const _0x5b9240=_0x55a442[_0x11f18c(0x14f)](RECORD_LINE_PREFIX[_0x11f18c(0x189)])[_0x11f18c(0x182)]('\x09');if(_0x3ac543['eLqIE'](_0x5b9240[_0x11f18c(0x189)],RECORD_FIELDS[_0x11f18c(0x189)]))throw new Error(_0x11f18c(0x153)+RECORD_FIELDS[_0x11f18c(0x189)]+'\x20fields,\x20got\x20'+_0x5b9240[_0x11f18c(0x189)]+_0x11f18c(0x1a0)+_0x55a442);const _0xb1cc41={};RECORD_FIELDS[_0x11f18c(0x19b)]((_0x436a02,_0x1c693f)=>{_0xb1cc41[_0x436a02]=_0x5b9240[_0x1c693f];}),_0xd8aba7[_0x11f18c(0x173)](_0xb1cc41);}return _0xd8aba7;}function formatTsv(_0x223e6b){const _0x5e19e9=_0x354d40;return _0x223e6b[_0x5e19e9(0x14c)](_0x96b0ec=>RECORD_FIELDS['map'](_0x571562=>_0x96b0ec[_0x571562])[_0x5e19e9(0x15e)]('\x09'))[_0x5e19e9(0x15e)]('\x0a');}function formatJson(_0x25f37f){const _0x169c11=_0x354d40,_0x195cfe={};_0x195cfe['nYVdf']=function(_0x477a8e,_0x459d71){return _0x477a8e===_0x459d71;};const _0x5eb23e=_0x195cfe,_0x56dfcb=_0x25f37f[_0x169c11(0x14c)](_0x71f9cb=>{const _0x38cf8b=_0x169c11,_0x155b57={};for(const _0x4a04e7 of RECORD_FIELDS){_0x155b57[_0x4a04e7]=_0x5eb23e[_0x38cf8b(0x198)](_0x71f9cb[_0x4a04e7],'')?null:_0x71f9cb[_0x4a04e7];}return _0x155b57;}),_0x877c66={};return _0x877c66[_0x169c11(0x155)]=0x1,_0x877c66['count']=_0x56dfcb[_0x169c11(0x189)],_0x877c66[_0x169c11(0x1c6)]=_0x56dfcb,JSON[_0x169c11(0x156)](_0x877c66,null,0x2);}function formatText(_0x2e563e){const _0x3f44e6=_0x354d40,_0x53b89d={'QSIBg':function(_0x329e5c,_0x135caa){return _0x329e5c===_0x135caa;},'SLlXQ':'No\x20targets\x20affected\x20(everything\x20is\x20up\x20to\x20date).','mTXEH':function(_0x46dbf3,_0x48beb5){return _0x46dbf3===_0x48beb5;},'JjqRq':_0x3f44e6(0x1c6),'OVKNn':function(_0x253c1f,_0xf3b6aa){return _0x253c1f(_0xf3b6aa);}};if(_0x53b89d[_0x3f44e6(0x1b7)](_0x2e563e[_0x3f44e6(0x189)],0x0))return _0x53b89d[_0x3f44e6(0x1cc)];const _0x5c0c0d=RECORD_FIELDS[_0x3f44e6(0x14c)](_0x772139=>Math[_0x3f44e6(0x174)](TEXT_HEADINGS[_0x772139][_0x3f44e6(0x189)],..._0x2e563e[_0x3f44e6(0x14c)](_0x11936f=>_0x11936f[_0x772139][_0x3f44e6(0x189)]))),_0x55cdd9=_0x5dec14=>_0x5dec14[_0x3f44e6(0x14c)]((_0x321c16,_0x458bdf)=>_0x458bdf===_0x5dec14[_0x3f44e6(0x189)]-0x1?_0x321c16:_0x321c16[_0x3f44e6(0x17e)](_0x5c0c0d[_0x458bdf]))['join']('\x20\x20')['trimEnd'](),_0x19eca7=_0x53b89d[_0x3f44e6(0x1a7)](_0x2e563e[_0x3f44e6(0x189)],0x1)?'target':_0x53b89d[_0x3f44e6(0x197)];return[_0x2e563e[_0x3f44e6(0x189)]+'\x20'+_0x19eca7+_0x3f44e6(0x168),'',_0x53b89d[_0x3f44e6(0x170)](_0x55cdd9,RECORD_FIELDS['map'](_0xe55a61=>TEXT_HEADINGS[_0xe55a61])),..._0x2e563e[_0x3f44e6(0x14c)](_0x3989e8=>_0x55cdd9(RECORD_FIELDS['map'](_0x176cfa=>_0x3989e8[_0x176cfa])))]['join']('\x0a');}export function formatRecords(_0x4b7fe8,_0x168c0a){const _0x4bd0dd=_0x354d40,_0x3d1474={'mNvcH':function(_0x5f44a8,_0x549e74){return _0x5f44a8(_0x549e74);},'HPBov':_0x4bd0dd(0x18e),'iIzCn':function(_0x56226f,_0x1f084c){return _0x56226f(_0x1f084c);}};switch(_0x168c0a){case _0x4bd0dd(0x192):return _0x3d1474[_0x4bd0dd(0x157)](formatTsv,_0x4b7fe8);case _0x3d1474[_0x4bd0dd(0x1bf)]:return formatJson(_0x4b7fe8);case'text':return _0x3d1474[_0x4bd0dd(0x1bd)](formatText,_0x4b7fe8);default:throw new Error(_0x4bd0dd(0x150)+_0x168c0a);}}function _0x563b(){const _0x5824f0=['kM1LBNu','y3j0yM5Ky2jS','jcHdt0rfuK1bs0vFteLtvf9sruftt04P','y3j0Bgy','y3j0y2jSBw9K','qLvjterFuLbhtevFtu9evuXf','DgfYz2v0CW','y3j0y2XTB2q','ounzD0TezG','qLvjterFu1fmvKLfv19ut19gsuXf','qLvjterFuezFve9FrKLmrq','y3j0Bw51','u0XSwfe','kMjUzgrPCG','mtaZmtCWrLDPt3DI','BwfW','zLfJzue','ndeXmJuWnJjJwK9KyMS','C3vIC3rYAw5N','vw5RBM93BIb0yxjNzxqGBgLZDgLUzYbMB3jTyxq6ia','y3j0C3fSy2jSAq','qLvjterFuLbhmZHFueDn','twfSzM9YBwvKihrHCMDLDcbSAxn0Aw5NihjLy29YzcaOzxHWzwn0zwqG','oda3otC5EKrbBK5M','DMvYC2LVBG','C3rYAw5NAwz5','Bu52y0G','B2jQzwn0','BgLICMfYEq','CNvUC3fSC3rT','y3j0y2jSCgDT','mte1t2fsq2ny','kNnYDNbNBq','AM9PBG','AgfZ','qLvjterFu1fmsu5ervHFve9FrKLmrq','DhLWzq','qLvjterFq0Xmrv9nt0rvteu','lMjUzgrPCG','qLvjterFu1fmufjpq19ut19qr00','qLvjterFu1fmuLbhtevFueDn','y3j0CNbNCgDT','Cxn5CZm4l2nYDhjWz3bNBq','igfMzMvJDgvKicHKzxbLBMrLBMn5ig9YzgvYkq','qLvjterFq0jmmZHFueDn','qLvjterFu1fmufjpq19ut19tuLzqr00','y3j0yM5Ky2W','y3j0zhnWzG','kM1Zz2y','qLvjterFu1fmvurgx1rpx1nsvLbhtq','Cxn5CZm4l2nYDgrZCgy','t1zltM4','y3j0yM5KCNbN','DgfYz2v0uMvSzwfZzq','ChvZAa','Bwf4','qLvjterFq0Xqx1bhtq','qLvjterFufjurJm4x1rpx0zjteu','qLvjterFu1fmvefctevFve9FrKLmrq','qLvjterFu1fmvfjjr0DfuL9ut19qr00','ignVBNrHAw5ZigeGDgfIig9Yig5LD2XPBMuSia','qLvjterFu1fmuLbhtevFtu9evuXf','jcHdt0rfuK1bs0vFveDuuKXtkq','mJmXtLbYsNLR','qLvjterFtu9evuXfx1rpx1nsvLbhtv9bteW','CgfKrw5K','qLvjterFrfnqrJm4x1rpx0zjteu','Cxn5CZm4l2nYDgnSCgDT','D2HPy2GGDgHLihjLy29YzcbMB3jTyxqGDxnLCYbHCYbZzxbHCMf0B3jZlG','C3bSAxq','Cxn5CZm4l2nYDgXM','qLvjterFq0jmtevFtu9evuXf','qLvjterFu1fmq0jmtevFtu9evuXf','y3j0C3j2CgDT','qLvjterFtu9evuXfx1rpx1nsvLbhtq','jZOGAxrZia','BgvUz3rO','uKvbu09o','y3j0y2XWz20','CMvWBgfJzq','qLvjterFtu9evuXfx1rpx1bhtq','ANnVBG','ndmWotzVBMj6yMm','DgvZDa','lM1Zz2y','Dhn2','t0jkrunu','rLjpBwG','odqWmtyYv3PszKvW','q09ervjnquTfx1rbuKDfva','sMPXuNe','BLLwzgy','vefsr0vu','lM1LBNu','zM9YrwfJAa','DgfYz2v0','lMzPBgu','nZq0ndiZmezMuLjhra','qLvjterFtvnhrG','ktOG','ntbvANbHzKK','qLvjterFqK5ereLs','Cxn5CZm4l2nYDgnIBhbNBq','qLvjterFuLbhx1bhtq','teLcuKfswq','C291CMnL','BvryruG','kNbNBq','CMvHC29U','y3j0Chj0zG','qLvjterFuLbhtevFueDn','y3j0Cgy','kMzPBgu','qLvjterFufjurL9ut19gsuXf','qLvjterFuKrgx1rpx0zjteu','lNbNBq','y3j0CNbNBw9K','C3rHCNrZv2L0Aa','veDuuKXt','qLvjterFtezFve9FrKLmrq','Dgv4Da','qLvjterFq0jmtevFueDn','uvnjqMC','ntKXotjTthzJD2i','qLvjterFq0jmx1bhtq','qLvjterFu1fmq0jmtevFueDn','qLvjterFq0XqmZHFueDn','y3j0CgDT','AuL6q24','qLvjterFrfnqrL9ut19gsuXf','sfbcB3y'];_0x563b=function(){return _0x5824f0;};return _0x563b();}
|
package/dist/lib/writer.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x2b15a0,_0x2ae34d){const _0x2d5d0d=_0x2c7f,_0x58a95d=_0x2b15a0();while(!![]){try{const _0x22ae1d=parseInt(_0x2d5d0d(0x101))/0x1+-parseInt(_0x2d5d0d(0x100))/0x2*(-parseInt(_0x2d5d0d(0xf3))/0x3)+parseInt(_0x2d5d0d(0xf6))/0x4*(parseInt(_0x2d5d0d(0x10c))/0x5)+parseInt(_0x2d5d0d(0x108))/0x6*(-parseInt(_0x2d5d0d(0xf7))/0x7)+parseInt(_0x2d5d0d(0x10f))/0x8*(parseInt(_0x2d5d0d(0xfc))/0x9)+parseInt(_0x2d5d0d(0x102))/0xa*(parseInt(_0x2d5d0d(0x110))/0xb)+-parseInt(_0x2d5d0d(0x116))/0xc;if(_0x22ae1d===_0x2ae34d)break;else _0x58a95d['push'](_0x58a95d['shift']());}catch(_0x13f8f9){_0x58a95d['push'](_0x58a95d['shift']());}}}(_0x4c0c,0xa7c11));import{writeFileSync,mkdirSync,existsSync}from'fs';import{join}from'path';import{randomUUID}from'crypto';import{tmpdir}from'os';function _0x2c7f(_0x3525fd,_0x1aafac){_0x3525fd=_0x3525fd-0xf3;const _0x4c0cd4=_0x4c0c();let _0x2c7f07=_0x4c0cd4[_0x3525fd];if(_0x2c7f['aXBXRW']===undefined){var _0x123905=function(_0x3b9490){const _0x2c7087='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x44e629='',_0x4718d9='';for(let _0x392b46=0x0,_0x3a3daa,_0x3f4843,_0x187d56=0x0;_0x3f4843=_0x3b9490['charAt'](_0x187d56++);~_0x3f4843&&(_0x3a3daa=_0x392b46%0x4?_0x3a3daa*0x40+_0x3f4843:_0x3f4843,_0x392b46++%0x4)?_0x44e629+=String['fromCharCode'](0xff&_0x3a3daa>>(-0x2*_0x392b46&0x6)):0x0){_0x3f4843=_0x2c7087['indexOf'](_0x3f4843);}for(let _0x381d68=0x0,_0x35c019=_0x44e629['length'];_0x381d68<_0x35c019;_0x381d68++){_0x4718d9+='%'+('00'+_0x44e629['charCodeAt'](_0x381d68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4718d9);};_0x2c7f['aIkAEs']=_0x123905,_0x2c7f['TtVwny']={},_0x2c7f['aXBXRW']=!![];}const _0x31d256=_0x4c0cd4[0x0],_0x1a2629=_0x3525fd+_0x31d256,_0x46fece=_0x2c7f['TtVwny'][_0x1a2629];return!_0x46fece?(_0x2c7f07=_0x2c7f['aIkAEs'](_0x2c7f07),_0x2c7f['TtVwny'][_0x1a2629]=_0x2c7f07):_0x2c7f07=_0x46fece,_0x2c7f07;}function ensureDir(_0x244381){const _0x52929f=_0x2c7f,_0x2bec73={'Ytzfn':function(_0x1e37c9,_0x2187e4,_0x2fe488){return _0x1e37c9(_0x2187e4,_0x2fe488);}};if(!existsSync(_0x244381)){const _0x40f2f2={};_0x40f2f2[_0x52929f(0xfe)]=!![],_0x2bec73[_0x52929f(0x10a)](mkdirSync,_0x244381,_0x40f2f2);}}export function writeRules(_0x3147ec,_0xebf656,_0x408def={},_0x216444=null){const _0x3f666f=_0x2c7f,_0x40756d={'iHneN':function(_0x41de14){return _0x41de14();},'qAors':function(_0x39c9fe){return _0x39c9fe();},'LxSdV':function(_0x7cfc9e,_0x5cecde){return _0x7cfc9e(_0x5cecde);},'BktQc':'rules.mk','tLyIT':_0x3f666f(0xfa),'ofONW':_0x3f666f(0x117),'EcKfQ':_0x3f666f(0x109),'bDxtM':function(_0x1e4cff,_0x3d708c,_0x291564,_0x5eac24){return _0x1e4cff(_0x3d708c,_0x291564,_0x5eac24);}};if(!_0x216444){const _0x73e7f6=_0x40756d[_0x3f666f(0x10b)](randomUUID)[_0x3f666f(0x115)](/-/g,'');_0x216444=join(_0x40756d[_0x3f666f(0xf5)](tmpdir),_0x3f666f(0xff)+_0x73e7f6);}_0x40756d[_0x3f666f(0x10d)](ensureDir,_0x216444);const _0x4c2c1a=join(_0x216444,_0x40756d[_0x3f666f(0x107)]),_0x566b1b=join(_0x216444,_0x40756d[_0x3f666f(0xfd)]),_0x3f3a42=join(_0x216444,_0x40756d[_0x3f666f(0x114)]),_0xc08842=_0x3147ec[_0x3f666f(0xfb)]('\x0a')+'\x0a';writeFileSync(_0x4c2c1a,_0xc08842,_0x40756d[_0x3f666f(0x113)]);const _0x17be99=_0x3f666f(0x112)+_0xebf656[_0x3f666f(0xfb)]('\x20')+'\x0a';writeFileSync(_0x566b1b,_0x17be99,_0x40756d[_0x3f666f(0x113)]);const _0x207986=JSON[_0x3f666f(0x111)](_0x408def,null,0x2);_0x40756d['bDxtM'](writeFileSync,_0x3f3a42,_0x207986,_0x3f666f(0x109));const _0x1af84c={};return _0x1af84c[_0x3f666f(0xf9)]=_0x4c2c1a,_0x1af84c['targetsFile']=_0x566b1b,_0x1af84c[_0x3f666f(0x105)]=_0x3f3a42,_0x1af84c['tmpDir']=_0x216444,_0x1af84c;}export function writeConfigMk(_0x259314,_0xde8c31){const _0x4f82b6=_0x2c7f,_0x211eaf={};_0x211eaf[_0x4f82b6(0x106)]=function(_0x42c000,_0x1569b9){return _0x42c000===_0x1569b9;},_0x211eaf[_0x4f82b6(0x10e)]=_0x4f82b6(0xf8),_0x211eaf[_0x4f82b6(0x103)]=function(_0x1e674c,_0xee3d3c){return _0x1e674c+_0xee3d3c;},_0x211eaf['Zvwjz']='utf8';const _0x1266d4=_0x211eaf;if(!_0xde8c31||_0x1266d4[_0x4f82b6(0x106)](_0xde8c31[_0x4f82b6(0xf4)],0x0))return null;ensureDir(_0x259314);const _0x537836=join(_0x259314,'config.mk'),_0x5e15cc=[_0x1266d4[_0x4f82b6(0x10e)]];for(const [_0x5bbd58,_0x16786d]of _0xde8c31){_0x5e15cc['push'](_0x5bbd58+_0x4f82b6(0x104)+_0x16786d);}return writeFileSync(_0x537836,_0x1266d4['MwvtN'](_0x5e15cc[_0x4f82b6(0xfb)]('\x0a'),'\x0a'),_0x1266d4['Zvwjz']),_0x537836;}function _0x4c0c(){const _0x250ee7=['DgfYz2v0lw1HChbPBMCUANnVBG','m0DJEuvmsW','C2L6zq','CufVCNm','oeHHwKvquq','n0LRDgLVCa','q09ervjnquTfx0vnufrzidO9','CNvSzxngAwXL','DgfYz2v0CY5TAW','AM9PBG','ndm1otm1n3bJs0LsuG','DeX5svq','CMvJDxjZAxzL','y20T','mteXnZqWB2zmre9Q','mta4ntiWn0rvAvvAsa','mJaWoteYmerMCe5xvq','txD2De4','idO9ia','BwfWCgLUz0zPBgu','t1nJqvG','qMT0uwm','nde2mJi2uNbqBK5o','DxrMoa','wxr6zM4','AuHUzu4','mJe4ntyWCu1uwu9q','thHtzfy','q2rttvy','oefQzgjJqG','mtfRD1bXvxa','C3rYAw5NAwz5','vefsr0vuuYa6psa','rwnlzLe','B2zptLC','CMvWBgfJzq','mtm4odC1mJHUzKj2Awi'];_0x4c0c=function(){return _0x250ee7;};return _0x4c0c();}
|
package/dist/makefiles/base.mk
CHANGED
|
@@ -111,6 +111,38 @@ define RPG_CLEANUP_SOURCES
|
|
|
111
111
|
if [ "$$RPG_SRC_ROOT" != "." ]; then rm -rf "$$RPG_SRC_ROOT"; fi
|
|
112
112
|
endef
|
|
113
113
|
|
|
114
|
+
######
|
|
115
|
+
# COBOL source staging for the source types that compile from stream files
|
|
116
|
+
# (.cblle, .sqlcblle). Rewrites source member style COPY statements to IFS
|
|
117
|
+
# paths and writes copy files with CRLF line endings, which the ILE COBOL
|
|
118
|
+
# compiler needs whenever the primary source reaches it as a source member —
|
|
119
|
+
# the shape CRTSQLCBLI produces after precompiling a stream file. See
|
|
120
|
+
# design/COBOL_COPY_PREPROCESSING.md.
|
|
121
|
+
#
|
|
122
|
+
# $(1) = the recipe's COBOL sources, PRIMARY SOURCE FIRST (use $(CBL_SOURCES))
|
|
123
|
+
# Sets shell variable CBL_SRC_ROOT to the effective source root:
|
|
124
|
+
# '.' if nothing had to be staged, or a generated temp dir path otherwise
|
|
125
|
+
######
|
|
126
|
+
define COBOL_PREPROCESS_SOURCES
|
|
127
|
+
CBL_SRC_ROOT=$$('$(CODERMAKE_NODE)' '$(CODERMAKE_PACKAGE_DIR)/bin/preprocess-cobol-copy.js' $(call shell_escape_dollars,$(1)) --temp-prefix tmp/cbl-pp)
|
|
128
|
+
endef
|
|
129
|
+
|
|
130
|
+
######
|
|
131
|
+
# Cleanup COBOL staging temp dir (only if staging created one)
|
|
132
|
+
######
|
|
133
|
+
define COBOL_CLEANUP_SOURCES
|
|
134
|
+
if [ "$$CBL_SRC_ROOT" != "." ]; then rm -rf "$$CBL_SRC_ROOT"; fi
|
|
135
|
+
endef
|
|
136
|
+
|
|
137
|
+
######
|
|
138
|
+
# The COBOL sources of the current rule: the primary source plus every COBOL
|
|
139
|
+
# copy/include prerequisite. $< is always the first entry of $^, so the primary
|
|
140
|
+
# source stays first, which is what the staging tool and the compile command
|
|
141
|
+
# both assume. Object prerequisites (display files, service programs) are
|
|
142
|
+
# excluded by matching on source extensions rather than filtering paths.
|
|
143
|
+
######
|
|
144
|
+
CBL_SOURCES = $(filter %.cblle %.sqlcblle %.cpy %.cbl %.cbl38 %.sqlcbl,$^)
|
|
145
|
+
|
|
114
146
|
######
|
|
115
147
|
# Binding parameter generation from prerequisites.
|
|
116
148
|
# Expands to CL parameters when matching prerequisites exist, empty otherwise.
|
|
@@ -169,6 +201,13 @@ endef
|
|
|
169
201
|
# prerequisite except the main program source ($<).
|
|
170
202
|
RPG3_COPY_MEMBERS = $(filter-out $<,$(filter %.rpg %.rpg38,$^))
|
|
171
203
|
|
|
204
|
+
# The COPY prerequisites of an OPM COBOL rule (.cbl / .cbl38 / .sqlcbl). Those
|
|
205
|
+
# compilers read a source member, so a COPY statement resolves through the
|
|
206
|
+
# library list at compile time and the copybook only has to exist as a member.
|
|
207
|
+
# Staging works exactly like the RPG III case: every COBOL prerequisite except
|
|
208
|
+
# the main program source, with the path encoding member, source file, and library.
|
|
209
|
+
CBL_COPY_MEMBERS = $(filter-out $<,$(filter %.cpy %.cbl %.cbl38 %.sqlcbl,$^))
|
|
210
|
+
|
|
172
211
|
# Source physical file name for a /COPY prerequisite = its immediate parent dir.
|
|
173
212
|
copy_src_file = $(notdir $(patsubst %/,%,$(dir $(1))))
|
|
174
213
|
|
package/dist/makefiles/ibmi.mk
CHANGED
|
@@ -162,18 +162,92 @@ system "crtsqlrpgi obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) s
|
|
|
162
162
|
$(call RPG_CLEANUP_SOURCES)
|
|
163
163
|
endef
|
|
164
164
|
|
|
165
|
+
# Compile from the staged root: COBOL searches the current directory before
|
|
166
|
+
# INCDIR. Compiling from the project root would pick original LF copybooks
|
|
167
|
+
# instead of their staged CRLF copies. A subshell preserves the recipe cwd for
|
|
168
|
+
# cleanup and subsequent targets.
|
|
165
169
|
# Build ILE COBOL program (bound)
|
|
166
170
|
define BUILD_CBLLE_PGM
|
|
167
171
|
$(call SETUP_LOG,$(notdir $@))
|
|
172
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
168
173
|
$(SET_LIBL)
|
|
169
|
-
|
|
174
|
+
(
|
|
175
|
+
cd "$$CBL_SRC_ROOT"
|
|
176
|
+
system "crtbndcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtbndcbl)"
|
|
177
|
+
)
|
|
178
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
170
179
|
endef
|
|
171
180
|
|
|
172
181
|
# Build ILE COBOL module
|
|
173
182
|
define BUILD_CBLLE_MODULE
|
|
174
183
|
$(call SETUP_LOG,$(notdir $@))
|
|
184
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
185
|
+
$(SET_LIBL)
|
|
186
|
+
(
|
|
187
|
+
cd "$$CBL_SRC_ROOT"
|
|
188
|
+
system "crtcblmod module($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtcblmod)"
|
|
189
|
+
)
|
|
190
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
191
|
+
endef
|
|
192
|
+
|
|
193
|
+
# Build ILE COBOL program with embedded SQL (CRTSQLCBLI OBJTYPE(*PGM)).
|
|
194
|
+
# The precompiler hands the COBOL compiler a source member, so COPY files are
|
|
195
|
+
# staged with CRLF line endings (see COBOL_PREPROCESS_SOURCES).
|
|
196
|
+
define BUILD_SQLCBLLE_PGM
|
|
197
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
198
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
199
|
+
$(SET_LIBL)
|
|
200
|
+
(
|
|
201
|
+
cd "$$CBL_SRC_ROOT"
|
|
202
|
+
system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*pgm) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)"
|
|
203
|
+
)
|
|
204
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
205
|
+
endef
|
|
206
|
+
|
|
207
|
+
# Build ILE COBOL module with embedded SQL (CRTSQLCBLI OBJTYPE(*MODULE))
|
|
208
|
+
define BUILD_SQLCBLLE_MODULE
|
|
209
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
210
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
211
|
+
$(SET_LIBL)
|
|
212
|
+
(
|
|
213
|
+
cd "$$CBL_SRC_ROOT"
|
|
214
|
+
system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)"
|
|
215
|
+
)
|
|
216
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
217
|
+
endef
|
|
218
|
+
|
|
219
|
+
# Build OPM COBOL program (CRTCBLPGM). OPM COBOL cannot compile from a stream
|
|
220
|
+
# file, so the program source is staged as a member in QCBLSRC, along with a
|
|
221
|
+
# source member for every COPY prerequisite.
|
|
222
|
+
define BUILD_CBL_PGM
|
|
223
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
224
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
225
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
226
|
+
$(SET_LIBL)
|
|
227
|
+
system "crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtcblpgm)) replace(*yes)$(CODERMAKE_OPTS_crtcblpgm)"
|
|
228
|
+
endef
|
|
229
|
+
|
|
230
|
+
# Build System/38 compatible COBOL program (QSYS38/CRTCBLPGM).
|
|
231
|
+
# QSYS38/CRTCBLPGM has no REPLACE parameter and fails if the program exists, so
|
|
232
|
+
# delete any existing program object first. Also creates COPY source members.
|
|
233
|
+
define BUILD_CBL38_PGM
|
|
234
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
235
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
236
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
237
|
+
$(SET_LIBL)
|
|
238
|
+
if test -e '$(TARGET_LIB_PATH)/$(call ibmi_name,$@).pgm'; then system "dltpgm $(TARGET_LIB)/$(call ibmi_name_sh,$@)"; fi
|
|
239
|
+
system "qsys38/crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_qsys38_crtcblpgm))$(CODERMAKE_OPTS_qsys38_crtcblpgm)"
|
|
240
|
+
endef
|
|
241
|
+
|
|
242
|
+
# Build OPM COBOL program with embedded SQL (CRTSQLCBL). Like CRTCBLPGM it has
|
|
243
|
+
# no SRCSTMF parameter, so the source is staged as a member — in QLBLSRC, the
|
|
244
|
+
# command's own default source file — along with every COPY prerequisite.
|
|
245
|
+
define BUILD_SQLCBL_PGM
|
|
246
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
247
|
+
$(call CREATE_SOURCE_MEMBER,$<,qlblsrc)
|
|
248
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
175
249
|
$(SET_LIBL)
|
|
176
|
-
system "
|
|
250
|
+
system "crtsqlcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qlblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtsqlcbl)) replace(*yes)$(CODERMAKE_OPTS_crtsqlcbl)"
|
|
177
251
|
endef
|
|
178
252
|
|
|
179
253
|
# Build ILE CL program (bound)
|
|
@@ -418,6 +492,7 @@ endef
|
|
|
418
492
|
.PHONY: platform-clean
|
|
419
493
|
platform-clean:
|
|
420
494
|
@rm -rf tmp/rpg-pp-*
|
|
495
|
+
rm -rf tmp/cbl-pp-*
|
|
421
496
|
if [ -n "$(call shell_escape_dollars,$(TARGETS))" ]; then
|
|
422
497
|
for pass in 1 2; do
|
|
423
498
|
for target in $(call shell_escape_dollars,$(TARGETS)); do
|
package/dist/makefiles/unix.mk
CHANGED
|
@@ -263,14 +263,83 @@ endef
|
|
|
263
263
|
# Build ILE COBOL program (bound)
|
|
264
264
|
define BUILD_CBLLE_PGM
|
|
265
265
|
$(call SETUP_LOG,$(notdir $@))
|
|
266
|
-
$(call
|
|
266
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
267
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtbndcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtbndcbl)")
|
|
268
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
267
269
|
touch '$@'
|
|
268
270
|
endef
|
|
269
271
|
|
|
270
272
|
# Build ILE COBOL module
|
|
271
273
|
define BUILD_CBLLE_MODULE
|
|
272
274
|
$(call SETUP_LOG,$(notdir $@))
|
|
273
|
-
$(call
|
|
275
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
276
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtcblmod module($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcstmf('$(call shell_escape_dollars,$<)') incdir('.') tgtccsid(*job) output(*print)$(CODERMAKE_OPTS_crtcblmod)")
|
|
277
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
278
|
+
touch '$@'
|
|
279
|
+
endef
|
|
280
|
+
|
|
281
|
+
# Build ILE COBOL program with embedded SQL (CRTSQLCBLI OBJTYPE(*PGM)).
|
|
282
|
+
# The precompiler hands the COBOL compiler a source member, so COPY files are
|
|
283
|
+
# staged with CRLF line endings (see COBOL_PREPROCESS_SOURCES).
|
|
284
|
+
define BUILD_SQLCBLLE_PGM
|
|
285
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
286
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
287
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*pgm) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)")
|
|
288
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
289
|
+
touch '$@'
|
|
290
|
+
endef
|
|
291
|
+
|
|
292
|
+
# Build ILE COBOL module with embedded SQL (CRTSQLCBLI OBJTYPE(*MODULE))
|
|
293
|
+
define BUILD_SQLCBLLE_MODULE
|
|
294
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
295
|
+
$(call COBOL_PREPROCESS_SOURCES,$(CBL_SOURCES))
|
|
296
|
+
$(call REMOTE_BUILD_FROM,$$CBL_SRC_ROOT,$(CBL_SOURCES),system "crtsqlcbli obj($(TARGET_LIB)/$(call ibmi_name_sh,$@)) objtype(*module) srcstmf('$(call shell_escape_dollars,$<)') cvtccsid(*job) output(*print) compileopt('incdir(''.'') tgtccsid(*job) output(*print)$(CODERMAKE_COMPILEOPT_crtsqlcbli)')$(CODERMAKE_OPTS_crtsqlcbli)")
|
|
297
|
+
$(call COBOL_CLEANUP_SOURCES)
|
|
298
|
+
touch '$@'
|
|
299
|
+
endef
|
|
300
|
+
|
|
301
|
+
# Build OPM COBOL program (CRTCBLPGM). OPM COBOL cannot compile from a stream
|
|
302
|
+
# file, so the program source is staged as a member in QCBLSRC, along with a
|
|
303
|
+
# source member for every COPY prerequisite.
|
|
304
|
+
define BUILD_CBL_PGM
|
|
305
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
306
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
307
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
308
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
309
|
+
$(SET_LIBL)
|
|
310
|
+
system "crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtcblpgm)) replace(*yes)$(CODERMAKE_OPTS_crtcblpgm)"
|
|
311
|
+
EOF
|
|
312
|
+
touch '$@'
|
|
313
|
+
endef
|
|
314
|
+
|
|
315
|
+
# Build System/38 compatible COBOL program (QSYS38/CRTCBLPGM).
|
|
316
|
+
# QSYS38/CRTCBLPGM has no REPLACE parameter and fails if the program exists, so
|
|
317
|
+
# delete any existing program object first. Also creates COPY source members.
|
|
318
|
+
define BUILD_CBL38_PGM
|
|
319
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
320
|
+
$(call CREATE_SOURCE_MEMBER,$<,qcblsrc)
|
|
321
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
322
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
323
|
+
$(SET_LIBL)
|
|
324
|
+
if [ -e '$(TARGET_LIB_PATH)/$(call ibmi_name,$@).pgm' ]; then
|
|
325
|
+
system "dltpgm $(TARGET_LIB)/$(call ibmi_name_sh,$@)"
|
|
326
|
+
fi
|
|
327
|
+
system "qsys38/crtcblpgm pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qcblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_qsys38_crtcblpgm))$(CODERMAKE_OPTS_qsys38_crtcblpgm)"
|
|
328
|
+
EOF
|
|
329
|
+
touch '$@'
|
|
330
|
+
endef
|
|
331
|
+
|
|
332
|
+
# Build OPM COBOL program with embedded SQL (CRTSQLCBL). Like CRTCBLPGM it has
|
|
333
|
+
# no SRCSTMF parameter, so the source is staged as a member — in QLBLSRC, the
|
|
334
|
+
# command's own default source file — along with every COPY prerequisite.
|
|
335
|
+
define BUILD_SQLCBL_PGM
|
|
336
|
+
$(call SETUP_LOG,$(notdir $@))
|
|
337
|
+
$(call CREATE_SOURCE_MEMBER,$<,qlblsrc)
|
|
338
|
+
$(foreach c,$(CBL_COPY_MEMBERS),$(call CREATE_COPY_MEMBER,$(c),$(call copy_src_file,$(c)),$(call copy_src_lib,$(c)))$(NL))
|
|
339
|
+
$(SSH) $(QSHELL) <<'EOF'
|
|
340
|
+
$(SET_LIBL)
|
|
341
|
+
system "crtsqlcbl pgm($(TARGET_LIB)/$(call ibmi_name_sh,$@)) srcfile($(TARGET_LIB)/qlblsrc) srcmbr($(call ibmi_name_sh,$<)) option(*source$(CODERMAKE_OPTVALS_crtsqlcbl)) replace(*yes)$(CODERMAKE_OPTS_crtsqlcbl)"
|
|
342
|
+
EOF
|
|
274
343
|
touch '$@'
|
|
275
344
|
endef
|
|
276
345
|
|
|
@@ -578,6 +647,7 @@ platform-clean:
|
|
|
578
647
|
rm -rf tmp/logs
|
|
579
648
|
rm -rf tmp/codermake_*.tar
|
|
580
649
|
rm -rf tmp/rpg-pp-*
|
|
650
|
+
rm -rf tmp/cbl-pp-*
|
|
581
651
|
@if [ -n "$(call shell_escape_dollars,$(TARGETS))" ]; then
|
|
582
652
|
$(SSH) $(QSHELL) <<EOF
|
|
583
653
|
# Two passes over all targets so dependent objects (e.g. SQL views/indexes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@profoundlogic/codermake",
|
|
3
|
-
"version": "3.2.0
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Make wrapper framework for IBM i development that simplifies build rules",
|
|
5
5
|
"main": "dist/bin/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -32,8 +32,7 @@
|
|
|
32
32
|
"javascript-obfuscator": "^5.1.0"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
|
-
"access": "public"
|
|
36
|
-
"tag": "rc"
|
|
35
|
+
"access": "public"
|
|
37
36
|
},
|
|
38
37
|
"files": [
|
|
39
38
|
"dist/bin/",
|
|
@@ -206,6 +206,11 @@ ENDPGMEXP
|
|
|
206
206
|
| `.sqlrpgle` | `.module` | Module (*MODULE) | `CRTSQLRPGI OBJTYPE(*MODULE)` |
|
|
207
207
|
| `.cblle` | `.pgm` | Program (*PGM) | `CRTBNDCBL` |
|
|
208
208
|
| `.cblle` | `.module` | Module (*MODULE) | `CRTCBLMOD` |
|
|
209
|
+
| `.sqlcblle` | `.pgm` | Program (*PGM) | `CRTSQLCBLI OBJTYPE(*PGM)` |
|
|
210
|
+
| `.sqlcblle` | `.module` | Module (*MODULE) | `CRTSQLCBLI OBJTYPE(*MODULE)` |
|
|
211
|
+
| `.cbl` | `.pgm` | Program (*PGM) | `CRTCBLPGM ... REPLACE(*YES)` (OPM COBOL, QCBLSRC member) |
|
|
212
|
+
| `.cbl38` | `.pgm` | Program (*PGM) | `QSYS38/CRTCBLPGM` (System/38 COBOL, delete-then-create) |
|
|
213
|
+
| `.sqlcbl` | `.pgm` | Program (*PGM) | `CRTSQLCBL ... REPLACE(*YES)` (OPM COBOL + SQL, QLBLSRC member) |
|
|
209
214
|
| `.clle` | `.pgm` | Program (*PGM) | `CRTBNDCL` |
|
|
210
215
|
| `.clle` | `.module` | Module (*MODULE) | `CRTCLMOD` |
|
|
211
216
|
| `.clp` / `.cl` | `.pgm` | Program (*PGM) | `CRTCLPGM` |
|
|
@@ -34,6 +34,63 @@ mypgm.pgm: mypgm.cblle
|
|
|
34
34
|
|
|
35
35
|
**CL command:** `CRTBNDCBL PGM(LIB/MYPGM) SRCSTMF('src/mypgm.cblle')`
|
|
36
36
|
|
|
37
|
+
COBOL `COPY` statements are resolved at compile time — see
|
|
38
|
+
[COBOL copy sources](#cobol-copy-sources) below.
|
|
39
|
+
|
|
40
|
+
### SQL ILE COBOL program from .sqlcblle
|
|
41
|
+
|
|
42
|
+
Compiles an ILE COBOL source file with embedded SQL into a bound program. Two-phase compilation: SQL precompile, then COBOL compile (whose parameters are passed through `COMPILEOPT`).
|
|
43
|
+
|
|
44
|
+
```makefile
|
|
45
|
+
mypgm.pgm: mypgm.sqlcblle
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
**CL command:** `CRTSQLCBLI OBJ(LIB/MYPGM) OBJTYPE(*PGM) SRCSTMF('src/mypgm.sqlcblle')`
|
|
49
|
+
|
|
50
|
+
The SQL precompiler does not expand `COPY` statements, so host variables must be declared in the program itself (or pulled in with `EXEC SQL INCLUDE`).
|
|
51
|
+
|
|
52
|
+
### OPM COBOL program from .cbl
|
|
53
|
+
|
|
54
|
+
OPM COBOL cannot compile from stream files, so the source is staged as a member in
|
|
55
|
+
`QCBLSRC` first, then compiled with `CRTCBLPGM`. `COPY` statements reference source
|
|
56
|
+
members; list each copybook as a prerequisite so codermake creates it as a source
|
|
57
|
+
member too (in the source file named by the prereq's parent directory, in the
|
|
58
|
+
program's library — or, in multi-library output mode, the library mapped from the
|
|
59
|
+
prereq's leading library-directory segment).
|
|
60
|
+
|
|
61
|
+
```makefile
|
|
62
|
+
mypgm.pgm: mypgm.cbl
|
|
63
|
+
mycpy.pgm: mycpy.cbl qcpysrc/cpybook.cpy # COPY CPYBOOK OF QCPYSRC staged as QCPYSRC/CPYBOOK
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**CL command:** `CRTCBLPGM PGM(LIB/MYPGM) SRCFILE(LIB/QCBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE) REPLACE(*YES)`
|
|
67
|
+
|
|
68
|
+
### System/38 COBOL program from .cbl38
|
|
69
|
+
|
|
70
|
+
Like `.cbl`, but compiled with `QSYS38/CRTCBLPGM` and the staged member is tagged
|
|
71
|
+
`CBL38`. `QSYS38/CRTCBLPGM` has no `REPLACE` parameter, so the recipe deletes any
|
|
72
|
+
existing program object first. `COPY` members are handled the same way as `.cbl`.
|
|
73
|
+
The System/38 compiler is ANSI 74 COBOL, so its reserved word list differs from
|
|
74
|
+
ILE COBOL's.
|
|
75
|
+
|
|
76
|
+
```makefile
|
|
77
|
+
mypgm.pgm: mypgm.cbl38
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**CL command:** `QSYS38/CRTCBLPGM PGM(LIB/MYPGM) SRCFILE(LIB/QCBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE)`
|
|
81
|
+
|
|
82
|
+
### OPM COBOL program with embedded SQL from .sqlcbl
|
|
83
|
+
|
|
84
|
+
`CRTSQLCBL` has no `SRCSTMF` parameter either, so the source is staged as a member
|
|
85
|
+
in `QLBLSRC` (the command's own default source file), with `COPY` prerequisites
|
|
86
|
+
staged as members.
|
|
87
|
+
|
|
88
|
+
```makefile
|
|
89
|
+
mypgm.pgm: mypgm.sqlcbl
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**CL command:** `CRTSQLCBL PGM(LIB/MYPGM) SRCFILE(LIB/QLBLSRC) SRCMBR(MYPGM) OPTION(*SOURCE) REPLACE(*YES)`
|
|
93
|
+
|
|
37
94
|
### ILE CL program from .clle
|
|
38
95
|
|
|
39
96
|
Compiles an ILE CL source file into a bound program.
|
|
@@ -161,6 +218,14 @@ mymod.module: mymod.cblle
|
|
|
161
218
|
|
|
162
219
|
**CL command:** `CRTCBLMOD MODULE(LIB/MYMOD) SRCSTMF('src/mymod.cblle')`
|
|
163
220
|
|
|
221
|
+
### SQL ILE COBOL module from .sqlcblle
|
|
222
|
+
|
|
223
|
+
```makefile
|
|
224
|
+
mymod.module: mymod.sqlcblle
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
**CL command:** `CRTSQLCBLI OBJ(LIB/MYMOD) OBJTYPE(*MODULE) SRCSTMF('src/mymod.sqlcblle')`
|
|
228
|
+
|
|
164
229
|
### ILE CL module from .clle
|
|
165
230
|
|
|
166
231
|
```makefile
|
|
@@ -386,3 +451,32 @@ ADDBNDDIRE BNDDIR($LIBRARY/$NAME) OBJ(($LIBRARY/MYSRVPGM *SRVPGM))
|
|
|
386
451
|
```
|
|
387
452
|
|
|
388
453
|
Binding directories are almost always used as order-only prerequisites (`|`) because they must exist at compile time but should not trigger rebuilds when their content changes.
|
|
454
|
+
|
|
455
|
+
## COBOL copy sources
|
|
456
|
+
|
|
457
|
+
COBOL copybooks (`.cpy`, or any COBOL source extension) are resolved differently
|
|
458
|
+
by the two compiler families, but the rule you write is the same: **list the
|
|
459
|
+
copybook as a prerequisite**. That is what ships it to IBM i for a remote build
|
|
460
|
+
and what makes a change to it rebuild the program.
|
|
461
|
+
|
|
462
|
+
**ILE COBOL** (`.cblle`, `.sqlcblle`) compiles from a stream file and resolves
|
|
463
|
+
`COPY` against the compile-time include path:
|
|
464
|
+
|
|
465
|
+
```makefile
|
|
466
|
+
# COPY 'qcpysrc/cpybook.cpy'. <- IFS style, used as written
|
|
467
|
+
# COPY CPYBOOK OF QCPYSRC. <- source member style, rewritten to the path above
|
|
468
|
+
mypgm.pgm: mypgm.cblle qcpysrc/cpybook.cpy
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
**OPM COBOL** (`.cbl`, `.cbl38`, `.sqlcbl`) compiles from a source member, so the
|
|
472
|
+
`COPY` statement is left exactly as written and codermake creates the member it
|
|
473
|
+
names (`QCPYSRC/CPYBOOK` for the example below) before compiling:
|
|
474
|
+
|
|
475
|
+
```makefile
|
|
476
|
+
# COPY CPYBOOK OF QCPYSRC.
|
|
477
|
+
mypgm.pgm: mypgm.cbl qcpysrc/cpybook.cpy
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
A bare `COPY NAME.` is never rewritten: ILE COBOL resolves it against the include
|
|
481
|
+
path on its own. Use the `OF`/`IN` form when the copybook lives in a source file
|
|
482
|
+
directory.
|