Add separate debug (default) and release build tasks. Updated README to mention these.

This commit is contained in:
2022-01-19 18:17:46 +09:00
parent 86fbc5c014
commit 039c590205
2 changed files with 43 additions and 14 deletions

31
.vscode/tasks.json vendored
View File

@@ -4,7 +4,7 @@
"version": "2.0.0", "version": "2.0.0",
"tasks": [ "tasks": [
{ {
"label": "build", "label": "build: Debug",
"type": "shell", "type": "shell",
"command": "msbuild", "command": "msbuild",
"args": [ "args": [
@@ -13,8 +13,10 @@
"/t:build", "/t:build",
// Do not generate summary otherwise it leads to duplicate errors in Problems panel // Do not generate summary otherwise it leads to duplicate errors in Problems panel
"/consoleloggerparameters:NoSummary", "/consoleloggerparameters:NoSummary",
// Build specific configuration
"src/", "/p:Configuration=Debug",
// Your mod's source directory
"src/"
], ],
"group": { "group": {
"kind": "build", "kind": "build",
@@ -26,6 +28,29 @@
}, },
// Use the standard MS compiler pattern to detect errors, warnings and infos // Use the standard MS compiler pattern to detect errors, warnings and infos
"problemMatcher": "$msCompile" "problemMatcher": "$msCompile"
},
{
"label": "build: Release",
"type": "shell",
"command": "msbuild",
"args": [
// Ask msbuild to generate full paths for file names.
"/property:GenerateFullPaths=true",
"/t:build",
// Do not generate summary otherwise it leads to duplicate errors in Problems panel
"/consoleloggerparameters:NoSummary",
// Build specific configuration
"/p:Configuration=Release",
// Your mod's source directory
"src/"
],
"group": "build",
"presentation": {
// Reveal the output only if unrecognized errors occur.
"reveal": "silent"
},
// Use the standard MS compiler pattern to detect errors, warnings and infos
"problemMatcher": "$msCompile"
} }
] ]
} }

View File

@@ -8,11 +8,11 @@ The devcontainer has been configured and should fully support Fedora and any oth
The TL;DR of below: The TL;DR of below:
- Make sure you have SMAPI for developers installed - Make sure you have SMAPI for developers installed
- Create a symlink to your Stardew Valley installation directory called `_gamedirref` in the root of your project (`ln -s /path/to/stardew-valley ./_gamedirref`) - Create a symlink to your Stardew Valley installation directory called `_gamedirref` in the root of your project (`ln -s /path/to/stardew-valley ./_gamedirref`)
- Build and re-open project in dev container - Build and re-open project in dev container
- Build your mod project using the included build script (`ctrl+shift+b` or `cmd+shift+b`) - Build your mod project using the included build script (`ctrl+shift+b` or `cmd+shift+b`)
- Happy coding! :-) - Happy coding! :-)
# Prerequisites # Prerequisites
@@ -46,17 +46,21 @@ With this in place, you can now re-open your project using the devcontainer.
Within the container you should have access to the necessary tools, including `msbuild`, `dotnet`, and `nuget`. Within the container you should have access to the necessary tools, including `msbuild`, `dotnet`, and `nuget`.
Building your project can be done by triggering the included build task (`ctrl+shift+b`, or `cmd+shift+b`) or by running `msbuild` in terminal. Note that the task assumes your mod resides within a subdirectory called `src`. If that's not the case for your project, you can modify the script in `.vscode/tasks.json`. Building your project can be done by triggering the included build task (`ctrl+shift+b`, or `cmd+shift+b`) or by running `msbuild` in terminal. Note that the task assumes your mod resides within a subdirectory called `src`. If that's not the case for your project, you can modify the build scripts in `.vscode/tasks.json` to point to the right directory.
The container is set up to automatically run `dotnet restore src` after building the container image, but you can re-run this whenever you need to of course. If you instead wish to use the `nuget restore` option, you'll have to either include a `*.sln` solution file in your project, or have a `packages.config` file. The container is set up to automatically run `dotnet restore src` after building the container image, but you can re-run this whenever you need to of course. If you instead wish to use the `nuget restore` option, you'll have to either include a `*.sln` solution file in your project, or have a `packages.config` file.
# Building your mod
VSCode tasks are included to make building your mods easier. By default a debug build will be made when using VSCode's build task (default keyboard shortcut is `ctrl+shift+b` for Linux/Windows, or `cmd+shift+b` for Mac). You can access individual tasks through VSCode's Command Palette (`ctrl+shift+p` or `cmd+shift+p` by default) to trigger a release build.
## Included tools ## Included tools
Some of the included tools that are possibly useful for you to use directly are: Some of the included tools that are possibly useful for you to use directly are:
- `msbuild` - `msbuild`
- `dotnet` - `dotnet`
- `nuget` - `nuget`
# Contributing # Contributing