diff --git a/Brain.md b/Brain.md index 77409c9..59ea89f 100644 --- a/Brain.md +++ b/Brain.md @@ -22,7 +22,8 @@ Diese Datei ist das Projektgedaechtnis fuer Brogether. Sie fasst zusammen, was b - Brotato bringt `GodotWorkshopUtility.exe` mit. - Lokale Tools liegen absichtlich untracked unter `.tools/`. - Recovered Brotato-Scripts liegen absichtlich untracked unter `recovered/`. -- Gebaute ZIPs liegen absichtlich untracked unter `dist/`. +- Lokale Build-ZIPs liegen absichtlich untracked unter `dist/`. +- Der aktuelle teilbare Mod-ZIP wird zusaetzlich unter `releases/` committed. ## Relevante Projektstruktur @@ -41,11 +42,16 @@ docs/ setup.md brotato-multiplayer-modding-research.md workshop-upload.md + +releases/ + Brogether-Brogether-0.1.0.zip ``` ## Packaging Und Lokale Installation - `scripts/package.ps1` baut `dist\Brogether-Brogether-0.1.0.zip`. +- Danach kopiert `scripts/package.ps1` denselben ZIP nach `releases\Brogether-Brogether-0.1.0.zip`. +- `dist/` bleibt ignoriert; `releases/` wird committed, damit Tester den neuesten ZIP direkt aus dem Repo laden koennen. - Das Skript nutzt .NET `ZipArchive`, weil PowerShell `Compress-Archive` Backslash-Pfade erzeugt hatte, die Godot/Brotato nicht sauber akzeptierte. - ZIP-Struktur im Archiv: diff --git a/README.md b/README.md index 3605128..f3cabc4 100644 --- a/README.md +++ b/README.md @@ -37,13 +37,16 @@ scripts/ package.ps1 Builds the mod ZIP install-local.ps1 Installs the ZIP for local Brotato tests +releases/ + Brogether-Brogether-0.1.0.zip Latest committed mod ZIP for testers + docs/ setup.md Setup and test notes brotato-multiplayer-modding-research.md workshop-upload.md Step-by-step Steam Workshop upload guide ``` -`.tools/`, `recovered/`, and `dist/` are intentionally not committed. They contain local tools, recovered Brotato files, and built ZIPs. +`.tools/`, `recovered/`, and `dist/` are intentionally not committed. They contain local tools, recovered Brotato files, and local build output. The current shareable mod ZIP is committed under `releases/`. ## Local Test diff --git a/docs/workshop-upload.md b/docs/workshop-upload.md index e28dd3b..f6eadb1 100644 --- a/docs/workshop-upload.md +++ b/docs/workshop-upload.md @@ -21,6 +21,8 @@ After that, the ZIP is here: dist\Brogether-Brogether-0.1.0.zip ``` +The same ZIP is also copied to `releases\Brogether-Brogether-0.1.0.zip`. The `releases/` copy is committed to Git so testers can download the latest mod ZIP directly from the repository. + - Optional but recommended: a Workshop preview image as PNG or JPG. `512x512` and below `1 MB` is a good target. - For the first upload, you do not need a Workshop ID. Steam creates it. - For later updates, you need the Workshop ID from your Workshop item URL. @@ -83,7 +85,7 @@ The ID would be: ``` 2. Start `GodotWorkshopUtility.exe`. -3. Select `dist\Brogether-Brogether-0.1.0.zip` again. +3. Select `dist\Brogether-Brogether-0.1.0.zip` again. The committed copy in `releases/` is the same ZIP, but `dist/` is the local upload path used by the scripts. 4. Optionally select the same preview image. 5. This time, enter the existing Workshop ID. 6. Start the upload. diff --git a/releases/Brogether-Brogether-0.1.0.zip b/releases/Brogether-Brogether-0.1.0.zip new file mode 100644 index 0000000..85aaece Binary files /dev/null and b/releases/Brogether-Brogether-0.1.0.zip differ diff --git a/releases/README.md b/releases/README.md new file mode 100644 index 0000000..f6690be --- /dev/null +++ b/releases/README.md @@ -0,0 +1,18 @@ +# Release Artifacts + +This folder intentionally stores the latest built Brogether mod ZIP in Git. + +Run this from the project root whenever the mod changes: + +```powershell +.\scripts\package.ps1 +``` + +The script creates both: + +```text +dist\Brogether-Brogether-0.1.0.zip +releases\Brogether-Brogether-0.1.0.zip +``` + +`dist/` stays local and ignored. `releases/` is committed so testers can download the current mod ZIP directly from the repository. diff --git a/scripts/package.ps1 b/scripts/package.ps1 index 0ef08be..76e6fee 100644 --- a/scripts/package.ps1 +++ b/scripts/package.ps1 @@ -9,16 +9,22 @@ Add-Type -AssemblyName System.IO.Compression.FileSystem $root = Split-Path -Parent $PSScriptRoot $source = Join-Path $root "src" $dist = Join-Path $root "dist" +$releases = Join-Path $root "releases" $zipPath = Join-Path $dist "Brogether-Brogether-$Version.zip" +$releaseZipPath = Join-Path $releases "Brogether-Brogether-$Version.zip" if (-not (Test-Path $source)) { throw "Missing source folder: $source" } New-Item -ItemType Directory -Force -Path $dist | Out-Null +New-Item -ItemType Directory -Force -Path $releases | Out-Null if (Test-Path $zipPath) { Remove-Item -LiteralPath $zipPath -Force } +if (Test-Path $releaseZipPath) { + Remove-Item -LiteralPath $releaseZipPath -Force +} $archive = [System.IO.Compression.ZipFile]::Open($zipPath, [System.IO.Compression.ZipArchiveMode]::Create) try { @@ -37,4 +43,6 @@ finally { $archive.Dispose() } +Copy-Item -LiteralPath $zipPath -Destination $releaseZipPath -Force Write-Host "Created $zipPath" +Write-Host "Updated release artifact $releaseZipPath"