How to use the cmd command line to compile cls files
How to use the cmd command line to compile cls files
Comments
%SYSTEM.OBJ has various compile methods, you can compile individual classes, whole packages, whole namespaces, and so on.
https://docs.intersystems.com/iris20201/csp/documatic/%25CSP.Documatic…
You can also use them via $SYSTEM.OBJ... instead of ##class(%SYSTEM.OBJ)...
I want to batch compile CSP files through the command line
I tried this command, but it's not working,
Does it support batch compilation with multiple file names when parameters are passed in.
.png)
• classmethod CompileList(ByRef list As %String = "", qspec As %String = "", ByRef errorlog As %String, ByRef updatedlist As %String) as %Status
Compile a list of items specified in 'list' and separated by commas, or an array list("item.MAC")="". You can also use ? or * wild cards and if you wish to exclude items pass ' before the item name which also supports wild card, e.g. "User.*.cls,'User.T*.cls". Each item on the list is sufixed by the type of item it is so to compile a class and a routine you could specify 'class.cls,routine.mac' The order of compilation is INT, CLS, MAC, CSR, CSP.
qspec is a list of flags or qualifiers which can be displayed with 'Do $system.OBJ.ShowQualifiers()' and 'Do $system.OBJ.ShowFlags()'. Note that while /mapped=0 qualifier applies to the pattern passed in by only searching the default routine database, however any compile is done in the current namespace. So it is possible a routine/class found with /mapped=0 may not be visible in the current namespace or may be a different version if there are complicated package mappings.