diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000000000..81a73713f15455 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,26 @@ +FROM ubuntu:focal +ARG DEBIAN_FRONTEND=noninteractive +ARG VSCODE_USERNAME=vscode +ARG VSCODE_UID=1000 +ARG VSCODE_GID=1000 +RUN apt-get update \ + && apt-get install --no-install-recommends -y apt-utils dialog sudo 2>&1 \ + && groupadd --gid $VSCODE_GID $VSCODE_USERNAME \ + && useradd -s /bin/bash --uid $VSCODE_UID --gid $VSCODE_GID -m $VSCODE_USERNAME \ + && echo $VSCODE_USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$VSCODE_USERNAME\ + && chmod 0440 /etc/sudoers.d/$VSCODE_USERNAME \ + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* +RUN apt-get update \ + && apt-get install --no-install-recommends -y git procps lsb-release \ + build-essential libtool autotools-dev automake pkg-config \ + bsdmainutils python3 libevent-dev libboost-system-dev \ + libboost-filesystem-dev libboost-test-dev libboost-thread-dev \ + libminiupnpc-dev libzmq3-dev libqt5gui5 libqt5core5a libqt5dbus5 \ + qttools5-dev qttools5-dev-tools libqrencode-dev libdb-dev \ + libdb++-dev gdb man manpages manpages-dev manpages-posix lynx links \ + emacs vim mc cppcheck python3-pip pylint black pyflakes3 \ + python3-jedi python3-autopep8 black yapf3 isort pylint flake8 mypy \ + pydocstyle pylama wget curl lsof htop net-tools clang bear \ + && pip3 install prospector==1.3.0 rope==0.18.0 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000000000..9d625f00e265c3 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,22 @@ +{ + "postCreateCommand": "./autogen.sh && ./configure --with-incompatible-bdb && make -C src/ config/bitcoin-config.h bench/data/block413567.raw.h test/data/asmap.raw.h", + "build": { + "dockerfile": "Dockerfile" + }, + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined" + ], + "remoteUser": "vscode", + "settings": { + "terminal.integrated.shell.linux": "/bin/bash", + "terminal.integrated.shellArgs.linux": ["-l"] + }, + "name": "", + "extensions": [ + "ms-python.python", + "ms-vscode.cpptools", + "jbenden.c-cpp-flylint" + ] +} diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 00000000000000..bb598c8e3d71af --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,19 @@ +{ + "configurations": [ + { + "defines": [ + "HAVE_CONFIG_H" + ], + "includePath": [ + "${workspaceFolder}/src/**", + "/usr/include/" + ], + "intelliSenseMode": "gcc-x64", + "name": "", + "compilerPath": "/usr/bin/gcc", + "cppStandard": "gnu++11", + "cStandard": "gnu11" + } + ], + "version": 4 +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000000000..427814b1ac2093 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "c-cpp-flylint.clang.enable": false, + "c-cpp-flylint.flexelint.enable": false, + "extensions.ignoreRecommendations": true, + "extensions.showRecommendationsOnlyOnDemand": true, + "python.showStartPage": false, + "telemetry.enableTelemetry": false +}