Skip to content

Commit 629e1cb

Browse files
Merge pull request #9 from m82labs/Publish-Local
Initial checkin of function to build a local NuGet package.
2 parents 4397fb6 + 0a0ee62 commit 629e1cb

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
function Publish-Local {
2+
<#
3+
.SYNOPSIS
4+
A simple function to build a local NuGet package from a module.
5+
6+
.PARAMETER PackagePath
7+
Path where the package file will be copied.
8+
9+
.PARAMETER ModulePath
10+
Path to the PowerShell module you are creating a Nuget package from
11+
12+
.EXAMPLE
13+
Publish-Local -PackagePath 'c:\temp\package' -ModulePath .\DBOps
14+
#>
15+
16+
[CmdletBinding()]
17+
param(
18+
[string]$PackagePath = 'C:\temp\package',
19+
[Parameter(mandatory=$true)]
20+
[string]$ModulePath
21+
)
22+
23+
Write-Host "Creating package path if needed: " -NoNewline
24+
try {
25+
New-Item -Path $PackagePath -ItemType Directory -Force | Out-Null
26+
Write-Host "done" -ForegroundColor Green
27+
} catch {
28+
Write-Host "failed - $_.Exception.Message" -ForegroundColor Red
29+
return
30+
}
31+
32+
Write-Host "Verifying Module Path: " -NoNewline
33+
if ( Test-Path -Path $ModulePath ) {
34+
Write-Host "found" -ForegroundColor green
35+
} else {
36+
Write-Host "not found" -ForegroundColor red
37+
}
38+
39+
Write-Host "Building Nuget Package..." -ForegroundColor Green
40+
41+
try {
42+
Register-PSRepository -Name 'TempLocalRepository' -PublishLocation $PackagePath -SourceLocation $PackagePath -InstallationPolicy Trusted -ErrorAction Stop
43+
Publish-Module -Path $ModulePath -Repository 'TempLocalRepository' -ErrorAction Stop
44+
Unregister-PSRepository -Name 'TempLocalRepository'
45+
Write-Host "COMPLETE - Package should now exist in: $($PackagePath)" -ForegroundColor Green
46+
} catch {
47+
Unregister-PSRepository -Name 'TempLocalRepository'
48+
Write-Host "FAILED - $_.Exception.Message" -ForegroundColor Red
49+
return
50+
}
51+
52+
}

0 commit comments

Comments
 (0)