This is an automated email from the ASF dual-hosted git repository. dbecker pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit 4b62812995ce380f2dca038bac017432c6c5d14f Author: Fredy Wijaya <[email protected]> AuthorDate: Fri Aug 18 14:26:38 2023 -0500 [tools] Add Dev Container support for Impala development. Currently only VS Code is supported since IntelliJ/CLion support for Dev Container is still beta at the time of this writing. To use it, simply open Impala source code. $ git clone https://github.com/apache/impala.git $ cd impala $ code . The bootstrap_development.sh will be automatically executed post Docker container creation and all necessary extensions for IDE-like experience will be automatically installed. For C++, it will use clangd that uses compilation database instead of the Microsoft C++ extension since it works better with Clang related tools. Change-Id: I50508a09710641ec2a299b001fef3e7fefb0b7d5 Reviewed-on: http://gerrit.cloudera.org:8080/20380 Reviewed-by: Impala Public Jenkins <[email protected]> Tested-by: Quanlong Huang <[email protected]> --- .devcontainer/Dockerfile | 10 ++++++++++ .devcontainer/devcontainer.json | 22 ++++++++++++++++++++++ bin/rat_exclude_files.txt | 1 + 3 files changed, 33 insertions(+) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 000000000..8cb17a547 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,10 @@ +FROM ubuntu:20.04 + +ARG USER_UID=1000 +ARG USER_GID=$USER_UID + +RUN apt-get update \ + && apt-get install -y sudo git \ + && addgroup --gid "${USER_GID}" impdev \ + && adduser --uid "${USER_UID}" --gid "${USER_GID}" --disabled-password --gecos '' impdev \ + && echo 'impdev ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..39ce649a2 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,22 @@ +{ + "name": "Impala Dev", + "dockerFile": "Dockerfile", + "runArgs": [ + "--privileged" + ], + "remoteUser": "impdev", + "containerUser": "impdev", + "postCreateCommand": "echo 'yes' | bin/bootstrap_development.sh", + "customizations": { + "vscode": { + "extensions": [ + "ms-vscode.cmake-tools", + "llvm-vs-code-extensions.vscode-clangd", + "vadimcn.vscode-lldb", + "webfreak.debug", + "vscjava.vscode-java-pack", + "ms-python.python" + ] + } + } +} \ No newline at end of file diff --git a/bin/rat_exclude_files.txt b/bin/rat_exclude_files.txt index 69bc099cb..b12b8eff5 100644 --- a/bin/rat_exclude_files.txt +++ b/bin/rat_exclude_files.txt @@ -5,6 +5,7 @@ # in either its literal elements or its structure is not protected by copyright law; # therefore, such a file does not require a license header." .clang-format +.devcontainer/* .gitattributes .gitignore */.gitignore
