diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..46a865a19e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,42 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet +{ + "name": ".NET / C# Development", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/dotnet:dev-7.0", + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": { + "ghcr.io/devcontainers/features/dotnet:2": "latest", + }, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [5000, 5001], + // "portsAttributes": { + // "5001": { + // "protocol": "https" + // } + // } + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": { + "packages": ".devcontainer/packages.sh", + "native": "dotnet tool restore && dotnet cake --target externals-download", + "tests": "dotnet build tests/SkiaSharp.Tests.Console.sln", + }, + + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + // Set *default* container specific settings.json values on container create. + "settings": {}, + "extensions": [ + "ms-dotnettools.csdevkit", + ], + } + }, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.devcontainer/packages.sh b/.devcontainer/packages.sh new file mode 100755 index 0000000000..c3d5a50c77 --- /dev/null +++ b/.devcontainer/packages.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +set -e + +# Update APT package lists +sudo apt update + +# Install FontConfig - this is a dependency of libSkiaSharp.so +sudo apt install -y libfontconfig1 + +# Install the Emoji fonts - for tests +sudo apt install -y ttf-ancient-fonts + +# Install the Microsoft fonts (eg: Times New Roman) - for tests +sudo apt install -y software-properties-common +sudo apt-add-repository -y contrib +sudo apt update +# echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections +sudo apt install -y ttf-mscorefonts-installer diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..04621b601e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "dotnet.defaultSolution": "tests/SkiaSharp.Tests.Console.sln" +} diff --git a/scripts/install-linux-test-requirements.sh b/scripts/install-linux-test-requirements.sh deleted file mode 100755 index 45c499ef28..0000000000 --- a/scripts/install-linux-test-requirements.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Install FontConfigas that is a dependency of libSkiaSharp.so -sudo apt install -y libfontconfig1 - -# Install the Emoji fonts -sudo apt install -y ttf-ancient-fonts - -# Install the Microsoft fonts - like Times New Roman -echo ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true | sudo debconf-set-selections -sudo apt install -y ttf-mscorefonts-installer