diff --git a/.github/workflows/essentialsplugins-betabuilds.yml b/.github/workflows/essentialsplugins-betabuilds.yml
index fa3e21c..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,8 +222,6 @@ jobs:
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
- env:
- NUSPECNAME: default
steps:
- name: Download Build Version Info
uses: actions/download-artifact@v1
@@ -256,26 +254,26 @@ jobs:
shell: powershell
run: |
$nuspec_file = (Get-ChildItem *.nuspec -recurse).BaseName
- echo "NUSPECNAME=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
-
- #Pushes to github nuget store
+ # Pulls the nuget builder packages
- name: Add nuget.exe
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1
+ # Creating nuget Packages
- name: Add Github Packages source
- if: "!contains(env.NUSPECNAME, '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
- - name: Add nuget.org API Key
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, 'EssentialsPluginTemplate')
- run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, '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.yml b/.github/workflows/essentialsplugins-releasebuilds.yml
index 18b3771..2ae1117 100644
--- a/.github/workflows/essentialsplugins-releasebuilds.yml
+++ b/.github/workflows/essentialsplugins-releasebuilds.yml
@@ -167,74 +167,9 @@ jobs:
asset_content_type: application/zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- 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)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- echo "NUSPEC_FILE=$($nuspec_file.BaseName)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- - name: Download Build Version Info
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
- uses: actions/download-artifact@v1
- with:
- name: Version
- - name: Set Version Number
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
- shell: powershell
- run: |
- Get-ChildItem "./Version"
- $version = Get-Content -Path ./Version/version.txt
- Write-Host "Version: $version"
- echo "VERSION=$version" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
- Remove-Item -Path ./Version/version.txt
- Remove-Item -Path ./Version
- - name: Download Build output
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
- uses: actions/download-artifact@v1
- with:
- name: Build
- path: ./
- - name: Unzip Build file
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
- run: |
- Get-ChildItem .\*.zip | Expand-Archive -DestinationPath .\
- Remove-Item -Path .\*.zip
- - name: Copy Files to root & delete output directory
- if: "!contains(env.NUSPECNAME, '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: Add nuget.exe
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
- uses: nuget/setup-nuget@v1
- - name: Add Github Packages source
- if: "!contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, 'EssentialsPluginTemplate')
- run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- - name: Create nuget package
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, 'EssentialsPluginTemplate')
- run: nuget push **/*.nupkg -source github
- - name: Publish nuget package to nuget.org
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, 'EssentialsPluginTemplate')
- run: nuget push **/*.nupkg -Source https://api.nuget.org/v3/index.json
Push_Nuget_Package:
needs: Build_Project
runs-on: windows-2019
- env:
- NUSPECNAME: default
steps:
- name: Download Build Version Info
uses: actions/download-artifact@v1
@@ -267,26 +202,26 @@ jobs:
shell: powershell
run: |
$nuspec_file = (Get-ChildItem *.nuspec -recurse).BaseName
- echo "NUSPECNAME=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
echo "NUSPEC_FILE=$($nuspec_file)" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
-
- #Pushes to github nuget store
+ # Pulls the nuget builder packages
- name: Add nuget.exe
- if: "!contains(env.NUSPECNAME, 'EssentialsPluginTemplate')"
+ if: "!contains(env.NUSPEC_FILE, 'EssentialsPluginTemplate')"
uses: nuget/setup-nuget@v1
+ # Creating nuget Packages
- name: Add Github Packages source
- if: "!contains(env.NUSPECNAME, '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
- - name: Add nuget.org API Key
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, 'EssentialsPluginTemplate')
- run: nuget setApiKey ${{ secrets.NUGET_API_KEY }}
- name: Create nuget package
- if: github.repository_owner == 'PepperDash' && github.repository_visibility == 'public' && !contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, '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' && !contains(env.NUSPECNAME, '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