This is an automated email from the ASF dual-hosted git repository.
agrove pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-ballista.git
The following commit(s) were added to refs/heads/main by this push:
new 8e59ff7a feat: Added Dev Environment (#959)
8e59ff7a is described below
commit 8e59ff7ad0771f68d9defb9ee83c517db39c84fb
Author: Matthew Aylward <[email protected]>
AuthorDate: Thu Feb 1 16:20:53 2024 +0100
feat: Added Dev Environment (#959)
* feat: Added Dev Environment
* fix: Prettier on development.md
---
.devcontainer/devcontainer.json | 38 ++++++++++++++++++++++
docs/source/community/development.md | 61 ++++++++++++++++++++++++++++++++++++
docs/source/index.rst | 2 ++
3 files changed, 101 insertions(+)
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 00000000..753774ee
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,38 @@
+// For format details, see https://aka.ms/devcontainer.json. For config
options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/rust
+{
+ "name": "arrow-ballista",
+ // Or use a Dockerfile or Docker Compose file. More info:
https://containers.dev/guide/dockerfile
+ "image": "mcr.microsoft.com/devcontainers/rust:latest",
+ "features": {
+ "ghcr.io/devcontainers/features/rust:latest": {
+ "version": "latest",
+ "profile": "complete"
+ },
+ "ghcr.io/devcontainers-contrib/features/protoc:1": {},
+ "ghcr.io/devcontainers/features/node:1": {},
+ "ghcr.io/devcontainers/features/docker-in-docker:2": {},
+ }
+ // Use 'mounts' to make the cargo cache persistent in a Docker Volume.
+ ,
+ "mounts": [
+ {
+ "source": "devcontainer-cargo-cache-${devcontainerId}",
+ "target": "/usr/local/cargo",
+ "type": "volume"
+ }
+ ],
+ // Features to add to the dev container. More info:
https://containers.dev/features.
+ // "features": {},
+ // Use 'forwardPorts' to make a list of ports inside the container
available locally.
+ "forwardPorts": [
+ 50050,
+ 3000
+ ],
+ // Use 'postCreateCommand' to run commands after the container is
created.
+ "postCreateCommand": "rustc --version",
+ // Configure tool-specific properties.
+ // "customizations": {},
+ // Uncomment to connect as root instead. More info:
https://aka.ms/dev-containers-non-root.
+ // "remoteUser": "root"
+}
\ No newline at end of file
diff --git a/docs/source/community/development.md
b/docs/source/community/development.md
new file mode 100644
index 00000000..21527f3a
--- /dev/null
+++ b/docs/source/community/development.md
@@ -0,0 +1,61 @@
+<!---
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+# Ballista Development
+
+We welcome participation from everyone and encourage you to join us, ask
+questions, and get involved.
+
+All participation in the Apache Arrow DataFusion project is governed by the
+Apache Software Foundation's [code of
+conduct](https://www.apache.org/foundation/policies/conduct.html).
+
+## Development Environment
+
+The easiest way to get started if you are using VSCode or IntelliJ IDEA is to
open the provided [Dev Container](https://containers.dev/overview) which will
install all the required dependencies including Rust, Docker, Node.js and Yarn.
A Dev Container is a development environment that runs in a Docker container.
It is configured with all the required dependencies to build and test the
project. It also includes VS Code and the Rust and Node.js extensions. Other
supporting tools that use D [...]
+
+To use the Dev Container, open the project in VS Code and then click the
"Reopen in Container" button in the bottom right corner of the IDE.
+
+If you are not using the Dev Container or VScode, you will need to install
these dependencies yourself.
+
+- [Rust](https://www.rust-lang.org/tools/install)
+- [Node.js](https://nodejs.org/en/download/) is required to build the project.
+- [Yarn](https://classic.yarnpkg.com/en/docs/install) is required to build the
UI.
+- [Docker](https://docs.docker.com/get-docker/) is required to run the
integration tests.
+
+## Build the project
+
+From the root of the project, build release binaries.
+
+```shell
+cargo build --release
+```
+
+## Testing the project
+
+```shell
+cargo test
+```
+
+## Running the examples
+
+```shell
+cd examples
+cargo run --example standalone_sql --features=ballista/standalone
+```
diff --git a/docs/source/index.rst b/docs/source/index.rst
index b6263077..994a9812 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -70,5 +70,7 @@ Table of content
:caption: Community
community/communication
+ community/development
+
Issue tracker <https://github.com/apache/arrow-ballista/issues>
Code of conduct
<https://github.com/apache/arrow-ballista/blob/main/CODE_OF_CONDUCT.md>