Compare commits

...

16 commits

Author SHA1 Message Date
Andrew Welker
0746d309df
Merge pull request #19 from PepperDash/feature/Conditional-Workflows
Multiple Style and Workflow Updates
2022-07-22 11:06:34 -06:00
Trevor Payne
259a71c562 style: renamed classes for consistency
build: updated essentials version

ci: updated workflows

docs: documentation updated

ci: updated nuspec
2022-07-21 12:07:27 -05:00
Trevor Payne
62f959bb25 test workflow syntax 2022-07-21 10:17:56 -05:00
Trevor Payne
62912451e8 fix: Workflow Syntax 2022-07-20 22:15:48 -05:00
Trevor Payne
ee057ad361 fix: Workflow Syntax 2022-07-20 21:47:09 -05:00
Trevor Payne
af7e9ae659 fix: Workflow Syntax 2022-07-20 21:03:26 -05:00
Trevor Payne
f08741efd6 fix: Workflow Syntax 2022-07-20 20:32:42 -05:00
Trevor Payne
1add0c193c fix: Workflow Syntax 2022-07-20 18:34:20 -05:00
Trevor Payne
3d57ac3560 fix: Workflow Syntax 2022-07-20 18:18:07 -05:00
Trevor Payne
856178d920 fix: Workflow Syntax 2022-07-20 17:53:48 -05:00
Trevor Payne
87872b78e2 fix: Workflow Syntax 2022-07-20 17:29:57 -05:00
Trevor Payne
266bf187d9 fix: Workflow Syntax 2022-07-20 17:15:39 -05:00
Trevor Payne
592400cc90 fix: Workflow Syntax 2022-07-20 17:12:21 -05:00
Trevor Payne
baaf7c4a28 fix: Workflow Syntax 2022-07-20 17:11:15 -05:00
Trevor Payne
57a265d27f Made names of classes more consistent internally
Removed obsolete references
2022-07-20 16:48:50 -05:00
Trevor Payne
0cf654ce2d Selective Nuget Package publish 2022-07-20 16:42:25 -05:00
17 changed files with 403 additions and 447 deletions

View file

@ -153,7 +153,7 @@ jobs:
$exclusions = "packages" $exclusions = "packages"
# Trying to get any .json schema files (not currently working) # Trying to get any .json schema files (not currently working)
# Gets any files with the listed extensions. # Gets any files with the listed extensions.
Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.nuspec" | ForEach-Object { Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.nuspec", "*.md" | ForEach-Object {
$allowed = $true; $allowed = $true;
# Exclude any files in submodules # Exclude any files in submodules
foreach ($exclude in $exclusions) { foreach ($exclude in $exclusions) {
@ -253,19 +253,27 @@ jobs:
- name: Get nuget File - name: Get nuget File
shell: powershell shell: powershell
run: | run: |
$nuspec_file = Get-ChildItem *.nuspec -recurse $nuspec_file = (Get-ChildItem *.nuspec -recurse).BaseName
echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# Pulls the nuget builder packages
- name: Add nuget.exe - name: Add nuget.exe
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1 uses: nuget/setup-nuget@v1
# Creating nuget Packages
- name: Add Github Packages source - name: Add Github Packages source
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }} run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }}
# Pushes to nuget, not needed unless publishing publicly
- name: Add nuget.org API Key
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package - name: Create nuget package
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }} run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
# Pushes to internal github registry
- name: Publish nuget package to Github registry - name: Publish nuget package to Github registry
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget push **/*.nupkg -source github run: nuget push **/*.nupkg -source github
# Pushes to nuget, not needed unless publishing publicly >> this pushes package to nuget.org # Pushes to nuget gallery
- name: Add nuget.org API Key
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Publish nuget package to nuget.org - name: Publish nuget package to nuget.org
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json

View file

