...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0"?> <package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd"> <metadata> <id>Connexion.SampleDevice</id> <version>$version$</version> <authors>Nick, Jon</authors> <licenseUrl>http://hl7spy.ca/wp-content/uploads/2011/11/Eula.pdf</licenseUrl> <projectUrl>https://conevity.atlassian.net/wiki/spaces/CON/pages/14057474/Releases</projectUrl> <iconUrl>http://www.hl7spy.com/downloads/logo.png </iconUrl> <requireLicenseAcceptance>false</requireLicenseAcceptance> <description>This is a sample of how to build a Connexion Device</description> <releaseNotes></releaseNotes> <copyright>Copyright 2019 Conevity Solutions Inc.</copyright> <tags>Connexion Device</tags> <summary></summary> </metadata> <files> <!-- Add assemblies from each Plugin separately at the end of the build--> <file src="..\..\Plugin1\bin\$Configuration$\*.dll" target="Assemblies\Plugin1" exclude="**\Connexion.*.dll;**\Newtonsoft.Json.dll"/> <file src="..\..\Plugin2\bin\$Configuration$\*.dll" target="Assemblies\Plugin2" exclude="**\Connexion.*.dll;**\Newtonsoft.Json.dll"/> <file src="..\..\Plugin3\bin\$Configuration$\*.dll" target="Assemblies\Plugin3" exclude="**\Connexion.*.dll;**\Newtonsoft.Json.dll"/> <file src="..\..\Plugin4\bin\$Configuration$\*.dll" target="Assemblies\Plugin4" exclude="**\Connexion.*.dll;**\Newtonsoft.Json.dll"/> <!-- Add large assemblies that should be associated with every Plugin--> <file src="..\..\library\*.dll" target="Assemblies\Shared" /> </files> </package> |
...
- Each plugin should have its own folder (eg. Plugin1, Plugin2, etc) under the "Assemblies" folder
- Each plugin should include all its dependent dlls (with the exception of dlls placed within the Shared folder) that are required by the plugin at run-time.
- Any large assemblies, required by ALL Plugins can optionally be placed in the Assemblies/Shared folder to save space.
- Assembly files that your plugin does not require should be excluded. In particular you do not need to include any Connexion assemblies. In the example above the .nuget package is explicitly excluding any Connexion assemblies as well as the Newtonsoft.Json.dll since the latest version is included with Connexion.
Code Block | ||
---|---|---|
| ||
ConnexionSample.nuget | ConnexionSample.nuspec | [Content_Types].xml | +---Assemblies | +---Plugin1 | | Hl7.Fhir.STU3.Specification.dll | | Hl7.Fhir.Support.dll | | Hl7.FhirPath.dll | | MModal.AdtHl7FhirProcessor.dll | | System.ValueTuple.dll | | | +---Plugin2 | | Connexion.Edifact.Hipaa.dll | | EdiFabric.Core.dll | | EdiFabric.Framework.dll | | Hl7.Fhir.STU3.Specification.dll | | Hl7.Fhir.Support.dll | | Hl7.FhirPath.dll | | MModal.837ClaimsFhirProcessor.dll | | System.ValueTuple.dll | | | +---Plugin3 | | Hl7.Fhir.STU3.Specification.dll | | Hl7.Fhir.Support.dll | | Hl7.FhirPath.dll | | MModal.FhirSender.dll | | System.ValueTuple.dll | | | +---Plugin4 | | Hl7.Fhir.Support.dll | | Hl7.FhirPath.dll | | MModal.SiuHl7FhirProcessor.dll | | System.ValueTuple.dll | | | \---Shared | ConnexionDevicesCommon.dll | Hl7.Fhir.STU3.Core.dll | +---package | \---services | \---metadata | \---core-properties | b61692f050fd4dc5be95bc1fed53df7b.psmdcp | \---_rels .rels |
...