Atlas-Rhythm / Hive

A general backend project for modding communities.
GNU Affero General Public License v3.0
11 stars 1 forks source link

Prepare Hive.Versioning for packaging #70

Closed nike4613 closed 3 years ago

nike4613 commented 3 years ago

This PR is preparing Hive.Versioning (and other projects in the future) for packaging as standalone libraries.

Notably, it introduces a BuildStandalone property which can be set on the command line to the name of the project to build as a standalone library. When set, that project will be automatically ILLinked and ILRepacked with its dependencies and the result will be only a single file.

This also adds some other properties, which may be set by either a project or on the command line:

This also adds some item groups which control various parts of the packaging:

At the moment, building with BuildStandalone is only known to work on Windows, because it uses ILRepack directly, which is a .NET Framework application. To build this, move to the folder Hive.Versioning and run the commands

dotnet clean -c Release
dotnet build -c Release -p:BuildStandalone=Hive.Versioning

The result in the bin subfolder will be the packed binaries.