Skip to content

Releases: KSPModdingLibs/KSPBuildTools

1.1.1

01 Dec 08:17

Choose a tag to compare

Msbuild

  • Fixed pdb files not being copied to GameData in Debug configuration

1.1.0

30 Nov 07:12

Choose a tag to compare

Msbuild

  • Automatically run ckan update when restoring

1.0.1

25 Nov 07:40

Choose a tag to compare

Msbuild

  • Fix broken KSPAssemblyDependency attributes when using ModReference items.

1.0.0

20 Nov 06:24

Choose a tag to compare

Msbuild

  • Renamed global msbuild properties to have the KSPBT_ prefix to avoid namespace collisions with other frameworks
    • KSPRoot is now KSPBT_GameRoot. It should no longer be referenced within a .csproj file
    • RepoRootPath is now KSPBT_ModRoot, and should now point to the mod folder within GameData rather than the
      root of a git repo
    • BinariesOutputRelativePath is now KSPBT_ModPluginFolder
    • GenerateKSPAssemblyAttribute is now KSPBT_GenerateAssemblyAttribute and defaults to true
    • GenerateKSPAssemblyDependencyAttributes is now KSPBT_GenerateDependencyAttributes and defaults to true
    • ReferenceUnityAssemblies is now KSPBT_ReferenceUnityAssemblies
    • ReferenceKSPAssemblies is now KSPBT_ReferenceGameAssemblies
  • Added the KSPBT_ReferenceSystemAssemblies property to control referencing the mono system DLLs within the KSP
    managed folder. Setting this property to false will load the implicit framework DLLs instead.
  • Mod dependencies should now be declared with
    ModReference items. This avoids the need for the KSP install path to be known at evaluation time.
  • Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)
  • Fix incorrect behavior when building without a solution (#50)

Actions

  • KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)
  • compile action: Use dotnet restore instead of nuget restore by default, allowing the action to work on any Ubuntu runner image. Added the use-nuget-restore option to restore the previous behavior for projects that use packages.config for dependencies. (#68)
  • compile action: Removed call toactions/setup-dotnet. Setting up .NET should be done as a separate step. (#65)
  • setup-ckan action: Sped up execution by skipping recommended packages and man-db updates
  • setup-ckan action: Add ckan-install-method option for installation method. Currently supports 'apt' for installation on Debian/Ubuntu, or 'skip' to skip installation for runners that already have CKAN installed.
  • assemble-release action: outputs.artifact-path was split into outputs.artifact-zip-path and outputs.artifact-dir-path containing paths to a zip file and directory respectively. These are also now located under $RELEASE_STAGING instead of inside the workspace
  • assemble-release action: Removed call to actions/upload-artifact. This should be done as a separate step.

Library

  • Removed Log.cs and the entire includes directory. Please use KSPCommunityLib instead.

1.0.0-rc.1

19 Nov 08:17
f29fbbf

Choose a tag to compare

Msbuild

  • Renamed global msbuild properties to have the KSPBT_ prefix to avoid namespace collisions with other frameworks
    • KSPRoot is now KSPBT_GameRoot. It should no longer be referenced within a .csproj file
    • RepoRootPath is now KSPBT_ModRoot, and should now point to the mod folder within GameData rather than the
      root of a git repo
    • BinariesOutputRelativePath is now KSPBT_ModPluginFolder
    • GenerateKSPAssemblyAttribute is now KSPBT_GenerateAssemblyAttribute and defaults to true
    • GenerateKSPAssemblyDependencyAttributes is now KSPBT_GenerateDependencyAttributes and defaults to true
    • ReferenceUnityAssemblies is now KSPBT_ReferenceUnityAssemblies
    • ReferenceKSPAssemblies is now KSPBT_ReferenceGameAssemblies
  • Added the KSPBT_ReferenceSystemAssemblies property to control referencing the mono system DLLs within the KSP
    managed folder. Setting this property to false will load the implicit framework DLLs instead.
  • Mod dependencies should now be declared with
    ModReference items. This avoids the need for the KSP install path to be known at evaluation time.
  • Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)
  • Fix incorrect behavior when building without a solution (#50)

Actions

  • KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)
  • compile action: Use dotnet restore instead of nuget restore by default, allowing the action to work on any Ubuntu runner image. Added the use-nuget-restore option to restore the previous behavior for projects that use packages.config for dependencies. (#68)
  • compile action: Removed call toactions/setup-dotnet. Setting up .NET should be done as a separate step. (#65)
  • setup-ckan action: Sped up execution by skipping recommended packages and man-db updates
  • setup-ckan action: Add ckan-install-method option for installation method. Currently supports 'apt' for installation on Debian/Ubuntu, or 'skip' to skip installation for runners that already have CKAN installed.
  • assemble-release action: outputs.artifact-path was split into outputs.artifact-zip-path and outputs.artifact-dir-path containing paths to a zip file and directory respectively. These are also now located under $RELEASE_STAGING instead of inside the workspace
  • assemble-release action: Removed call to actions/upload-artifact. This should be done as a separate step.

Library

  • Removed Log.cs and the entire includes directory. Please use KSPCommunityLib instead.

1.0.0-alpha.3

14 Nov 07:56

Choose a tag to compare

Msbuild

  • Renamed global msbuild properties to have the KSPBT_ prefix to avoid namespace collisions with other frameworks
    • KSPRoot is now KSPBT_GameRoot. It should no longer be referenced within a .csproj file
    • RepoRootPath is now KSPBT_ModRoot, and should now point to the mod folder within GameData rather than the
      root of a git repo
    • BinariesOutputRelativePath is now KSPBT_ModPluginFolder
    • GenerateKSPAssemblyAttribute is now KSPBT_GenerateAssemblyAttribute and defaults to true
    • GenerateKSPAssemblyDependencyAttributes is now KSPBT_GenerateDependencyAttributes and defaults to true
    • ReferenceUnityAssemblies is now KSPBT_ReferenceUnityAssemblies
    • ReferenceKSPAssemblies is now KSPBT_ReferenceGameAssemblies
  • Added the KSPBT_ReferenceSystemAssemblies property to control referencing the mono system DLLs within the KSP
    managed folder. Setting this property to false will load the implicit framework DLLs instead.
  • Mod dependencies should now be declared with
    ModReference items. This avoids the need for the KSP install path to be known at evaluation time.
  • Only include Log.cs (or anything else in include/unity) when KSPBT_ReferenceUnityAssemblies is true (#61)
  • Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)
  • Fix incorrect behavior when building without a solution (#50)

Actions

  • KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)
  • compile action: Use dotnet restore instead of nuget restore by default, allowing the action to work on any Ubuntu runner image. Added the use-nuget-restore option to restore the previous behavior for projects that use packages.config for dependencies. (#68)
  • compile action: Removed call toactions/setup-dotnet. Setting up .NET should be done as a separate step. (#65)
  • setup-ckan action: Sped up execution by skipping recommended packages and man-db updates
  • setup-ckan action: Add ckan-install-method option for installation method. Currently supports 'apt' for installation on Debian/Ubuntu, or 'skip' to skip installation for runners that already have CKAN installed.
  • assemble-release action: outputs.artifact-path now includes the .zip extension (#51)

1.0.0-alpha.2

07 Nov 05:47
2fa2a86

Choose a tag to compare

1.0.0-alpha.2 Pre-release
Pre-release

Msbuild

  • Renamed global msbuild properties to have the KSPBT_ prefix to avoid namespace collisions with other frameworks
    • KSPRoot is now KSPBT_GameRoot. It should no longer be referenced within a .csproj file
    • RepoRootPath is now KSPBT_ModRoot, and should now point to the mod folder within GameData rather than the
      root of a git repo
    • BinariesOutputRelativePath is now KSPBT_ModPluginFolder
    • GenerateKSPAssemblyAttribute is now KSPBT_GenerateAssemblyAttribute and defaults to true
    • GenerateKSPAssemblyDependencyAttributes is now KSPBT_GenerateDependencyAttributes and defaults to true
    • ReferenceUnityAssemblies is now KSPBT_ReferenceUnityAssemblies
    • ReferenceKSPAssemblies is now KSPBT_ReferenceGameAssemblies
  • Added the KSPBT_ReferenceSystemAssemblies property to control referencing the mono system DLLs within the KSP
    managed folder. Setting this property to false will load the implicit framework DLLs instead.
  • Mod dependencies should now be declared with
    ModReference items. This avoids the need for the KSP install path to be known at evaluation time.
  • Only include Log.cs (or anything else in include/unity) when KSPBT_ReferenceUnityAssemblies is true (#61)
  • Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)
  • Fix incorrect behavior when building without a solution (#50)

Docs

  • Fixed git submodule example to work even for tagged releases (#49)

Actions

  • KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)
  • compile action: Use dotnet restore instead of nuget restore by default, allowing the action to work on any Ubuntu runner image. Added the use-nuget-restore option to restore the previous behavior for projects that use packages.config for dependencies. (#68)
  • compile action: Removed call toactions/setup-dotnet. Setting up .NET should be done as a separate step. (#65)
  • setup-ckan action: Sped up execution by skipping recommended packages and man-db updates
  • assemble-release action: outputs.artifact-path now includes the .zip extension (#51)

0.0.5

07 Nov 07:41

Choose a tag to compare

Several non-breaking bugfixes backported from the next development version

Docs

  • Fixed git submodule example to work even for tagged releases (#49)

Build

  • BACKPORT: Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)

Actions

  • BACKPORT: KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)

1.0.0-alpha.1

31 Oct 06:58

Choose a tag to compare

1.0.0-alpha.1 Pre-release
Pre-release

Msbuild

  • Renamed global msbuild properties to have the KSPBT_ prefix to avoid namespace collisions with other frameworks
    • KSPRoot is now KSPBT_GameRoot. It should no longer be referenced within a .csproj file
    • RepoRootPath is now KSPBT_ModRoot, and should now point to the mod folder within GameData rather than the
      root of a git repo
    • BinariesOutputRelativePath is now KSPBT_ModPluginFolder
    • GenerateKSPAssemblyAttribute is now KSPBT_GenerateAssemblyAttribute and defaults to true
    • GenerateKSPAssemblyDependencyAttributes is now KSPBT_GenerateDependencyAttributes and defaults to true
    • ReferenceUnityAssemblies is now KSPBT_ReferenceUnityAssemblies
    • ReferenceKSPAssemblies is now KSPBT_ReferenceGameAssemblies
  • Added the KSPBT_ReferenceSystemAssemblies property to control referencing the mono system DLLs within the KSP
    managed folder. Setting this property to false will load the implicit framework DLLs instead.
  • Mod dependencies should now be declared with
    ModReference items. This avoids the need for the KSP install path to be known at evaluation time.
  • Only include Log.cs (or anything else in include/unity) when KSPBT_ReferenceUnityAssemblies is true (#61)
  • Fix KSP_VERSION_MAX getting mangled when using an existing version file (#64)
  • Fix incorrect behavior when building without a solution (#50)

Docs

  • Fixed git submodule example to work even for tagged releases (#49)

Actions

  • KSPBT actions used in reusable workflows are now pinned with each tag, instead of using actions from main. All calls to reusable workflows should be pinned to a tag to ensure the correct actions are being used. (#21)
  • compile action: Use dotnet restore instead of nuget restore by default, allowing the action to work on any Ubuntu runner image. Added the use-nuget-restore option to restore the previous behavior for projects that use packages.config for dependencies. (#68)
  • compile action: Removed call toactions/setup-dotnet. Setting up .NET should be done as a separate step. (#65)
  • setup-ckan action: Sped up execution by skipping recommended packages and man-db updates
  • assemble-release action: outputs.artifact-path now includes the .zip extension (#51)

0.0.4

30 Oct 06:03
07ea5e6

Choose a tag to compare

Library

  • Added a logging utility for use by mods

Actions

  • compile now uses dotnet msbuild to build the project
  • Dotnet compiler version can be specified in the compile options

Build

  • Fixed several places in KSPCommon.targets that didn't check for empty values properly
  • Support all forms of version numbers
    • KSPAssembly and KSPAssemblyDependency may optionally be major.minor (omitting patch)
    • KSPVersionFile.Version now defaults to $(FileVersion) if not set, which should support any number of elements
  • ProjectReference may now include which will generate a KSPAssemblyDependency attribute
  • Added ReferenceUnityAssemblies and ReferenceKSPAssemblies for disabling the automatic inclusion of Unity and KSP assembly references
  • Prevented automatic inclusion of mscorlib from nuget on some compiler versions