Selective Nuget Package publish

This commit is contained in:
Trevor Payne
2022-07-20 16:42:25 -05:00
parent 24b02b199d
commit 0cf654ce2d
16 changed files with 382 additions and 433 deletions

View File

@@ -222,6 +222,7 @@ jobs:
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
env: NUSPECNAME
steps:
- name: Download Build Version Info
uses: actions/download-artifact@v1
@@ -250,22 +251,27 @@ jobs:
Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
Remove-Item -Path .\output -Recurse
#Pushes to github nuget store
- name: Get nuget File
shell: powershell
run: |
$nuspec_file = Get-ChildItem *.nuspec -recurse
echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
$NUSPECNAME = Get-ChildItem *.nuspec -recurse
echo "NUSPEC_FILE=$($NUSPECNAME.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Add nuget.exe
uses: nuget/setup-nuget@v1
- name: Add Github Packages source
if: $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
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
# Pushes to nuget gallery, not needed unless publishing publicly
- name: Add nuget.org API Key
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
- name: Publish nuget package to Github registry
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget push **/*.nupkg -source github
# Pushes to nuget, not needed unless publishing publicly >> this pushes package to nuget.org
- name: Publish nuget package to nuget.org
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json

View File

@@ -111,7 +111,7 @@ jobs:
$exclusions = "packages"
# Trying to get any .json schema files (not currently working)
# 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;
# Exclude any files in submodules
foreach ($exclude in $exclusions) {
@@ -170,6 +170,7 @@ jobs:
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
env: NUSPECNAME
steps:
- name: Download Build Version Info
uses: actions/download-artifact@v1
@@ -195,25 +196,31 @@ jobs:
Remove-Item -Path .\*.zip
- name: Copy Files to root & delete output directory
run: |
Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz")
Remove-Item -Path .\* -Include @("*.cpz","*.md","*.cplz","*.json","*.dll","*.clz","*.md")
Get-ChildItem -Path .\output\* | Copy-Item -Destination .\
Remove-Item -Path .\output -Recurse
# Pushes to github nuget store
- name: Get nuget File
shell: powershell
run: |
$nuspec_file = Get-ChildItem *.nuspec -recurse
echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
$NUSPECNAME = Get-ChildItem *.nuspec -recurse
echo "NUSPEC_FILE=$($NUSPECNAME.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Add nuget.exe
uses: nuget/setup-nuget@v1
- name: Add Github Packages source
if: $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
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
# Pushes to nuget gallery, not needed unless publishing publicly
- name: Add nuget.org API Key
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
- name: Publish nuget package to Github registry
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
run: nuget push **/*.nupkg -source github
# Pushes to nuget, not needed unless publishing publicly >> this pushes package to nuget.org
- name: Publish nuget package to nuget.org
if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && $NUSPECNAME != 'PDT.EssentialsPluginTemplate'
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

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

View File