@ -111,7 +111,7 @@ jobs:
$exclusions = "packages" $exclusions = "packages"
# Trying to get any .json schema files (not currently working) # Trying to get any .json schema files (not currently working)
# Gets any files with the listed extensions. # Gets any files with the listed extensions.
Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.nuspec" | ForEach-Object { Get-ChildItem -recurse -Path "$($Env:GITHUB_WORKSPACE)" -include "*.clz", "*.cpz", "*.cplz", "*.nuspec", "*.md" | ForEach-Object {
$allowed = $true; $allowed = $true;
# Exclude any files in submodules # Exclude any files in submodules
foreach ($exclude in $exclusions) { foreach ($exclude in $exclusions) {
@ -201,19 +201,27 @@ jobs:
- name: Get nuget File - name: Get nuget File
shell: powershell shell: powershell
run: | run: |
$nuspec_file = Get-ChildItem *.nuspec -recurse $nuspec_file = (Get-ChildItem *.nuspec -recurse).BaseName
echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
# Pulls the nuget builder packages
- name: Add nuget.exe - name: Add nuget.exe
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1 uses: nuget/setup-nuget@v1
# Creating nuget Packages
- name: Add Github Packages source - name: Add Github Packages source
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }} run: nuget sources add -name github -source https://nuget.pkg.github.com/pepperdash/index.json -username Pepperdash -password ${{ secrets.GITHUB_TOKEN }}
# Pushes to nuget, not needed unless publishing publicly
- name: Add nuget.org API Key
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package - name: Create nuget package
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }} run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
# Pushes to internal github registry
- name: Publish nuget package to Github registry - name: Publish nuget package to Github registry
if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget push **/*.nupkg -source github run: nuget push **/*.nupkg -source github
# Pushes to nuget, not needed unless publishing publicly >> this pushes package to nuget.org # Pushes to nuget gallery
- name: Add nuget.org API Key
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Publish nuget package to nuget.org - name: Publish nuget package to nuget.org
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json

2
GetPackages.BAT Normal file
View file

@ -0,0 +1,2 @@
@Echo ON
nuget install .\packages.config -OutputDirectory .\packages -excludeVersion

View file

@ -1,5 +0,0 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<DeployDeviceID>E282E6BE-C7C3-4ece-916A-88FB1CF8AF3C</DeployDeviceID>
</PropertyGroup>
</Project>

View file

@ -1,63 +0,0 @@
8/30/2019 3:01:01 PM, Info: Initializing SIMPLSharp Services...
8/30/2019 3:01:01 PM, Info: ProjectInfo successfully initialized.
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:01:02 PM, Info: Saving project information...
8/30/2019 3:04:48 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\essentials-builds\PepperDashEssentials.dll...
8/30/2019 3:05:10 PM, Info: Saving project information...
8/30/2019 3:05:10 PM, Info: Saving project information...
8/30/2019 3:05:10 PM, Info: Saving project information...
8/30/2019 3:05:39 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\essentials-builds\PepperDash_Core.dll...
8/30/2019 3:05:39 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\essentials-builds\PepperDash_Essentials_Core.dll...
8/30/2019 3:05:40 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\essentials-builds\PepperDash_Essentials_DM.dll...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:24 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:06:36 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:08:54 PM, Info: Saving project information...
8/30/2019 3:09:39 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\essentials-builds\PepperDash_Essentials_Core.dll...
8/30/2019 3:10:10 PM, Info: Saving project information...
8/30/2019 3:10:10 PM, Info: Saving project information...
8/30/2019 3:10:10 PM, Info: Saving project information...
8/30/2019 3:15:10 PM, Info: Saving project information...
8/30/2019 3:15:10 PM, Info: Saving project information...
8/30/2019 3:15:10 PM, Info: Saving project information...
8/30/2019 3:20:10 PM, Info: Saving project information...
8/30/2019 3:20:10 PM, Info: Saving project information...
8/30/2019 3:20:10 PM, Info: Saving project information...
8/30/2019 3:25:10 PM, Info: Saving project information...
8/30/2019 3:25:10 PM, Info: Saving project information...
8/30/2019 3:25:10 PM, Info: Saving project information...
8/30/2019 3:30:10 PM, Info: Saving project information...
8/30/2019 3:30:10 PM, Info: Saving project information...
8/30/2019 3:30:10 PM, Info: Saving project information...
8/30/2019 3:35:10 PM, Info: Saving project information...
8/30/2019 3:35:10 PM, Info: Saving project information...
8/30/2019 3:35:10 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:35:38 PM, Info: Saving project information...
8/30/2019 3:36:52 PM, Info: Validating assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\NvxUrlRoutingClientEpi\bin\Debug\NvxUrlRoutingClientEpi.dll...
8/30/2019 3:36:52 PM, Info: Verifying assembly C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\NvxUrlRoutingClientEpi\bin\Debug\NvxUrlRoutingClientEpi.dll
8/30/2019 3:36:52 PM, Info: Creating Archive C:\Users\JTA\Documents\Stash Folder\KPMG\SLN103-AVNoc\SLN103-AVNoc.Plugins\NvxUrlRoutingClient.Epi\NvxUrlRoutingClientEpi\bin\Debug\NvxUrlRoutingClientEpi.cplz...
8/30/2019 3:36:53 PM, Info: Saving project information...
9/2/2019 8:34:46 AM, Info: Terminating SIMPLSharp Services

