Skip to content

Implement reproducible builds from the command line #23

@nikita-tukkel

Description

@nikita-tukkel

At this moment, looks like it is not possible to build the release without having Visual Studio installed. There are also some not obvious expectations from the environment setup to build successfully. This prevents people who don’t want to install Visual Studio or not proficient enough in the .Net world from contributing even a trivial pull requests.

The better build configuration must meet the following requirements:

  1. Compilation is performed with a single console command, e.g. dotnet build

  2. Release zip is assembled with a single console command also, e.g. dotnet build -target:ReleaseZip

  3. Visual Studio is not required.

  4. Only the correct set of command-line tools is required (dotnet, msbuild, nuget, SDK) and their versions are documented.

  5. All “standard” dependencies are defined via nuget.

  6. All “non-standard” dependencies are defined in a reliable and obvious fashion, e.g. (1) all dlls from Stationeers\rocketstation_Data\Managed and (2) all dlls from Stationeers\AddonManager. Nothing more, no extra expectations, no “go to X and download Y”, no copying files around, no surprises.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions