This is a template for InterSystems ObjectScript class package which is planned to be published into ZPM registry. Learn more on Community Package Manager (ZPM)
-
put ObjectScript classes under /src folder in form /package_name/class_name.cls or-and /package_name/mac_routine.mac or-and /package_name/int_routine.int or-and /package_name/include_file.inc
-
Put module.xml file in the root of the repo. Learn more about module.xml format
Each folder under /src corresponds to application package. first folder/package is the organisatoin or developer name. second level is the project name third is class or sub-package E.g. this repo contains a simple example of ObjectScript class for the repository published in Developers Community github The organisation is intersystems-community, and the corresponding package name is 'community'. The repo is objectscript-package-template and the subpackage name for this repo is 'objectscript'
Clone/git pull the repo into any local directory
$ git clone https://github.com/your-repository.git
Open the terminal in this directory and run:
$ docker-compose up -d
Open IRIS terminal:
$ docker-compose exec iris iris session iris
USER>zn "IRISAPP"
IRISAPP>write ##class(community.objectscript.ClassExample).Test()
This repository is ready to code in VSCode with ObjectScript plugin. Install VSCode and ObjectScript plugin and open the folder in VSCode. Open /src/cls/PackageSample/ObjectScript.cls class and try to make changes - it will be compiled in running IRIS docker container.
Feel free to delete PackageSample folder and place your ObjectScript classes in a form /src/Package/Classname.cls
The script in Installer.cls will import everything you place under /src and globals in /gbl into IRIS.
The simplest dockerfile which starts IRIS and imports Installer.cls and then runs the Installer.setup method, which creates IRISAPP Namespace and imports ObjectScript code from /src folder into it. Use the related docker-compose.yml to easily setup additional parametes like port number and where you map keys and host folders. Use .env/ file to adjust the dockerfile being used in docker-compose. It also installs ZPM - ObjectScript Package Manager client
This file describes project to be installed as package in ObjectScript Package Manager. You can test your module.xml with following commands: // load the source code of the package as it is described in module.xml IRISAPP:zpm>load /irisdev/app // run the package installer test IRISAPP:zpm>objectscript-package-template package -v
Settings file to let you immedietly code in VSCode with VSCode ObjectScript plugin)
Config file if you want to debug with VSCode ObjectScript