30 lines
804 B
PowerShell
30 lines
804 B
PowerShell
|
param (
|
||
|
[switch]$NoArchive,
|
||
|
[string]$OutputDirectory = $PSScriptRoot
|
||
|
)
|
||
|
|
||
|
Set-Location "$PSScriptRoot"
|
||
|
$FilesToInclude = "info.json","build/*","LICENSE","bundles"
|
||
|
|
||
|
$modInfo = Get-Content -Raw -Path "info.json" | ConvertFrom-Json
|
||
|
$modId = $modInfo.Id
|
||
|
$modVersion = $modInfo.Version
|
||
|
|
||
|
$DistDir = "$OutputDirectory/dist"
|
||
|
if ($NoArchive) {
|
||
|
$ZipWorkDir = "$OutputDirectory"
|
||
|
} else {
|
||
|
$ZipWorkDir = "$DistDir/tmp"
|
||
|
}
|
||
|
$ZipOutDir = "$ZipWorkDir/$modId"
|
||
|
|
||
|
New-Item "$ZipOutDir" -ItemType Directory -Force
|
||
|
Copy-Item -Force -Path $FilesToInclude -Destination "$ZipOutDir"
|
||
|
Copy-Item -Force -Path "bundles/*" -Destination "$ZipOutDir/bundles"
|
||
|
|
||
|
if (!$NoArchive)
|
||
|
{
|
||
|
$FILE_NAME = "$DistDir/${modId}_v$modVersion.zip"
|
||
|
Compress-Archive -Update -CompressionLevel Fastest -Path "$ZipOutDir/*" -DestinationPath "$FILE_NAME"
|
||
|
}
|