Skip to content

Commit

Permalink
Dev Container (#10751)
Browse files Browse the repository at this point in the history
  • Loading branch information
jaredpar authored Aug 19, 2024
1 parent da79940 commit 0ff482d
Show file tree
Hide file tree
Showing 4 changed files with 130 additions and 25 deletions.
19 changes: 19 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0

ARG DOTNET_SDK_INSTALL_URL=https://dot.net/v1/dotnet-install.sh
# Install the correct Roslyn SDK into the same directory that the base image installs the SDK in.
ENV DOTNET_INSTALL_DIR=/usr/share/dotnet

# Copy the global.json file so its available in the image before the repo is cloned
COPY global.json /tmp/

RUN cd /tmp \
&& curl --location --output dotnet-install.sh "${DOTNET_SDK_INSTALL_URL}" \
&& chmod +x dotnet-install.sh \
&& mkdir -p "${DOTNET_INSTALL_DIR}" \
&& ./dotnet-install.sh --jsonfile "./global.json" --install-dir "${DOTNET_INSTALL_DIR}" \
&& rm dotnet-install.sh

# Set up machine requirements to build the repo
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends curl git
60 changes: 60 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the README at:
// https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/dotnetcore
{
"name": "Razor DevContainer",
"build": {
"dockerfile": "Dockerfile",
// Set the context to the workspace folder to allow us to copy files from it.
"context": ".."
},
"customizations": {
"vscode": {
"settings": {
"files.associations": {
"*.csproj": "msbuild",
"*.fsproj": "msbuild",
"*.globalconfig": "ini",
"*.manifest": "xml",
"*.nuspec": "xml",
"*.pkgdef": "ini",
"*.projitems": "msbuild",
"*.props": "msbuild",
"*.resx": "xml",
"*.rsp": "Powershell",
"*.ruleset": "xml",
"*.settings": "xml",
"*.shproj": "msbuild",
"*.slnf": "json",
"*.targets": "msbuild",
"*.vbproj": "msbuild",
"*.vsixmanifest": "xml",
"*.vstemplate": "xml",
"*.xlf": "xml",
"*.yml": "azure-pipelines"
},
// ms-dotnettools.csharp settings
"omnisharp.disableMSBuildDiagnosticWarning": true,
"omnisharp.enableEditorConfigSupport": true,
"omnisharp.enableImportCompletion": true,
"omnisharp.useModernNet": true,
"omnisharp.enableAsyncCompletion": true,
// ms-dotnettools.csdevkit settings
"dotnet.defaultSolution": "Razor.sln",
// ms-vscode.powershell settings
"powershell.promptToUpdatePowerShell": false,
"powershell.integratedConsole.showOnStartup": false,
"powershell.startAutomatically": false,
// ms-azure-devops.azure-pipelines settings
},
"extensions": [
"ms-dotnettools.csharp",
"ms-dotnettools.csdevkit",
"EditorConfig.EditorConfig",
"ms-vscode.powershell",
"tintoy.msbuild-project-tools",
"ms-azure-devops.azure-pipelines"
]
}
},
"postCreateCommand": "${containerWorkspaceFolder}/restore.sh"
}
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
},
"dotnet.defaultSolution": "Razor.sln",
"omnisharp.defaultLaunchSolution": "Razor.sln",
"files.encoding": "utf8bom"
"files.encoding": "utf8bom",
"dotnet.testWindow.disableBuildOnRefresh": true
}
73 changes: 49 additions & 24 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,52 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "ActivateDotnet",
"type": "shell",
"windows": {
"command": "echo",
"args": [
"Skipping activation on windows"
]
},
"linux": {
"command": "source",
"args": [
"activate.sh"
],
"options": {
"cwd": "${workspaceFolder}"
},
"presentation": {
"reveal": "silent"
}
},
"version": "2.0.0",
"tasks": [
{
"label": "ActivateDotnet",
"type": "shell",
"windows": {
"command": "echo",
"args": [
"Skipping activation on windows"
]
},
"linux": {
"command": "source",
"args": [
"activate.sh"
],
"options": {
"cwd": "${workspaceFolder}"
},
]
"presentation": {
"reveal": "silent"
}
},
},
{
"label": "build.sh",
"command": "./build.sh",
"type": "shell",
"args": [
],
"windows": {
"command": "${workspaceFolder}/build.cmd",
},
"problemMatcher": "$msCompile",
"group": "build"
},
{
"label": "build Rasor.Slim.slnf",
"command": "dotnet",
"type": "shell",
"args": [
"build",
"-p:RunAnalyzersDuringBuild=false",
"-p:GenerateFullPaths=true",
"Razor.Slim.slnf"
],
"problemMatcher": "$msCompile",
"group": "build"
}
]
}

0 comments on commit 0ff482d

Please sign in to comment.