Skip to content

Support portable KSP build paths#2

Draft
Sean-Kenneth-Doherty wants to merge 1 commit into
bssthu:masterfrom
Sean-Kenneth-Doherty:portable-ksp-build-version-json
Draft

Support portable KSP build paths#2
Sean-Kenneth-Doherty wants to merge 1 commit into
bssthu:masterfrom
Sean-Kenneth-Doherty:portable-ksp-build-version-json

Conversation

@Sean-Kenneth-Doherty
Copy link
Copy Markdown

@Sean-Kenneth-Doherty Sean-Kenneth-Doherty commented May 17, 2026

Summary

  • Let the project discover either KSP_x64_Data/Managed or KSP_Data/Managed from the configured KSP root.
  • Support KSP_PATH, KSPDIR, KSP_DIR, or direct KSPManagedDir build properties, with clear missing-reference errors.
  • Allow compile-only builds with RunPostBuildCopy=false and fix the checked-in AVC version file so it parses as strict JSON.

Why

Current master has already moved the plugin source and version metadata to KSP 1.12.x, but the project still assumes the Windows KSP_x64_Data managed-assembly layout. That blocks a clean build against a normal Linux KSP 1.12.5 install, where the assemblies live under KSP_Data/Managed.

The tracked PAPIPluginContinued.version also has a trailing comma in the GITHUB block, so strict JSON tooling rejects it.

Scope / caveats

This is build-system and metadata cleanup only. It does not change plugin runtime behavior. The default post-build copy still uses the existing Windows xcopy command; Linux or compile-only builds should pass /p:RunPostBuildCopy=false. KSP was not launched and runway-light behavior was not tested.

Validation

  • xbuild PAPIPlugin.sln /p:Configuration=Release /p:KSP_PATH="/path/to/Kerbal Space Program" /p:RunPostBuildCopy=false /verbosity:minimal against a local KSP 1.12.5.3190 install.
  • xmllint --noout PAPIPlugin/PAPIPlugin.csproj
  • jq empty assets/GameData/PAPIPlugin/PAPIPluginContinued.version
  • git diff --check HEAD~1..HEAD

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant