objectscript-package-template
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)
repo structure
-
put ObjectScript classes under /src folder in form /cls - classes /inc - includes /mac - mac routines /int - int routines /gbl - globals
-
Place module.xml file in the root of the repo. Learn more about module.xml format
Naming convention
Each folder under /cls corresponds to Class 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'
Installation
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
How to Test it
Open IRIS terminal:
$ docker-compose exec iris iris session iris
USER>zn "IRISAPP"
IRISAPP>write ##class(community.objectscript.ClassExample).Test()
How to start coding
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/cls/Package/Classname.cls
The script in Installer.cls will import everything you place under /src/cls into IRIS.
What's insde the repo
Dockerfile
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
module.xml
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
.vscode/settings.json
Settings file to let you immedietly code in VSCode with VSCode ObjectScript plugin)
.vscode/launch.json
Config file if you want to debug with VSCode ObjectScript