PRV & VLX Support - Feature Request
Is your feature request related to a problem? Please describe. The current (vlisp-compile) function refuses to produce a *.VLX and doesn't appear to work with *.PRV files. We don't have anything directly in the AutoLispExt for working with either of these file formats either. I am not a wizard with the *.PRJ file type, but one of the reasons I never gravitated to them was the inability to package multiple LSP's into a single output; or at least I never saw it while trying. We have a bunch (13) "Namespace" like LSP's who's prefixes represent their expected return types (like STR/XYZ) or core purposes (like SYSVAR) that we want to continue compiling into a single VLX.
Describe the solution you'd like I consider FAS to be slightly less secure than VLX and thus don't currently use FAS at all in my workflows. So, I would prefer to have a way to compile to VLX, but functionally FAS is capable of representing multiple LSP files and that is my core requirement. However, I believe PRJ's miss the mark on this core requirement; correct me if I am wrong.
Describe alternatives you've considered I currently have my own C# app for making/managing *.PRV files that puts a IP protection header LSP as the first file in every PRV it makes. It is a fairly simple program I could easily remove my own personal workflows from if we wanted to make it available. However, this wouldn't give us a cross platform capabilities without a .Net Core dependency... I know VSCode is Electron based, but I don't know if the act of having VSCode installed is sufficient for users to "run" Electron apps. Does it handle that dependency for us? It would be somewhat trivial to reproduce something like the VLIDE "New Application Wizard" using Electron if it does, but I certainly wouldn't want to impose a 100MB dependency to our users.
Additional context I don't really want to add a bunch of keywords to search engines on why I prefer VLX over FAS or how my IP header works. So, if you want to have a deeper "security" discussion please reach out to me through email; Albert has it.
Thank you for the feedback and currently you have to set lispsys=0 and switch to legacy visual lisp IDE to get this .PRJ or *.PRV compiled to VLX file. We will try to get this issue fixed in next AutoCAD 2021 update.
I think to compile the prj and prv files via VSCODE is applicable:
- In VSCODE we implement a wizard UI to config the parameters we need like current in MAKELISPAPP dialog
- VSCODE create the process of console app
accoreconsole.exeto compile the .prj files to vlx files (or fas files)
For the above second step it needs me do some changes in accoreconsole.exe, I will implement a prototype latter this year.
And maybe this is similar request for this https://github.com/Autodesk-AutoCAD/AutoLispExt/issues/8
About the inability to package multiple LSP's into a single output; You can use the undocumented function vlisp‑compile‑list. (vlisp-compile-list 'mode (list "file1" "file2" ...) "fas-file-name")
Yes, that is what I want to use it in the accoreconsole.exe
Just a note to help users which want to continue use the .vlx format with VS Code. When LISPSYS is at value 1 (use VS Code), you can use the MAKELISPAPP on the AutoCAD command line to manage your VLX app (make, edit properties, rebuild and use the wizard).
This command is available since the 2021 version.