Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move CL runner logic to new extension #1387

Closed
worksofliam opened this issue Jun 23, 2023 · 8 comments · Fixed by #1915
Closed

Move CL runner logic to new extension #1387

worksofliam opened this issue Jun 23, 2023 · 8 comments · Fixed by #1915
Labels
idea Feature suggestion idea-seperate Best fit into a seperate extension using the extension APIs
Milestone

Comments

@worksofliam
Copy link
Contributor

worksofliam commented Jun 23, 2023

And also add a way to run an enter CL file without compiling - e.g. one command at a time as requested by @edmundreinhardt

@worksofliam worksofliam added the idea Feature suggestion label Jun 23, 2023
@sebjulliand
Copy link
Collaborator

@edmundreinhardt what would be the use case for running a whole CL file?

@edmundreinhardt
Copy link
Collaborator

@edmundreinhardt what would be the use case for running a whole CL file?

@sebjulliand
Hi Seb, both Merlin and ARCAD pomote the idea of pseudo source. Ie. that the CL commands to build a MSFG or DTAATA etc are all stored in IFS streamfiles with the corresponding file extension i.e. .MSGF and .DTAARA.
Inteliigent build tools like ARCAD and BOB can immediately infer the purpose of these files containing CL command and run those CL command to create the corresponding QSYS object.
The idea is that we can compile RPG and SQL files from the active editor but we cannot do so with these CL pseudo-source files.
So we would like to add this ability for the developer using Code 4 IBM i

@sebjulliand
Copy link
Collaborator

Understood 😊 Thanks @edmundreinhardt

@worksofliam
Copy link
Contributor Author

Could we just not have an action that compiles the object and then runs it?

@chrjorgensen
Copy link
Collaborator

Could we just not have an action that compiles the object and then runs it?

I agree - having full CL functionality (e.g. variables, conditionals, error monitoring) via the CL compiler is better than running all CL statements one at a time. This would allow more intelligent builds.

But the compiled CL program should have a temporary name, since it could conflict with "real" programs having the same name as the object intended to be created - table and program can have the same name. Or it should be compiled to the temp library - don't know which's best...

@worksofliam worksofliam added this to the 3.0.0 milestone Nov 19, 2023
@worksofliam worksofliam mentioned this issue Jan 18, 2024
6 tasks
@worksofliam worksofliam added the idea-seperate Best fit into a seperate extension using the extension APIs label Jan 22, 2024
@worksofliam
Copy link
Contributor Author

Also move logic from #1788 into other extension

@worksofliam worksofliam changed the title Move CL runner logic to CL extension Move CL runner logic to new extension Jan 22, 2024
@worksofliam
Copy link
Contributor Author

I have been working with @sebjulliand today and some decisions have been made:

  • we are not going to build a new extension for pseudo source runner officially right now. Maybe if we get bored we might, but we already have tons to do.
  • I am going move the CL runner logic to the CL extension. I think it makes sense there, plus we can use the parser there instead of the hack we have i think.
  • we are going to work on adding a way to the FS (file system) extension (not yet released) to generate the CL command that was used to create the chosen object.

@worksofliam
Copy link
Contributor Author

@worksofliam worksofliam linked a pull request Mar 6, 2024 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
idea Feature suggestion idea-seperate Best fit into a seperate extension using the extension APIs
Projects
None yet
4 participants