Scaffolding for PowerShell Modules.
Installation process
Without Repository available, clone directly from Git:
$CloneType = 'https' # HTTPS or SSH $ModuleName = 'PsModuleTemplate' $ProjectName = '' # VSTS only, use $null if github $OrgName = 'tonypags' $uri = if $(ProjectName) { if ($CloneType -eq 'https') { "https://$($OrgName)@dev.azure.com/$($OrgName)/$($ProjectName)/_git/$($ModuleName)" } else { "git@ssh.dev.azure.com:v3/$($OrgName)/$($ProjectName)/$($ModuleName)" } } else { if ($CloneType -eq 'https') { "https://github.com/$($OrgName)/$($ModuleName).git" } else { "git@github.com:$($OrgName)/$(ModuleName).git" } } $ModuleParent = $env:PSModulePath -split ';' | Where {$_ -like "*$($env:USERNAME)*"} | Select -First 1 Set-Location $ModuleParent git clone $uriBuild a new Module:
cd PsModuleTemplate & .\Scripts\Start-ThisPlaster.ps1
Dependencies
This module has the following PowerShell Dependancies: Plaster Pester This module has the following Software Dependancies: This module has no dependancies other than a supported Windows OS.
Version History
v0.1.0.1 - Initial Commit.
v0.1.1.2 - Added more info to readme template, private test file.
- v0.1.5.3 - Adding Plaster template, starting migration to Plaster.
Pester test.
Get next version number
v#.#.#.#and a comment[string]for the change log.Create a new Package folder as .\Package\v#.#.#.#\
Copy the PSD1 files in as-is.
Update the version number and copyright date if required.
Update the Exported Function Name array with the basenames of the files under the .\ folder only.
Create a new, blank PSM1 file in here.
Populate it with all of the PS1 files' content from the .\ and .\Private folders.
Create a NUSPEC file and update the version and change log.
Build the NuGet package.
Push to private repo.
Add your changes to a new feature branch.
Add Pester tests for your changes.
Push your branch to origin.
Submit a PR with description of changes.
Follow up in 2 business days.