diff --git a/.github/workflows/essentialsplugins-betabuilds.yml b/.github/workflows/essentialsplugins-betabuilds.yml
index 56515c2..3b42815 100644
--- a/.github/workflows/essentialsplugins-betabuilds.yml
+++ b/.github/workflows/essentialsplugins-betabuilds.yml
@@ -153,7 +153,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) {
@@ -222,22 +222,12 @@ jobs:
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
- env:
- NUSPECNAME: default
steps:
- - name: Get nuget File
- shell: powershell
- run: |
- $nuspec_file = Get-ChildItem *.nuspec -recurse
- echo "NUSPECNAME=$($nuspec_file.BaseName)" >> $GITHUB_ENV
- echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Download Build Version Info
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate '}}
uses: actions/download-artifact@v1
with:
name: Version
- name: Set Version Number
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
shell: powershell
run: |
Get-ChildItem "./Version"
@@ -247,39 +237,43 @@ jobs:
Remove-Item -Path ./Version/version.txt
Remove-Item -Path ./Version
- name: Download Build output
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
uses: actions/download-artifact@v1
with:
name: Build
path: ./
- name: Unzip Build file
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
run: |
Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
Remove-Item -Path .\*.zip
- name: Copy Files to root & delete output directory
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
run: |
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).BaseName
+ echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+ # Pulls the nuget builder packages
- name: Add nuget.exe
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1
+ # Creating nuget Packages
- name: Add Github Packages source
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ 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 }}
- # Pushes to nuget gallery, not needed unless publishing publicly
- - name: Add nuget.org API Key
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
- run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
+ # Pushes to internal github registry
- name: Publish nuget package to Github registry
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget push **/*.nupkg -source github
+ # 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
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ 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
diff --git a/.github/workflows/essentialsplugins-releasebuilds-caller.yml b/.github/workflows/essentialsplugins-releasebuilds-caller.yml
new file mode 100644
index 0000000..d17c1d5
--- /dev/null
+++ b/.github/workflows/essentialsplugins-releasebuilds-caller.yml
@@ -0,0 +1,26 @@
+
+name: Release Build
+
+on:
+ release:
+ types:
+ - released
+ branches:
+ - "main"
+
+ workflow_dispatch:
+ inputs:
+ branch:
+ description: 'Branch to build'
+ required: true
+ type: string
+
+jobs:
+ call-workflow:
+ uses: PepperDash/workflow-templates/.github/workflows/essentialsplugins-builds.yml@main
+ secrets: inherit
+ with:
+ branch: "main"
+ default-branch: "main"
+
+
diff --git a/.github/workflows/essentialsplugins-releasebuilds.yml b/.github/workflows/essentialsplugins-releasebuilds.yml
index eab1043..2ae1117 100644
--- a/.github/workflows/essentialsplugins-releasebuilds.yml
+++ b/.github/workflows/essentialsplugins-releasebuilds.yml
@@ -170,22 +170,12 @@ jobs:
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
- env:
- NUSPECNAME: default
steps:
- - name: Get nuget File
- shell: powershell
- run: |
- $nuspec_file = Get-ChildItem *.nuspec -recurse
- echo "NUSPECNAME=$($nuspec_file.BaseName)" >> $GITHUB_ENV
- echo "NUSPEC_FILE=$($nuspec_file.BaseName)"| Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- name: Download Build Version Info
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate '}}
uses: actions/download-artifact@v1
with:
name: Version
- name: Set Version Number
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
shell: powershell
run: |
Get-ChildItem "./Version"
@@ -195,39 +185,43 @@ jobs:
Remove-Item -Path ./Version/version.txt
Remove-Item -Path ./Version
- name: Download Build output
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
uses: actions/download-artifact@v1
with:
name: Build
path: ./
- name: Unzip Build file
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
run: |
Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
Remove-Item -Path .\*.zip
- name: Copy Files to root & delete output directory
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
run: |
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).BaseName
+ echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
+ # Pulls the nuget builder packages
- name: Add nuget.exe
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1
+ # Creating nuget Packages
- name: Add Github Packages source
- if: ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ 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 }}
- # Pushes to nuget gallery, not needed unless publishing publicly
- - name: Add nuget.org API Key
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
- run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget pack "./${{ env.NUSPEC_FILE}}.nuspec" -version ${{ env.VERSION }}
+ # Pushes to internal github registry
- name: Publish nuget package to Github registry
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
run: nuget push **/*.nupkg -source github
+ # 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
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && ${{ env.NUSPECNAME != 'PDT.EssentialsPluginTemplate' }}
+ 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
diff --git a/README.md b/README.md
index 8dfb905..d115b04 100644
--- a/README.md
+++ b/README.md
@@ -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:
`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.
### 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
-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
@@ -45,10 +46,13 @@ For renaming instructions in particular, see the XML `remarks` tags on class def
## 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.
-2. Rename the file to match your plugin solution name
-3. Edit the file to include your project specifics including
+1. Rename the file to match your plugin solution name
+2. Edit the file to include your project specifics including
1. PepperDash.Essentials.Plugin.MakeModel Convention is to use the prefix "PepperDash.Essentials.Plugin" and include the MakeModel of the device.
- 2. https://github.com/PepperDash/EssentialsPluginTemplate Change to your url to the project repo
\ No newline at end of file
+ 2. https://github.com/PepperDash/EssentialsPluginTemplate 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__
\ No newline at end of file