Skip to content

Commit 62182f3

Browse files
committed
Fix bug with makefile generation that would mean the evfevent would never generate
Signed-off-by: worksofliam <mrliamallan@live.co.uk>
1 parent 54a7769 commit 62182f3

File tree

4 files changed

+25
-12
lines changed

4 files changed

+25
-12
lines changed

cli/src/builders/make/index.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -560,12 +560,11 @@ export class MakeProject {
560560
[
561561
`\tliblist -c $(BIN_LIB);\\`,
562562
`\tliblist -a $(LIBL);\\`,
563-
`\tsystem "${resolvedCommand}" > .logs/${ileObject.systemName.toLowerCase()}.splf` // TODO: write the spool file somewhere?
563+
`\tsystem "${resolvedCommand}" > .logs/${ileObject.systemName.toLowerCase()}.splf${resolvedCommand.includes(`*EVENTF`) ? ` || \\\n\t(system "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/${ileObject.systemName}.MBR') TOSTMF('.evfevent/${ileObject.systemName.toLowerCase()}.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')` : ``}`
564564
]
565565
: []
566566
),
567567
...(data.postCommands ? data.postCommands.map(cmd => `\t${resolve(cmd)}`) : []),
568-
...(resolvedCommand.includes(`*EVENTF`) ? [`\tsystem "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/${ileObject.systemName}.MBR') TOSTMF('.evfevent/${ileObject.systemName.toLowerCase()}.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"`] : []),
569568
);
570569

571570
return lines;

cli/test/make.test.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,10 @@ test(`Multi-module program and service program`, () => {
142142
'$(PREPATH)/MYWEBAPP.MODULE: qrpglesrc/mywebapp.pgm.rpgle',
143143
'\tliblist -c $(BIN_LIB);\\',
144144
'\tliblist -a $(LIBL);\\',
145-
`\tsystem "CRTRPGMOD MODULE($(BIN_LIB)/MYWEBAPP) SRCSTMF('qrpglesrc/mywebapp.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(*JOB)" > .logs/mywebapp.splf`,
146-
`\tsystem "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/MYWEBAPP.MBR') TOSTMF('.evfevent/mywebapp.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"`
145+
[
146+
`\tsystem "CRTRPGMOD MODULE($(BIN_LIB)/MYWEBAPP) SRCSTMF('qrpglesrc/mywebapp.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(*JOB)" > .logs/mywebapp.splf || \\`,
147+
`\t(system "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/MYWEBAPP.MBR') TOSTMF('.evfevent/mywebapp.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`,
148+
].join('\n')
147149
].join());
148150

149151
const utilsSrvpgm = targets.getTarget({systemName: `UTILS`, type: `SRVPGM`});

cli/test/project.test.ts

+12-6
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,10 @@ describe.skipIf(files.length === 0)(`company_system tests`, () => {
201201
'$(PREPATH)/MYPGM.PGM: qrpglesrc/mypgm.pgm.rpgle',
202202
'\tliblist -c $(BIN_LIB);\\',
203203
'\tliblist -a $(LIBL);\\',
204-
`\tsystem "CRTBNDRPG PGM($(BIN_LIB)/MYPGM) SRCSTMF('qrpglesrc/mypgm.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(*JOB) BNDDIR($(BNDDIR)) DFTACTGRP(*NO)" > .logs/mypgm.splf`,
205-
`\tsystem "CPYTOSTMF FROMMBR(\'$(PREPATH)/EVFEVENT.FILE/MYPGM.MBR\') TOSTMF(\'.evfevent/mypgm.evfevent\') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"`
204+
[
205+
`\tsystem "CRTBNDRPG PGM($(BIN_LIB)/MYPGM) SRCSTMF('qrpglesrc/mypgm.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(*JOB) BNDDIR($(BNDDIR)) DFTACTGRP(*NO)" > .logs/mypgm.splf || \\`,
206+
`\t(system "CPYTOSTMF FROMMBR(\'$(PREPATH)/EVFEVENT.FILE/MYPGM.MBR\') TOSTMF(\'.evfevent/mypgm.evfevent\') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`,
207+
].join('\n')
206208
].join());
207209
});
208210

@@ -214,8 +216,10 @@ describe.skipIf(files.length === 0)(`company_system tests`, () => {
214216
'$(PREPATH)/DEPTS.PGM: qrpglesrc/depts.pgm.sqlrpgle',
215217
'\tliblist -c $(BIN_LIB);\\',
216218
'\tliblist -a $(LIBL);\\',
217-
`\tsystem "CRTSQLRPGI OBJ($(BIN_LIB)/DEPTS) SRCSTMF('qrpglesrc/depts.pgm.sqlrpgle') COMMIT(*NONE) DBGVIEW(*SOURCE) OPTION(*EVENTF) RPGPPOPT(*LVL2) COMPILEOPT('TGTCCSID(*JOB) BNDDIR($(BNDDIR)) DFTACTGRP(*no)')" > .logs/depts.splf`,
218-
`\tsystem "CPYTOSTMF FROMMBR(\'$(PREPATH)/EVFEVENT.FILE/DEPTS.MBR\') TOSTMF(\'.evfevent/depts.evfevent\') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"`
219+
[
220+
`\tsystem "CRTSQLRPGI OBJ($(BIN_LIB)/DEPTS) SRCSTMF('qrpglesrc/depts.pgm.sqlrpgle') COMMIT(*NONE) DBGVIEW(*SOURCE) OPTION(*EVENTF) RPGPPOPT(*LVL2) COMPILEOPT('TGTCCSID(*JOB) BNDDIR($(BNDDIR)) DFTACTGRP(*no)')" > .logs/depts.splf || \\`,
221+
`\t(system "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/DEPTS.MBR') TOSTMF('.evfevent/depts.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`,
222+
].join('\n')
219223
].join());
220224
});
221225

