added the ability to get the status of errors in a variable
Export/Import source code (classes, macro, routines) and DeepSee artefacts(pivots, dashboards, termlists, pivot variables, shared measures) from and to InterSystems Data Platform products(Caché, Ensemble, IRIS). Support versions from 2016.2
Download code and run
set dir="/your_download_dir/isc-dev
do $System.OBJ.ImportDir(dir,"*.xml;*.cls;*.mac;*.int;*.inc;*.dfi","cuk",,1)
or
import the release to the namespace.
Map dev package to %All namespace to make it visible in any namespace.
To install using Docker. Follow this instructions:
Open terminal and clone the repo into any local directory
$ git clone https://github.com/intersystems-community/isc-dev.git
Open the terminal in this directory and run:
$ docker-compose build
Run the IRIS container with your project:
$ docker-compose up -d
NS> w ##class(dev.code).workdir("/path/to/your/working/directory/")
NS> d ##class(dev.code).import()
NS> d ##class(dev.code).export()
NS> d ##class(dev.code).exportBI()
Now the Classes/Rutines/DeepSee files will be automatically exported to the working directory after saving or compiling.
How to enable this feature:
dev.FileManExtension
class as the main one and save itIntroduce isc.json file in the source root directory with settings for the code mask, for the name of the project and for get the patch form local git or GitHub. e.g.
"git": 0 - files diff from local git (default)
"git": 1 - files diff from GitHub
use below params in case of "git" : 1
"owner": - name of the github e.g. intersystems-community
"repository": - name of the repo e.g. dc-analytics
"user": - user and password for private github repo
"password":
isc.json
"compileList": "Classes*.INC,classes*.CLS,*.DFI",
"projectName": "myproject",
"git": 0,
"owner": "owner",
"repository": "repository",
"user": "user",
"password": "password"
Run init method to initialize project settings:
NS> d ##class(dev.code).init()
Then run release to export all the classes in compileList into one "myproject.xml" release file. It will export it into the default for current Namespace directory.
NS> d ##class(dev.code).release()
Or compile it whenever you want to compile all the proejct related resources.
NS> d ##class(dev.code).compile()
Get last changes from github or local git. Run patch to export the classes in compileList into one "patch.xml" patch file. It will export it into the default for current Namespace directory or you can choose where export. By default, makes a patch from the last commit if you do not specify commitFrom
and commitTo
e.g.
NS> s filename = "c:\patch.xml"
NS> s commitFrom = 1
NS> s commitTo = 5
NS> d ##class(dev.code).patch(filename,commitFrom,commitTo)
Be careful with import termlists, pivot variables and shared measures. In current implementation imported artefacts replace those you have in the target namespace. It happens because the utility uses standard global import for globals in XML with $System.OBJ.Import which kills the global first and imports the new one.
solution: git config --global core.autocrlf input
- File access rights have been changed. In this case, you will need to specify that you do not want to track these changes.
solution: git config core.filemode false
To update the module in ZPM do the following: USER> zpm zpm: USER>load /opt zpm: USER>repo -n registry -user USER -pass PASSWORD 1) Filesystem 2) Local Cache 3) Remote Repository
Which sort of repository do you wish to configure? 3 zpm: USER>module-action isc-dev publish
added the ability to get the status of errors in a variable
renamed the method
Check for dashboard existence added
Added status check and some bugs fixed
Bug fix
bug fix
bug fix
Added final result and stop-on-error parameter when checking BI error status
Contest badge removed
Added export of interoperability components
Added interoperability component export
Without .gbl in the file name
Changing export for classes and globals
Added method to export all cubes, source classes, dashboards, pivots and globals from the namespace available to the current user
NS>do ##class(dev.code).exportBI()
IPM Compatible Globals Export
Improved IRIS BI export - ##class(dev.code).export("*.DFI")
bugs fixed
2018.7
Added Export DFI as XML
Introduced Github support
Added Git patch support