Init
This commit is contained in:
+70
@@ -0,0 +1,70 @@
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
[ValidateSet('Debug','Release')]
|
||||
[System.String]$Target,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$TargetPath,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$TargetAssembly,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$ValheimPath,
|
||||
|
||||
[Parameter(Mandatory)]
|
||||
[System.String]$ProjectPath,
|
||||
|
||||
[System.String]$DeployPath
|
||||
)
|
||||
|
||||
# Make sure Get-Location is the script path
|
||||
Push-Location -Path (Split-Path -Parent $MyInvocation.MyCommand.Path)
|
||||
|
||||
# Test some preliminaries
|
||||
("$TargetPath",
|
||||
"$ValheimPath",
|
||||
"$(Get-Location)\libraries"
|
||||
) | % {
|
||||
if (!(Test-Path "$_")) {Write-Error -ErrorAction Stop -Message "$_ folder is missing"}
|
||||
}
|
||||
|
||||
# Plugin name without ".dll"
|
||||
$name = "$TargetAssembly" -Replace('.dll')
|
||||
|
||||
# Create the mdb file
|
||||
$pdb = "$TargetPath\$name.pdb"
|
||||
if (Test-Path -Path "$pdb") {
|
||||
Write-Host "Create mdb file for plugin $name"
|
||||
Invoke-Expression "& `"$(Get-Location)\libraries\Debug\pdb2mdb.exe`" `"$TargetPath\$TargetAssembly`""
|
||||
}
|
||||
|
||||
# Main Script
|
||||
Write-Host "Publishing for $Target from $TargetPath"
|
||||
|
||||
if ($Target.Equals("Debug")) {
|
||||
if ($DeployPath.Equals("")){
|
||||
$DeployPath = "$ValheimPath\BepInEx\plugins"
|
||||
}
|
||||
|
||||
$plug = New-Item -Type Directory -Path "$DeployPath\$name" -Force
|
||||
Write-Host "Copy $TargetAssembly to $plug"
|
||||
Copy-Item -Path "$TargetPath\$name.dll" -Destination "$plug" -Force
|
||||
Copy-Item -Path "$TargetPath\$name.pdb" -Destination "$plug" -Force
|
||||
Copy-Item -Path "$TargetPath\$name.dll.mdb" -Destination "$plug" -Force
|
||||
}
|
||||
|
||||
if($Target.Equals("Release")) {
|
||||
Write-Host "Packaging for ThunderStore..."
|
||||
$Package="Package"
|
||||
$PackagePath="$ProjectPath\$Package"
|
||||
|
||||
Write-Host "$PackagePath\$TargetAssembly"
|
||||
New-Item -Type Directory -Path "$PackagePath\plugins" -Force
|
||||
Copy-Item -Path "$TargetPath\$TargetAssembly" -Destination "$PackagePath\plugins\$TargetAssembly" -Force
|
||||
Copy-Item -Path "$ProjectPath\README.md" -Destination "$PackagePath\README.md" -Force
|
||||
Compress-Archive -Path "$PackagePath\*" -DestinationPath "$TargetPath\$TargetAssembly.zip" -Force
|
||||
}
|
||||
|
||||
# Pop Location
|
||||
Pop-Location
|
||||
Reference in New Issue
Block a user