@@ -229,8 +233,10 @@ describe.skipIf(files.length === 0)(`company_system tests`, () => {
229233
`\tsystem "CPYFRMSTMF FROMSTMF('qddssrc/depts.dspf') TOMBR('$(PREPATH)/qddssrc.FILE/DEPTS.MBR') MBROPT(*REPLACE)"`,
230234
'\tliblist -c $(BIN_LIB);\\',
231235
'\tliblist -a $(LIBL);\\',
232-
'\tsystem "CRTDSPF FILE($(BIN_LIB)/DEPTS) SRCFILE($(BIN_LIB)/qddssrc) SRCMBR(DEPTS) OPTION(*EVENTF)" > .logs/depts.splf',
233-
`\tsystem "CPYTOSTMF FROMMBR(\'$(PREPATH)/EVFEVENT.FILE/DEPTS.MBR\') TOSTMF(\'.evfevent/depts.evfevent\') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"`
236+
[
237+
`\tsystem "CRTDSPF FILE($(BIN_LIB)/DEPTS) SRCFILE($(BIN_LIB)/qddssrc) SRCMBR(DEPTS) OPTION(*EVENTF)" > .logs/depts.splf || \\`,
238+
`\t(system "CPYTOSTMF FROMMBR(\'$(PREPATH)/EVFEVENT.FILE/DEPTS.MBR\') TOSTMF(\'.evfevent/depts.evfevent\') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`,
239+
].join('\n')
234240
].join());
235241
});
236242

cli/test/pseudo.test.ts

+8-2
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,10 @@ describe.skipIf(files.length === 0)(`pseudo tests`, () => {
4646
// Rules.mk rules
4747
const testerProgram = makefile.findIndex(l => l.startsWith(`$(PREPATH)/TESTER.PGM: qrpglesrc/tester.pgm.rpgle`));
4848
expect(testerProgram).toBeGreaterThan(-1);
49-
expect(makefile[testerProgram + 3]).toBe(`\tsystem "CRTBNDRPG PGM($(BIN_LIB)/TESTER) SRCSTMF('qrpglesrc/tester.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(273) BNDDIR(MYBND) DFTACTGRP(*NO) TEXT('My program')" > .logs/tester.splf`);
49+
expect(makefile[testerProgram + 3]).toBe([
50+
`\tsystem "CRTBNDRPG PGM($(BIN_LIB)/TESTER) SRCSTMF('qrpglesrc/tester.pgm.rpgle') OPTION(*EVENTF) DBGVIEW(*SOURCE) TGTRLS(*CURRENT) TGTCCSID(273) BNDDIR(MYBND) DFTACTGRP(*NO) TEXT('My program')" > .logs/tester.splf || \\`,
51+
`\t(system "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/TESTER.MBR') TOSTMF('.evfevent/tester.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`
52+
].join('\n'));
5053

5154
// Covers:
5255
// Rules.mk rules
@@ -62,7 +65,10 @@ describe.skipIf(files.length === 0)(`pseudo tests`, () => {
6265
// .ibmi.json -> tgtCcsid -> updating COMPILEOPT
6366
const testerProgram = makefile.findIndex(l => l.startsWith(`$(PREPATH)/OTHER.PGM: qrpglesrc/other.pgm.sqlrpgle`));
6467
expect(testerProgram).toBeGreaterThan(-1);
65-
expect(makefile[testerProgram + 3]).toBe(`\tsystem "CRTSQLRPGI OBJ($(BIN_LIB)/OTHER) SRCSTMF('qrpglesrc/other.pgm.sqlrpgle') COMMIT(*NONE) DBGVIEW(*SOURCE) OPTION(*EVENTF) RPGPPOPT(*LVL2) COMPILEOPT('TGTCCSID(273) BNDDIR($(BNDDIR)) DFTACTGRP(*no)')" > .logs/other.splf`);
68+
expect(makefile[testerProgram + 3]).toBe([
69+
`\tsystem "CRTSQLRPGI OBJ($(BIN_LIB)/OTHER) SRCSTMF('qrpglesrc/other.pgm.sqlrpgle') COMMIT(*NONE) DBGVIEW(*SOURCE) OPTION(*EVENTF) RPGPPOPT(*LVL2) COMPILEOPT('TGTCCSID(273) BNDDIR($(BNDDIR)) DFTACTGRP(*no)')" > .logs/other.splf || \\`,
70+
`\t(system "CPYTOSTMF FROMMBR('$(PREPATH)/EVFEVENT.FILE/OTHER.MBR') TOSTMF('.evfevent/other.evfevent') DBFCCSID(*FILE) STMFCCSID(1208) STMFOPT(*REPLACE)"; $(SHELL) -c 'exit 1')`
71+
].join('\n'));
6672
});
6773

6874
test(`Ensure TGTCCSID is applied to CRTSRCPF CCSID`, () => {

0 commit comments

Comments
 (0)