Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6143ddc111 | |||
| a29c0e3cab | |||
| 3bcf8bc4f8 | |||
| 2e40732e69 | |||
| 987fedd7e4 | |||
| 8d0c05bd8a | |||
| 95966d2d14 | |||
| 839d93f242 | |||
| db4534e427 | |||
| 4ee4a2bb43 |
+56
-1
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
|
"$schema": "Brass-and-Sigil pack.lock.json - generated, do not edit by hand unless you know what you are doing",
|
||||||
"name": "Brass and Sigil",
|
"name": "Brass and Sigil",
|
||||||
"version": "0.10.0",
|
"version": "0.14.0",
|
||||||
"minecraft": "1.21.1",
|
"minecraft": "1.21.1",
|
||||||
"loader": {
|
"loader": {
|
||||||
"type": "neoforge",
|
"type": "neoforge",
|
||||||
@@ -371,6 +371,61 @@
|
|||||||
"sha1": "b560f646a124d5204b1fb7321fec373b9c346fa5",
|
"sha1": "b560f646a124d5204b1fb7321fec373b9c346fa5",
|
||||||
"size": 522970,
|
"size": 522970,
|
||||||
"side": "client"
|
"side": "client"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "modrinth",
|
||||||
|
"slug": "simple-voice-chat",
|
||||||
|
"versionId": "6rT2RWh6",
|
||||||
|
"version": "neoforge-1.21.1-2.6.17",
|
||||||
|
"path": "mods/voicechat-neoforge-1.21.1-2.6.17.jar",
|
||||||
|
"url": "https://cdn.modrinth.com/data/9eGKb6K1/versions/6rT2RWh6/voicechat-neoforge-1.21.1-2.6.17.jar",
|
||||||
|
"sha1": "55fc0d529318620bd2ce7a635657014c5c98e189",
|
||||||
|
"size": 4902096,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "modrinth",
|
||||||
|
"slug": "almostunified",
|
||||||
|
"versionId": "e8iYxxI3",
|
||||||
|
"version": "1.21.1-1.4.2+neoforge",
|
||||||
|
"path": "mods/almostunified-neoforge-1.21.1-1.4.2.jar",
|
||||||
|
"url": "https://cdn.modrinth.com/data/sdaSaQEz/versions/e8iYxxI3/almostunified-neoforge-1.21.1-1.4.2.jar",
|
||||||
|
"sha1": "f9a58fa95780f4b045d30559c1fdaedaa7f0fba3",
|
||||||
|
"size": 295093,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "modrinth",
|
||||||
|
"slug": "spark",
|
||||||
|
"versionId": "v5qtqRQi",
|
||||||
|
"version": "1.10.124-neoforge-1.21.1",
|
||||||
|
"path": "mods/spark-1.10.124-neoforge.jar",
|
||||||
|
"url": "https://cdn.modrinth.com/data/l6YH9Als/versions/v5qtqRQi/spark-1.10.124-neoforge.jar",
|
||||||
|
"sha1": "9430cc2ab64ff89d698be593769fb9f9ee4efae6",
|
||||||
|
"size": 3642581,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "modrinth",
|
||||||
|
"slug": "appleskin",
|
||||||
|
"versionId": "uAKA6Laj",
|
||||||
|
"version": "3.0.9+mc1.21",
|
||||||
|
"path": "mods/appleskin-neoforge-mc1.21-3.0.9.jar",
|
||||||
|
"url": "https://cdn.modrinth.com/data/EsAfCjCV/versions/uAKA6Laj/appleskin-neoforge-mc1.21-3.0.9.jar",
|
||||||
|
"sha1": "81cf0e668f991f83ac8820c386fbd6c9c3602246",
|
||||||
|
"size": 75804,
|
||||||
|
"side": "both"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "modrinth",
|
||||||
|
"slug": "mouse-tweaks",
|
||||||
|
"versionId": "9I21YYxf",
|
||||||
|
"version": "1.21-2.26.1-neoforge",
|
||||||
|
"path": "mods/MouseTweaks-neoforge-mc1.21-2.26.1.jar",
|
||||||
|
"url": "https://cdn.modrinth.com/data/aC3cM3Vq/versions/9I21YYxf/MouseTweaks-neoforge-mc1.21-2.26.1.jar",
|
||||||
|
"sha1": "6dae57f4f50f7808d2ed9a18f6cd1c0d4640c6bc",
|
||||||
|
"size": 73938,
|
||||||
|
"side": "client"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"defaultServer": {
|
"defaultServer": {
|
||||||
|
|||||||
+19
-2
@@ -163,8 +163,25 @@ if ($LauncherExePath) {
|
|||||||
}
|
}
|
||||||
$launcherFile = Get-Item $LauncherExePath
|
$launcherFile = Get-Item $LauncherExePath
|
||||||
$launcherVersion = $launcherFile.VersionInfo.FileVersion
|
$launcherVersion = $launcherFile.VersionInfo.FileVersion
|
||||||
|
$versionSource = 'PE FileVersion'
|
||||||
|
|
||||||
|
# Linux PowerShell can't read PE FileVersion from a Windows .exe. When that
|
||||||
|
# happens, fall back to launcher/ModpackLauncher.csproj's <Version> (the
|
||||||
|
# source of truth that the Windows compile bakes into FileVersion anyway).
|
||||||
|
# Append ".0" so callers get the same 4-part form as the PE metadata.
|
||||||
if ([string]::IsNullOrWhiteSpace($launcherVersion)) {
|
if ([string]::IsNullOrWhiteSpace($launcherVersion)) {
|
||||||
throw "Launcher exe has no FileVersion -- set <Version> in ModpackLauncher.csproj and republish."
|
$csprojPath = Join-Path $here '..\launcher\ModpackLauncher.csproj'
|
||||||
|
if (Test-Path $csprojPath) {
|
||||||
|
[xml]$csproj = Get-Content $csprojPath
|
||||||
|
$csprojVersion = ($csproj.Project.PropertyGroup.Version | Where-Object { $_ }) | Select-Object -First 1
|
||||||
|
if ($csprojVersion) {
|
||||||
|
$launcherVersion = if ($csprojVersion -match '^\d+\.\d+\.\d+$') { "$csprojVersion.0" } else { $csprojVersion }
|
||||||
|
$versionSource = "csproj <Version> (fallback)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ([string]::IsNullOrWhiteSpace($launcherVersion)) {
|
||||||
|
throw "Launcher exe has no FileVersion and csproj <Version> couldn't be read either -- set <Version> in ModpackLauncher.csproj and republish."
|
||||||
}
|
}
|
||||||
# FileVersion is the four-component form (e.g. "0.1.0.0" for csproj <Version>0.1.0</Version>).
|
# FileVersion is the four-component form (e.g. "0.1.0.0" for csproj <Version>0.1.0</Version>).
|
||||||
# Embed as-is -- the launcher's Version.Parse handles it directly and avoids ambiguous
|
# Embed as-is -- the launcher's Version.Parse handles it directly and avoids ambiguous
|
||||||
@@ -174,7 +191,7 @@ if ($LauncherExePath) {
|
|||||||
|
|
||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host ("Launcher metadata embedded:")
|
Write-Host ("Launcher metadata embedded:")
|
||||||
Write-Host (" Version: {0}" -f $launcherVersion)
|
Write-Host (" Version: {0} ({1})" -f $launcherVersion, $versionSource)
|
||||||
Write-Host (" Url: {0}" -f $LauncherPublicUrl)
|
Write-Host (" Url: {0}" -f $LauncherPublicUrl)
|
||||||
Write-Host (" Source: {0}" -f $launcherFile.FullName)
|
Write-Host (" Source: {0}" -f $launcherFile.FullName)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -214,11 +214,26 @@ $overridesLocal = Join-Path $repoRoot 'pack\overrides'
|
|||||||
$shareFiles = Join-Path $DeployShare 'files'
|
$shareFiles = Join-Path $DeployShare 'files'
|
||||||
if ($shouldRunPack -and (Test-Path $overridesLocal)) {
|
if ($shouldRunPack -and (Test-Path $overridesLocal)) {
|
||||||
Step "Mirror pack/overrides/ -> $shareFiles" {
|
Step "Mirror pack/overrides/ -> $shareFiles" {
|
||||||
# /MIR makes destination match source (deletes orphan files in $shareFiles).
|
# Prefer rsync where available (Linux/macOS); fall back to Windows robocopy.
|
||||||
# /XJ skips junctions, /R:1 /W:1 keeps retry behaviour sane on flaky shares.
|
# Both perform a mirror: orphan files in the destination are removed so
|
||||||
robocopy $overridesLocal $shareFiles /MIR /XJ /R:1 /W:1 /NFL /NDL /NJH /NJS /NP | Out-Host
|
# the share matches the local overrides exactly.
|
||||||
# Robocopy returns 0-7 for success-with-info; 8+ is real failure.
|
if (Get-Command rsync -ErrorAction SilentlyContinue) {
|
||||||
if ($LASTEXITCODE -ge 8) { throw "robocopy failed with exit $LASTEXITCODE" }
|
$src = ($overridesLocal -replace '\\','/').TrimEnd('/') + '/'
|
||||||
|
$dst = ($shareFiles -replace '\\','/').TrimEnd('/') + '/'
|
||||||
|
if (-not (Test-Path $shareFiles)) { New-Item -ItemType Directory -Path $shareFiles -Force | Out-Null }
|
||||||
|
& rsync -a --delete $src $dst
|
||||||
|
if ($LASTEXITCODE -ne 0) { throw "rsync failed with exit $LASTEXITCODE" }
|
||||||
|
}
|
||||||
|
elseif (Get-Command robocopy -ErrorAction SilentlyContinue) {
|
||||||
|
# /MIR makes destination match source (deletes orphan files in $shareFiles).
|
||||||
|
# /XJ skips junctions, /R:1 /W:1 keeps retry behaviour sane on flaky shares.
|
||||||
|
robocopy $overridesLocal $shareFiles /MIR /XJ /R:1 /W:1 /NFL /NDL /NJH /NJS /NP | Out-Host
|
||||||
|
# Robocopy returns 0-7 for success-with-info; 8+ is real failure.
|
||||||
|
if ($LASTEXITCODE -ge 8) { throw "robocopy failed with exit $LASTEXITCODE" }
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw "Neither rsync nor robocopy is available -- can't mirror pack overrides."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user