@@ -14,7 +14,7 @@ namespace EssentialsPluginTemplate
/// "EssentialsPluginConfigObjectTemplate" renamed to "SamsungMdcConfig"
/// </example>
[ConfigSnippet("\"properties\":{\"control\":{}")]
public class EssentialsPluginConfigObjectTemplate
public class EssentialsPluginTemplateConfigObject
{
/// <summary>
/// JSON control object
@@ -172,7 +172,7 @@ namespace EssentialsPluginTemplate
/// }
/// </code>
/// </example>
public class EssentialsPluginConfigObjectDictionaryTemplate
public class EssentialsPluginTemplateConfigObjectDictionary
{
/// <summary>
/// Serializes collection name property

View File

@@ -23,7 +23,7 @@ namespace EssentialsPluginTemplate
/// <summary>
/// It is often desirable to store the config
/// </summary>
private EssentialsPluginConfigObjectTemplate _config;
private EssentialsPluginTemplateConfigObject _config;
#region Constructor for Devices without IBasicCommunication. Remove if not needed

View File

@@ -24,7 +24,7 @@ namespace EssentialsPluginTemplate
/// <summary>
/// It is often desirable to store the config
/// </summary>
private EssentialsPluginConfigObjectTemplate _config;
private EssentialsPluginTemplateConfigObject _config;
/// <summary>
/// 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="config"></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)
{
Debug.Console(0, this, "Constructing new {0} instance", name);
@@ -244,7 +244,7 @@ namespace EssentialsPluginTemplate
/// <param name="bridge"></param>
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
if (bridge != null)

View File

@@ -14,7 +14,7 @@ namespace EssentialsPluginTemplate
/// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyDeviceFactory"
/// </example>
public class EssentialsPluginFactoryTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateDevice>
public class EssentialsPluginTemplateFactory : EssentialsPluginDeviceFactory<EssentialsPluginTemplateDevice>
{
/// <summary>
/// Plugin device factory constructor
@@ -32,7 +32,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code>
/// </example>
public EssentialsPluginFactoryTemplate()
public EssentialsPluginTemplateFactory()
{
// Set the minimum Essentials Framework Version
// 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);
// 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)
{
Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name);
@@ -91,7 +91,7 @@ namespace EssentialsPluginTemplate
/// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyLogicDeviceFactory"
/// </example>
public class EssentialsPluginFactoryLogicDeviceTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateLogicDevice>
public class EssentialsPluginTemplateFactoryLogicDevice : EssentialsPluginDeviceFactory<EssentialsPluginTemplateLogicDevice>
{
/// <summary>
/// Plugin device factory constructor
@@ -109,7 +109,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code>
/// </example>
public EssentialsPluginFactoryLogicDeviceTemplate()
public EssentialsPluginTemplateFactoryLogicDevice()
{
// Set the minimum Essentials Framework Version
// 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);
// 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)
{
Debug.Console(0, "[{0}] Factory: failed to read properties config for {1}", dc.Key, dc.Name);
@@ -166,7 +166,7 @@ namespace EssentialsPluginTemplate
/// <example>
/// "EssentialsPluginFactoryTemplate" renamed to "MyCrestronDeviceFactory"
/// </example>
public class EssentialsPluginFactoryCrestronDeviceTemplate : EssentialsPluginDeviceFactory<EssentialsPluginTemplateCrestronDevice>
public class EssentialsPluginTemplateFactoryCrestronDevice : EssentialsPluginDeviceFactory<EssentialsPluginTemplateCrestronDevice>
{
/// <summary>
/// Plugin device factory constructor
@@ -184,7 +184,7 @@ namespace EssentialsPluginTemplate
/// TypeNames = new List<string>() { "SamsungMdc", "SamsungMdcDisplay" };
/// </code>
/// </example>
public EssentialsPluginFactoryCrestronDeviceTemplate()
public EssentialsPluginTemplateFactoryCrestronDevice()
{
// Set the minimum Essentials Framework Version
// TODO [ ] Update the Essentials minimum framework version which this plugin has been tested against

View File

@@ -19,7 +19,7 @@ namespace EssentialsPluginTemplate
/// <summary>
/// It is often desirable to store the config
/// </summary>
private EssentialsPluginConfigObjectTemplate _config;
private EssentialsPluginTemplateConfigObject _config;
/// <summary>
/// Plugin device constructor
@@ -27,7 +27,7 @@ namespace EssentialsPluginTemplate
/// <param name="key"></param>
/// <param name="name"></param>
/// <param name="config"></param>
public EssentialsPluginTemplateLogicDevice(string key, string name, EssentialsPluginConfigObjectTemplate config)
public EssentialsPluginTemplateLogicDevice(string key, string name, EssentialsPluginTemplateConfigObject config)
: base(key, name)
{
Debug.Console(0, this, "Constructing new {0} instance", name);
@@ -48,7 +48,7 @@ namespace EssentialsPluginTemplate
/// <param name="bridge"></param>
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
if (bridge != null)

View File

@@ -2,6 +2,7 @@
<package >
<metadata>
<id>PDT.EssentialsPluginTemplate</id>
<readme>docs\README.md</readme>
<version>2.0.2</version>
<title>Essentials Plugin Template</title>
<authors>PepperDash Technologies</authors>
@@ -11,11 +12,12 @@
<projectUrl>https://github.com/PepperDash/EssentialsPluginTemplate</projectUrl>
<copyright>Copyright 2022</copyright>
<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"/>
</metadata>
<files>
<file src="**" target="lib\net35"/>
<file src="**" target="lib\net47"/>
<file src="README.md" target="docs\"/>
</files>
</package>