diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000..9ac47e93b1 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,33 @@ +# [Choice] Ubuntu version (use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon): ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 +ARG VARIANT=ubuntu-20.04 +FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT} + +# [Optional] Uncomment this section to install additional OS packages. +RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \ + && apt-get -y install --no-install-recommends build-essential \ + git \ + g++ \ + cmake \ + bison flex \ + libboost-all-dev \ + libevent-dev \ + libdouble-conversion-dev \ + libgoogle-glog-dev \ + libgflags-dev \ + libiberty-dev \ + liblz4-dev \ + liblzma-dev \ + libbz2-dev \ + libsnappy-dev \ + make \ + zlib1g-dev \ + binutils-dev \ + libjemalloc-dev \ + libssl-dev \ + pkg-config \ + libunwind-dev \ + libelf-dev \ + libdwarf-dev \ + libsodium-dev \ + libaio-dev \ + libnuma-dev diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000..e72e52f04a --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,32 @@ +{ + "name": "Ubuntu", + "build": { + "dockerfile": "Dockerfile", + // Update 'VARIANT' to pick an Ubuntu version: jammy / ubuntu-22.04, focal / ubuntu-20.04, bionic /ubuntu-18.04 + // Use ubuntu-22.04 or ubuntu-18.04 on local arm64/Apple Silicon. + "args": { "VARIANT": "jammy" } + }, + "runArgs": [ + "--net=host" + ], + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + // "postCreateCommand": "uname -a", + + // Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. + "remoteUser": "vscode", + "customizations": { + "vscode": { + "extensions": [ + "ms-azuretools.vscode-docker", + "github.vscode-github-actions", + "ms-vscode.cpptools-themes", + "ms-vscode.cpptools-extension-pack", + "ms-vscode.makefile-tools" + ] + } + } +} diff --git a/.gitignore b/.gitignore index 9dc75b30e5..8ca10f0e5f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # Backup and temporary files *~ .*.swp +.idea +.vscode # Build directories generated by ./contrib/ scripts. build-cachelib/ @@ -14,9 +16,14 @@ build-googletest/ build-sparsemap/ build-wangle/ +build-mvfst/ +build-zstd/ + # Required source-code dependencies, fetched by ./contrib/ scripts. cachelib/external/fmt/ cachelib/external/gflags/ cachelib/external/glog/ cachelib/external/googletest/ cachelib/external/sparsemap/ +cachelib/external/fizz/ +cachelib/external/zstd/