I’ve published version 1.0.9 of spkl to NuGet - this adds the following new features:
- Global optionset enum generation for early bound classes.
- Solution Packager support
Global Optionset enum generation
This was a tricky one due to the CrmSvcUtil not making it easy to prevent multiple enums being output where a global optionset is used, but you can now add the following to your spkl.json early bound section to generate global optionset enums.
{
"earlyboundtypes": [
{
...
"generateOptionsetEnums": true,
...
}
]
}
In a future update, I’ll add the ability to filter out the enums to only those used.
Solution Packager Support
The solution packager allows you to manage your Dynamics metadata inside a Visual Studio project by extracting the solution into separate xml files. When you need to combine multiple updates from code comments, you can then use the packager to re-combine and import into Dynamics. To configure the solution packager task you can add the following to your spkl.json
/*
The solutions section defines a solution that can be extracted to individual xml files to make
versioning of Dynamics metadata (entities, attributes etc) easier
*/
"solutions": [
{
"profile": "default,debug",
/*
The unique name of the solution to extract, unpack, pack and import
*/
"solution_uniquename": "spkltestsolution",
/*
The relative folder path to store the extracted solution metadata xml files
*/
"packagepath": "package",
/*
Set to 'true' to increment the minor version number before importing from the xml files
*/
"increment_on_import": false
}
]
There are two .bat files provided that will call:
spkl unpack
This will extract the solution specifed in the spkl.json into the packagepath as multiple xml files
spkl import
This will re-pack the xml files and import into Dynamics - optionally increasing the version number of the solution to account for the new build.