View file

@ -29,6 +29,7 @@ The [Essentials](https://github.com/PepperDash/Essentials) libraries are require
To install dependencies once nuget.exe is installed, run the following command from the root directory of your repository: To install dependencies once nuget.exe is installed, run the following command from the root directory of your repository:
`nuget install .\packages.config -OutputDirectory .\packages -excludeVersion`. `nuget install .\packages.config -OutputDirectory .\packages -excludeVersion`.
Alternatively, you can simply run the `GetPackages.bat` file.
To verify that the packages installed correctly, open the plugin solution in your repo and make sure that all references are found, then try and build it. To verify that the packages installed correctly, open the plugin solution in your repo and make sure that all references are found, then try and build it.
### Installing Different versions of PepperDash Core ### Installing Different versions of PepperDash Core
@ -37,7 +38,7 @@ If you need a different version of PepperDash Core, use the command `nuget insta
### Instructions for Renaming Solution and Files ### Instructions for Renaming Solution and Files
See the Task List in Visual Studio for a guide on how to start using the templage. There is extensive inline documentation and examples as well. See the Task List in Visual Studio for a guide on how to start using the template. There is extensive inline documentation and examples as well.
For renaming instructions in particular, see the XML `remarks` tags on class definitions For renaming instructions in particular, see the XML `remarks` tags on class definitions
@ -45,10 +46,13 @@ For renaming instructions in particular, see the XML `remarks` tags on class def
## Generating Nuget Package ## Generating Nuget Package
In the solution folder is a file named "PDT.EssentialsPluginTemplate.nuspec-TEMPLATE" In the solution folder is a file named "PDT.EssentialsPluginTemplate.nuspec"
1. Remove the -TEMPLATE so that the extention is .nuspec. 1. Rename the file to match your plugin solution name
2. Rename the file to match your plugin solution name 2. Edit the file to include your project specifics including
3. Edit the file to include your project specifics including
1. <id>PepperDash.Essentials.Plugin.MakeModel</id> Convention is to use the prefix "PepperDash.Essentials.Plugin" and include the MakeModel of the device. 1. <id>PepperDash.Essentials.Plugin.MakeModel</id> Convention is to use the prefix "PepperDash.Essentials.Plugin" and include the MakeModel of the device.
2. <projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl> Change to your url to the project repo 2. <projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl> Change to your url to the project repo
There is no longer a requirement to adjust workflow files for nuget generation for private and public repositories. This is now handled automatically in the workflow.
__If you do not make these changes to the nuspec file, the project will not generate a nuget package__

View file

@ -12,7 +12,7 @@ namespace EssentialsPluginTemplate
/// <example> /// <example>
/// "EssentialsPluginBridgeJoinMapTemplate" renamed to "SamsungMdcBridgeJoinMap" /// "EssentialsPluginBridgeJoinMapTemplate" renamed to "SamsungMdcBridgeJoinMap"
/// </example> /// </example>
public class EssentialsPluginBridgeJoinMapTemplate : JoinMapBaseAdvanced public class EssentialsPluginTemplateBridgeJoinMap : JoinMapBaseAdvanced
{ {
#region Digital #region Digital
@ -93,8 +93,8 @@ namespace EssentialsPluginTemplate
/// Plugin device BridgeJoinMap constructor /// Plugin device BridgeJoinMap constructor
/// </summary> /// </summary>
/// <param name="joinStart">This will be the join it starts on the EISC bridge</param> /// <param name="joinStart">This will be the join it starts on the EISC bridge</param>
public EssentialsPluginBridgeJoinMapTemplate(uint joinStart) public EssentialsPluginTemplateBridgeJoinMap(uint joinStart)
: base(joinStart, typeof(EssentialsPluginBridgeJoinMapTemplate)) : base(joinStart, typeof(EssentialsPluginTemplateBridgeJoinMap))
{ {
} }
} }

View file

@ -14,7 +14,7 @@ namespace EssentialsPluginTemplate
/// "EssentialsPluginConfigObjectTemplate" renamed to "SamsungMdcConfig" /// "EssentialsPluginConfigObjectTemplate" renamed to "SamsungMdcConfig"
/// </example> /// </example>
[ConfigSnippet("\"properties\":{\"control\":{}")] [ConfigSnippet("\"properties\":{\"control\":{}")]
public class EssentialsPluginConfigObjectTemplate public class EssentialsPluginTemplateConfigObject
{ {
/// <summary> /// <summary>
/// JSON control object /// JSON control object
@ -139,7 +139,7 @@ namespace EssentialsPluginTemplate
/// </code> /// </code>
/// </example> /// </example>
[JsonProperty("DeviceDictionary")] [JsonProperty("DeviceDictionary")]
public Dictionary<string, EssentialsPluginConfigObjectDictionaryTemplate> DeviceDictionary { get; set; } public Dictionary<string, EssentialsPluginTemplateConfigObjectDictionary> DeviceDictionary { get; set; }
/// <summary> /// <summary>
/// Constuctor /// Constuctor
@ -148,9 +148,9 @@ namespace EssentialsPluginTemplate
/// If using a collection you must instantiate the collection in the constructor /// If using a collection you must instantiate the collection in the constructor
/// to avoid exceptions when reading the configuration file /// to avoid exceptions when reading the configuration file
/// </remarks> /// </remarks>
public EssentialsPluginConfigObjectTemplate() public EssentialsPluginTemplateConfigObject()
{ {
DeviceDictionary = new Dictionary<string, EssentialsPluginConfigObjectDictionaryTemplate>(); DeviceDictionary = new Dictionary<string, EssentialsPluginTemplateConfigObjectDictionary>();
} }
} }
@ -172,7 +172,7 @@ namespace EssentialsPluginTemplate
/// } /// }
/// </code> /// </code>
/// </example> /// </example>
public class EssentialsPluginConfigObjectDictionaryTemplate public class EssentialsPluginTemplateConfigObjectDictionary
{ {
/// <summary> /// <summary>
/// Serializes collection name property /// Serializes collection name property

View file

@ -23,7 +23,7 @@ namespace EssentialsPluginTemplate
/// <summary> /// <summary>
/// It is often desirable to store the config /// It is often desirable to store the config
/// </summary> /// </summary>
private EssentialsPluginConfigObjectTemplate _config; private EssentialsPluginTemplateConfigObject _config;
#region Constructor for Devices without IBasicCommunication. Remove if not needed #region Constructor for Devices without IBasicCommunication. Remove if not needed
@ -34,7 +34,7 @@ namespace EssentialsPluginTemplate
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="config"></param> /// <param name="config"></param>
/// <param name="hardware"></param> /// <param name="hardware"></param>
public EssentialsPluginTemplateCrestronDevice(string key, string name, EssentialsPluginConfigObjectTemplate config, GenericBase hardware) public EssentialsPluginTemplateCrestronDevice(string key, string name, EssentialsPluginTemplateConfigObject config, GenericBase hardware)
: base(key, name, hardware) : base(key, name, hardware)
{ {
Debug.Console(0, this, "Constructing new {0} instance", name); Debug.Console(0, this, "Constructing new {0} instance", name);
@ -60,7 +60,7 @@ namespace EssentialsPluginTemplate
/// <param name="bridge"></param> /// <param name="bridge"></param>
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{ {
var joinMap = new EssentialsPluginBridgeJoinMapTemplate(joinStart); var joinMap = new EssentialsPluginTemplateBridgeJoinMap(joinStart);
// This adds the join map to the collection on the bridge // This adds the join map to the collection on the bridge
if (bridge != null) if (bridge != null)

View file

@ -5,7 +5,7 @@ using Crestron.SimplSharpPro.DeviceSupport;
using PepperDash.Core; using PepperDash.Core;
using PepperDash.Essentials.Core; using PepperDash.Essentials.Core;
using PepperDash.Essentials.Core.Bridges; using PepperDash.Essentials.Core.Bridges;
using PepperDash_Essentials_Core.Queues; using PepperDash.Essentials.Core.Queues;
namespace EssentialsPluginTemplate namespace EssentialsPluginTemplate
@ -24,7 +24,7 @@ namespace EssentialsPluginTemplate
/// <summary> /// <summary>
/// It is often desirable to store the config /// It is often desirable to store the config
/// </summary> /// </summary>
private EssentialsPluginConfigObjectTemplate _config; private EssentialsPluginTemplateConfigObject _config;
/// <summary> /// <summary>
/// Provides a queue and dedicated worker thread for processing feedback messages from a device. /// Provides a queue and dedicated worker thread for processing feedback messages from a device.
@ -98,7 +98,7 @@ namespace EssentialsPluginTemplate
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="config"></param> /// <param name="config"></param>
/// <param name="comms"></param> /// <param name="comms"></param>
public EssentialsPluginTemplateDevice(string key, string name, EssentialsPluginConfigObjectTemplate config, IBasicCommunication comms) public EssentialsPluginTemplateDevice(string key, string name, EssentialsPluginTemplateConfigObject config, IBasicCommunication comms)
: base(key, name) : base(key, name)
{ {
Debug.Console(0, this, "Constructing new {0} instance", name); Debug.Console(0, this, "Constructing new {0} instance", name);
@ -244,7 +244,7 @@ namespace EssentialsPluginTemplate
/// <param name="bridge"></param> /// <param name="bridge"></param>
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{ {
var joinMap = new EssentialsPluginBridgeJoinMapTemplate(joinStart); var joinMap = new EssentialsPluginTemplateBridgeJoinMap(joinStart);
// This adds the join map to the collection on the bridge // This adds the join map to the collection on the bridge
if (bridge != null) if (bridge != null)

View file

@ -14,7 +14,7 @@ namespace EssentialsPluginTemplate
/// <example> /// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyDeviceFactory" /// "EssentialsPluginFactoryTemplate" renamed to "MyDeviceFactory"
/// </example> /// </example>
public class EssentialsPluginFactoryTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateDevice> public class EssentialsPluginTemplateFactory : EssentialsPluginDeviceFactory<EssentialsPluginTemplateDevice>
{ {
/// <summary> /// <summary>
/// Plugin device factory constructor /// Plugin device factory constructor
@ -32,7 +32,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" }; /// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code> /// </code>
/// </example> /// </example>
public EssentialsPluginFactoryTemplate() public EssentialsPluginTemplateFactory()
{ {
// Set the minimum Essentials Framework Version // Set the minimum Essentials Framework Version
// TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against // TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against
@ -58,7 +58,7 @@ namespace EssentialsPluginTemplate
Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type); Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type);
// get the plugin device properties configuration object & check for null // get the plugin device properties configuration object & check for null
var propertiesConfig = dc.Properties.ToObject<EssentialsPluginConfigObjectTemplate>(); var propertiesConfig = dc.Properties.ToObject<EssentialsPluginTemplateConfigObject>();
if (propertiesConfig == null) if (propertiesConfig == null)
{ {
Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name); Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name);
@ -91,7 +91,7 @@ namespace EssentialsPluginTemplate
/// <example> /// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyLogicDeviceFactory" /// "EssentialsPluginFactoryTemplate" renamed to "MyLogicDeviceFactory"
/// </example> /// </example>
public class EssentialsPluginFactoryLogicDeviceTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateLogicDevice> public class EssentialsPluginTemplateFactoryLogicDevice : EssentialsPluginDeviceFactory<EssentialsPluginTemplateLogicDevice>
{ {
/// <summary> /// <summary>
/// Plugin device factory constructor /// Plugin device factory constructor
@ -109,7 +109,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" }; /// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code> /// </code>
/// </example> /// </example>
public EssentialsPluginFactoryLogicDeviceTemplate() public EssentialsPluginTemplateFactoryLogicDevice()
{ {
// Set the minimum Essentials Framework Version // Set the minimum Essentials Framework Version
// TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against // TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against
@ -136,7 +136,7 @@ namespace EssentialsPluginTemplate
Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type); Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type);
// get the plugin device properties configuration object & check for null // get the plugin device properties configuration object & check for null
var propertiesConfig = dc.Properties.ToObject<EssentialsPluginConfigObjectTemplate>(); var propertiesConfig = dc.Properties.ToObject<EssentialsPluginTemplateConfigObject>();
if (propertiesConfig == null) if (propertiesConfig == null)
{ {
Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name); Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name);
@ -166,7 +166,7 @@ namespace EssentialsPluginTemplate
/// <example> /// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyCrestronDeviceFactory" /// "EssentialsPluginFactoryTemplate" renamed to "MyCrestronDeviceFactory"
/// </example> /// </example>
public class EssentialsPluginFactoryCrestronDeviceTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateCrestronDevice> public class EssentialsPluginTemplateFactoryCrestronDevice : EssentialsPluginDeviceFactory<EssentialsPluginTemplateCrestronDevice>
{ {
/// <summary> /// <summary>
/// Plugin device factory constructor /// Plugin device factory constructor
@ -184,7 +184,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" }; /// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code> /// </code>
/// </example> /// </example>
public EssentialsPluginFactoryCrestronDeviceTemplate() public EssentialsPluginTemplateFactoryCrestronDevice()
{ {
// Set the minimum Essentials Framework Version // Set the minimum Essentials Framework Version
// TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against // TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against
@ -211,7 +211,7 @@ namespace EssentialsPluginTemplate
Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type); Debug.Console(1, "[{0}] Factory Attempting to create new device from type: {1}", dc.Key, dc.Type);
// get the plugin device properties configuration object & check for null // get the plugin device properties configuration object & check for null
var propertiesConfig = dc.Properties.ToObject<EssentialsPluginConfigObjectTemplate>(); var propertiesConfig = dc.Properties.ToObject<EssentialsPluginTemplateConfigObject>();
if (propertiesConfig == null) if (propertiesConfig == null)
{ {
Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name); Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name);

View file

@ -19,7 +19,7 @@ namespace EssentialsPluginTemplate
/// <summary> /// <summary>
/// It is often desirable to store the config /// It is often desirable to store the config
/// </summary> /// </summary>
private EssentialsPluginConfigObjectTemplate _config; private EssentialsPluginTemplateConfigObject _config;
/// <summary> /// <summary>
/// Plugin device constructor /// Plugin device constructor
@ -27,7 +27,7 @@ namespace EssentialsPluginTemplate
/// <param name="key"></param> /// <param name="key"></param>
/// <param name="name"></param> /// <param name="name"></param>
/// <param name="config"></param> /// <param name="config"></param>
public EssentialsPluginTemplateLogicDevice(string key, string name, EssentialsPluginConfigObjectTemplate config) public EssentialsPluginTemplateLogicDevice(string key, string name, EssentialsPluginTemplateConfigObject config)
: base(key, name) : base(key, name)
{ {
Debug.Console(0, this, "Constructing new {0} instance", name); Debug.Console(0, this, "Constructing new {0} instance", name);
@ -48,7 +48,7 @@ namespace EssentialsPluginTemplate
/// <param name="bridge"></param> /// <param name="bridge"></param>
public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge) public override void LinkToApi(BasicTriList trilist, uint joinStart, string joinMapKey, EiscApiAdvanced bridge)
{ {
var joinMap = new EssentialsPluginBridgeJoinMapTemplate(joinStart); var joinMap = new EssentialsPluginTemplateBridgeJoinMap(joinStart);
// This adds the join map to the collection on the bridge // This adds the join map to the collection on the bridge
if (bridge != null) if (bridge != null)

View file

@ -2,6 +2,7 @@
<package > <package >
<metadata> <metadata>
<id>PDT.EssentialsPluginTemplate</id> <id>PDT.EssentialsPluginTemplate</id>
<readme>docs\README.md</readme>
<version>2.0.2</version> <version>2.0.2</version>
<title>Essentials Plugin Template</title> <title>Essentials Plugin Template</title>
<authors>PepperDash Technologies</authors> <authors>PepperDash Technologies</authors>
@ -11,11 +12,12 @@
<projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl> <projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl>
<copyright>Copyright 2022</copyright> <copyright>Copyright 2022</copyright>
<description>This software iserves as a template for generating new Essentials-Compliant plugins</description> <description>This software iserves as a template for generating new Essentials-Compliant plugins</description>
<tags>crestron 3series 4series samsung</tags> <tags>crestron 3series 4series essentials pepperdash pepperdashessentials epi essentials plugin</tags>
<repository type="git" url="https://github.com/PepperDash/EssentialsPluginTemplate"/> <repository type="git" url="https://github.com/PepperDash/EssentialsPluginTemplate"/>
</metadata> </metadata>
<files> <files>
<file src="**" target="lib\net35"/> <file src="**" target="lib\net35"/>
<file src="**" target="lib\net47"/> <file src="**" target="lib\net47"/>
<file src="README.md" target="docs\"/>
</files> </files>
</package> </package>