smiklosovic commented on code in PR #1996: URL: https://github.com/apache/cassandra/pull/1996#discussion_r1053245597
########## README.asc: ########## @@ -69,14 +71,247 @@ cqlsh:Schema1> SELECT * FROM users; cqlsh:Schema1> ---- + If your session looks similar to what's above, congrats, your single node cluster is operational! For more on what commands are supported by CQL, see http://cassandra.apache.org/doc/latest/cql/[the CQL reference]. A reasonable way to think of it is as, "SQL minus joins and subqueries, plus collections." -Wondering where to go from here? +Quick Start Development Guide +----------------------------- + +This short guide will walk you through basic steps of setting up a local development environment and testing local changes in a Docker container. For more detailed guidelines on Cassandra Development, please refer to the Apache Cassandra website's https://cassandra.apache.org/_/development/index.html[Contributing to Cassandra] section. + +Installing Pre-requisites +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following dependencies are required to build Cassandra locally: + +. Java 11 +. Apache Ant >= 1.10 + +These packages are available via most modern package systems (ie. deb/rpm/brew). + +Use the instruction below to install Java and Ant in Debian/Ubuntu Linux or macOS. + +Debian-based Linux +^^^^^^^^^^^^^^^^^^ + +On debian-based sytems (ie. Ubuntu), use the following command to install Java and Ant: + + $ sudo apt-get install openjdk-11-jdk-headless ant + +macOS +^^^^^ + +On macOS systems with https://brew.sh/[Homebrew] package manager, use the following command to install Java and Ant: + + $ brew install openjdk@11 ant + +After the previous step, it's necessary to symlink the brew JDK with the command below to allow other programs such as the Java IDE to easily find this JDK: + + $ sudo ln -sfn $(brew --prefix)/opt/openjdk@11/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-11.jdk + +If you have trouble building Cassandra in the next step, it may be needed to export the JAVA_HOME variable to point to the newly installed JDK: + + $ export JAVA_HOME=`/usr/libexec/java_home -v 11`; + +Building Cassandra +^^^^^^^^^^^^^^^^^^ + +Before building Cassandra, please verify that the correct versions of Java (11) and Ant (>1.10) are available in your environment: +---- +$ java -version +openjdk version "11.0.16" 2022-07-19 +OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu120.04) +OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu120.04, mixed mode, sharing) + +$ ant -version +Apache Ant(TM) version 1.10.7 compiled on October 24 2019 +---- + +Use the following command to build Cassandra and verify the project is correctly configured: + +----- +$ cd /path/to/cassandra +/path/to/cassandra$ export CASSANDRA_USE_JDK11=true # Required for JDK11 +/path/to/cassandra$ ant build + +[...] +BUILD SUCCESSFUL +Total time: 35 seconds +----- + +If you see anything other than `BUILD SUCCESSFUL`, you might need additional steps to fix it. Please reach out on https://cassandra.apache.org/_/community.html#discussions[Community Forums] such as mailing list or slack with the description of any issues you might encounter. + +Setting up IDE +~~~~~~~~~~~~~~ + +Use the instructions below to configure Cassandra on IntelliJ IDEA. Setup instructions for other IDEs (ie. NetBeans/Eclipse) can be found in the Apache Cassandra website's https://cassandra.apache.org/_/development/ide.html[Building and IDE Integration] section. + +1. If Intellij IDEA Community Edition is not installed in your system, please install it according to the platform-specific installation instructions from the https://www.jetbrains.com/help/idea/installation-guide.html[official documentation]. + +2. Create the IntelliJ IDEA project configuration files with: +----- +/path/to/cassandra$ ant generate-idea-files + +generate-idea-files: + [mkdir] Created dir: /path/to/cassandra/.idea + [mkdir] Created dir: /path/to/cassandra/.idea/libraries + [copy] Copying 9 files to /path/to/cassandra/.idea + [copy] Copying 1 file to /path/to/cassandra + +_maybe_update_idea_to_java11: + +BUILD SUCCESSFUL +Total time: 5 seconds +----- + +[start=2] +2. On IntelliJ IDEA startup screen, open the the directory of your Cassandra project (/path/to/cassandra). It may take a little bit until the IDE loads all dependencies and indexes the project. Please refer to the troubleshooting items below if you face any issues when loading Cassandra on IntelliJ IDEA: + +* ⚠ Make sure to choose the option `Open existing project` and not `Create New Project`. +* ⚠ Reject or skip any prompts to load the project as a `Maven Project`, otherwise the project will not load correctly. If you accept this prompt by mistake, please remove the `.idea` directory and `cassandra.iml` files and run `ant generate-idea-files` again before re-opening the project on Intellij IDEA. +* ⛔ If a `JDK11 is missing` error message pops up, click `configure` > `Add new JDK` and point to the installed JDK, usually located in `/usr/lib/jvm/<jdk>` in Debian-based systems or `/Library/Java/JavaVirtualMachines/<jdk>` on macOS. + +[start=3] +3. In order to check that the project is loaded orrectly, open the test class https://github.com/apache/cassandra/blob/trunk/test/distributed/org/apache/cassandra/distributed/test/RepairTest.java[test/distributed/org/apache/cassandra/distributed/test/RepairTest.java] and attempt to run this test suite by right-clicking in the test class name (`RepairTest`) and selecting the option `Run RepairTest` or using the shortcut `Ctrl+Shift+F10` after clicking on the class name. Review Comment: missing "c" in "orrectly" -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

