i-ntERPrise / intERPrise

ILE Based Open Source CRM/ERP offering
Other
19 stars 5 forks source link

Fix Jenkins build for Database Services #28

Open wimjongman opened 5 years ago

wimjongman commented 5 years ago

The transport services are finally build correctly with Jenkins. Next I will look at building the database services. I have already found the program that creates the database services. Hopefully this will not cause that much spam ;)

ChrisHird commented 5 years ago

The example database is the only other directory with a build program. You can find it in SRCOBJ/IRPEXPBLD. I ran it and it created everything correctly.

wimjongman commented 5 years ago

Can the program that compiles the database layer be rewritten in CLLE? It should also be parameterized so that it can be compiled to one library or to several like it does now. After this is done I will add it to the build.

AtkinsTommy commented 5 years ago

There seem to be 2 issues related to the same topic, this and #35, both assigned to me. As I am not familiar with the GIT protocols and what I am allowed and not allowed to do, I would ask that someone (Chris) gives me direction in how to combine these 2 issues. Thank You

wimjongman commented 5 years ago

One issue is for the examples library and the other for the database services.

To the batmobile, let's go.


From: Tommy Atkins notifications@github.com Sent: Saturday, January 12, 2019 7:12:54 AM To: i-ntERPrise/intERPrise Cc: Wim Jongman; Author Subject: Re: [i-ntERPrise/intERPrise] Fix Jenkins build for Database Services (#28)

There seem to be 2 issues related to the same topic, this and #35https://github.com/i-ntERPrise/intERPrise/issues/35, both assigned to me. As I am not familiar with the GIT protocols and what I am allowed and not allowed to do, I would ask that someone (Chris) gives me direction in how to combine these 2 issues. Thank You

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/i-ntERPrise/intERPrise/issues/28#issuecomment-453723204, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AALC6a7ZXy_g4OXkKugCPM8_-e2PjwbKks5vCXzmgaJpZM4ZyZN_.

AtkinsTommy commented 5 years ago

The only build available is for the examples database IRPEXP. It was written in RPGILE and hard coded to give us something to work on for the UI. I have something completely different in mind for the build for the IRP database which will be very customizable and able to grow as the product develops.

AtkinsTommy commented 5 years ago

I still see #28 and #35 being the same issue. Can we please reduce to one.

wimjongman commented 5 years ago

Hi Tommy Can you please share what you have in mind for the build of the database?

The reason why we have two issues is that they are two separate tasks. The current plan for the Jenkins build is that every "module" has its own build program.

For security reasons, the build programs must be in a separate repository. For this I have created the releng repository.. I also added a preliminary build flow in its README.MD.

Looking at the current layout of the repository and the current build programs (this may all be changed, it is the current state)

Database Services

Current build program is IRPBLD011.RPGLE. For this we have issue #28.

Examples

Current build program is IRPEXPBLD.RPGLE. For this we have issue #35

Transport

Build program is moved to the releng repository and is CRTOBJS.CLLE. This build program is already incorporated into the Jenkins build.

wimjongman commented 5 years ago

I have updated the previous comment. I made it seem like this is the way it has to be set up but this is not what I wanted to say.

It is just how things are set-up today and the releng readme is how I envision the change process to flow. Parts of it has already been setup.

Mbogo33 commented 5 years ago

@wimjongman not sure if we should have this discussion in public or private, but let's use this perhaps as an education opportunity for all?

Can you please eloborate on the technical reasons why you prefer a CL above RPG for the build process? Can we please document all the considerations, as this can then become a future reference for all RPG developers on the BEST way to tackle a specific requirement.

Please?

wimjongman commented 5 years ago

Sure. It is just a matter of personal preference I guess, but apart from the fact that CLLE is designed to run commands, it is best illustrated with an example.

CL

CRTBNDRPG PGM(&OBJL/&OBJC) SRCFILE(&SRCL/&SRCF) +
SRCMBR(&SRCM) DFTACTGRP(*NO)

RPGLE

Cmd$ = 'CRTBNDRPG PGM(' + %trim(pObjl) + '/' + %trim(pObjc) + ')' + ' SRCFILE(' + %trim(pSrcl) + '/' + %trim(pSrcf) + ')' + ' DFTACTGRP(*NO)'; CmdExc(Cmd$:%len(Cmd$));

Plus you can prompt in CLLE.