justinmclean commented on code in PR #6659: URL: https://github.com/apache/gravitino/pull/6659#discussion_r1991512472
########## docs/how-to-build.md: ########## @@ -4,244 +4,232 @@ slug: /how-to-build license: "This software is licensed under the Apache License version 2." --- -- [Prerequisites](#prerequisites) -- [Quick start](#quick-start) -- [How to Build Apache Gravitino on Windows (Using WSL)](#how-to-build-apache-gravitino-on-windows-using-wsl) - ## Prerequisites -+ Linux or macOS operating system -+ Git -+ A Java Development Kit, version 8 to 17, installed in your environment to launch Gradle -+ Python 3.8, 3.9, 3.10, or 3.11 to build the Gravitino Python client -+ Optionally, Docker to run integration tests - -:::info Please read the following notes before trying to build Gravitino. - -+ Gravitino requires a minimum of JDK8 and supports up to JDK17 to run Gradle, so you need to install a JDK, version 8 to 17, to launch the build environment. -+ Gravitino itself supports using JDK 8, 11, or 17 to build. The Gravitino Trino connector uses JDK17 to build (to avoid vendor-related issues on some platforms, Gravitino uses the specified Amazon Corretto OpenJDK 17 to build the Trino connector on macOS). - You don't have to preinstall the specified JDK environment, as Gradle detects the JDK version needed and downloads it automatically. -+ Gravitino uses the Gradle Java Toolchain to detect and manage JDK versions, and it checks the installed JDK by running the `./gradlew javaToolchains` command. See [Gradle Java Toolchain](https://docs.gradle.org/current/userguide/toolchains.html#sec:java_toolchain). -+ Gravitino excludes all Docker-related tests by default. To run Docker-related tests, make sure you have installed Docker in your environment and either (1) set `skipDockerTests=false` in the `gradle.properties` file (or use `-PskipDockerTests=false` in the command) or (2) `export SKIP_DOCKER_TESTS=false` in the shell. Otherwise, all tests requiring Docker will be skipped. -+ macOS uses `docker-connector` to make the Gravitino Trino connector work with Docker for macOS. See [docker-connector](https://github.com/wenjunxiao/mac-docker-connector), `$GRAVITINO_HOME/dev/docker/tools/mac-docker-connector.sh`, and `$GRAVITINO_HOME/dev/docker/tools/README.md` for more details. -+ You can use OrbStack as a replacement for Docker for macOS. See [OrbStack](https://orbstack.dev/). With OrbStack, you can run Gravitino integration tests without needing to install `docker-connector`. -+ Depending on how you deploy Gravitino, other software used in conjunction with Gravitino may contain known security vulnerabilities. -::: - -## Quick start +- Linux, macOS or Windows operating system +- Git +- JDK 8 (default), 11 or 17 for running Gradle, the build environment for Gravitino. +- Python 3.8 (default), 3.9, 3.10, or 3.11, for building the Gravitino Python client +- Docker (optional), for running the integration tests -1. Clone the Gravitino project. - - If you want to contribute to this open-source project, please fork the project on GitHub first. After forking, clone the forked project to your local environment, make your changes, and submit a pull request (PR). +:::note +Depending on how you deploy Gravitino, there may be contain known security vulnerabilities +in other software used in conjunction with Gravitino. +::: - ```shell - git clone g...@github.com:apache/gravitino.git - ``` +### Install WSL on Windows -2. Build the Gravitino project. Running this for the first time can take 15 minutes or more. +If you are building Gravitino on a Linux or macOS machine, you can proceed to the [next section](#install-jdk). +To build Apache Gravitino on Windows, you need to install the Windows Subsystem for Linux (WSL) +from Microsoft which provides you a Linux-like environment for development. Review Comment: The short answer is that English is complicated, and it depends on the verb. Here's the long answer ChatGTP gave: The phrase "provides you with" is correct because of how the verb "provide" functions when used with an indirect object like "you." Explanation: "Provide [someone] with [something]" → This structure is standard in English. Example: The course provides students with valuable skills. Here, "students" receive "valuable skills" through the verb "provides." Why not "provides you a"? Some verbs, like give or offer, allow both "give you a" and "give you with a" (incorrect). However, "provide" does not follow this pattern—it requires "with" before the object being given. How "provide" works without "with" "Provide" can be used without "with", but the sentence structure changes: ✅ The system provides a Linux-like environment for development. ✅ The system provides you with a Linux-like environment for development. ❌ The system provides you a Linux-like environment for development. (incorrect) Thus, your original sentence should be corrected to "provides you with a" to follow standard English grammar rules. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@gravitino.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org