We released a new version of ZPM (Package Manager)
New in ZPM 0.2.10 release:
1) FileCopy
Added some improvements to already existing tag FileCopy
Example of module.xml
<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
<Document name="test-binary.ZPM">
<Module>
<Name>test-binary</Name>
<Version>0.0.1</Version>
<Packaging>module</Packaging>
<SourcesRoot>src</SourcesRoot>
<FileCopy Name="lib" Target="${libdir}my-lib"/> <!-- Copies content of lib folder to target -->
<FileCopy Name="somefile.jar" Target="${libdir}my-lib"/> <!-- Copies just desired file to target -->
</Module>
</Document>
</Export>
Added aliases Target and Dest to attribute InstallDirectory
Supports files as well as directories, no wildcards, just folder content of which should be copied, or particular file
${libdir}, ${bindir} added, installdir/lib and installdir/bin respectively.
Using bindir in docker environments may cause to security issues during install. Using libdir works in this case, so, recommended way.
This should work (ending slash in Target
is important)
<FileCopy Name="dsw/irisapp.json" Target="${cspdir}dsw/configs/"/>
And this should be the same
<FileCopy Name="dsw/irisapp.json" Target="${cspdir}dsw/configs/irisapp.json"/>
If the Name
ends with a slash, it will copy it as a folder. During uninstall it will delete Target
folder
<FileCopy Name="dsw/" Target="${cspdir}dsw/configs/"/>
And added support for packaging and uninstalling module. When the module uninstalled it correctly deletes previously copied files.
2) Invoke improvements
Don't need wrapper tag anymore
Added a few more attributes:
CheckStatus (Default: false), expects that invoked method returns %Status, and use it to check the status of installation.
Phase, (Default: Configure), the phase during which it should be executed
When, (Default: After), values: Before and After. To execute before or after the main execution for the phase
added support for variables, added ${verbose} variable
<Invoke Class="%EnsembleMgr" Method="EnableNamespace" Phase="Compile" When="Before" CheckStatus="true">
<Arg>${namespace}</Arg>
<Arg>${verbose}</Arg>
</Invoke>
Docker images with IRIS 2020.4 and 2020.3 and ZPM 0.2.10 are now available.
Tags:
intersystemsdc/iris-community:2020.4.0.524.0-zpm intersystemsdc/iris-community:2020.3.0.221.0-zpm intersystemsdc/iris-ml-community:2020.3.0.302.0-zpm intersystemsdc/irishealth-community:2020.4.0.524.0-zpm intersystemsdc/irishealth-community:2020.3.0.221.0-zpm
More info in documentation https://github.com/intersystems-community/zpm/wiki/04.-Docker-Images
And to launch the image do:
docker run --name my-iris -d --publish 9091:51773 --publish 9092:52773 intersystemsdc/iris-community:2020.4.0.524.0-zpm