-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #15 from microsoft/containerimprovements
Dev Container improvements
- Loading branch information
Showing
4 changed files
with
46 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,26 @@ | ||
// For format details, see https://aka.ms/devcontainer.json. For config options, see the | ||
// README at: https://github.com/devcontainers/templates/tree/main/src/docker-existing-docker-compose | ||
{ | ||
"name": "NetRemote Development Environment", | ||
"dockerComposeFile": [ | ||
"name": "NetRemote Development Environment", | ||
"dockerComposeFile": [ | ||
"../.docker/compose.yaml", | ||
"./compose-devcontainer.yaml" | ||
], | ||
"service": "netremote-dev-hostapd", | ||
"workspaceFolder": "/netremote", | ||
"shutdownAction": "none", | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"cschlosser.doxdocgen", | ||
"eamodio.gitlens", | ||
"EditorConfig.EditorConfig", | ||
"GitHub.copilot-chat", | ||
"GitHub.copilot", | ||
"ms-vscode.cmake-tools", | ||
"ms-vscode.cpptools", | ||
"ms-vscode.makefile-tools" | ||
] | ||
} | ||
} | ||
], | ||
"service": "netremote-dev-hostapd", | ||
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", | ||
"shutdownAction": "none", | ||
"customizations": { | ||
"vscode": { | ||
"extensions": [ | ||
"cschlosser.doxdocgen", | ||
"eamodio.gitlens", | ||
"EditorConfig.EditorConfig", | ||
"GitHub.copilot-chat", | ||
"GitHub.copilot", | ||
"ms-vscode.cmake-tools", | ||
"ms-vscode.cpptools", | ||
"ms-vscode.makefile-tools" | ||
] | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,6 +4,7 @@ FROM ubuntu:mantic as netremote | |
# Set arguments used only in this Dockerfile. | ||
ARG build_date="2023-11-09T19:51:18Z" | ||
ARG DEBIAN_FRONTEND=noninteractive | ||
ARG LLVM_VERSION=17 | ||
|
||
LABEL maintainer="Andrew Beltrano ([email protected])" | ||
LABEL org.label-schema.build-date = "${build_date}" | ||
|
@@ -17,28 +18,36 @@ LABEL org.label-schema.schema-version = "1.0" | |
RUN apt-get update && \ | ||
apt-get install -qq -y --no-install-recommends \ | ||
# Project build dependencies. | ||
# build-essential ca-certificates clang-17 cmake curl dotnet7 git gnupg linux-libc-dev lldb llvm ninja-build pkg-config tar unzip zip | ||
# build-essential ca-certificates cmake curl dotnet7 git gnupg linux-libc-dev lsb-release ninja-build pkg-config software-properties-common tar unzip wget zip | ||
build-essential \ | ||
ca-certificates \ | ||
clang-17 \ | ||
cmake \ | ||
curl \ | ||
dotnet7 \ | ||
git \ | ||
gnupg \ | ||
linux-libc-dev \ | ||
lldb \ | ||
llvm \ | ||
lsb-release \ | ||
ninja-build \ | ||
pkg-config \ | ||
software-properties-common \ | ||
tar \ | ||
unzip \ | ||
wget \ | ||
zip \ | ||
&& \ | ||
# Remove llvm 16 toolchain packages to avoid conflicts with llvm 17 toolchain. | ||
apt-get remove -y --purge clang-16* lldb-16* llvm-16* && \ | ||
# Reduce image size by removing package cache | ||
apt-get clean && \ | ||
rm -rf /var/lib/apt/lists/* | ||
|
||
# Install complete llvm toolchain using automatic installation script. | ||
RUN wget https://apt.llvm.org/llvm.sh && \ | ||
chmod +x llvm.sh && \ | ||
./llvm.sh ${LLVM_VERSION} all && \ | ||
rm llvm.sh | ||
|
||
FROM netremote as netremote-dev | ||
|
||
# Install packages. | ||
|
@@ -55,7 +64,6 @@ RUN apt-get update && \ | |
rsync \ | ||
ssh \ | ||
sudo \ | ||
wget \ | ||
# Generic development tools. | ||
# clang-format clang-tidy emacs gdb nano policycoreutils-python-utils python-is-python3 vim | ||
clang-format \ | ||
|