blob: fcd46d524fc8b2e432fb3236f066c9757dfc629a [file] [view]
# Building this Release from Source
All platforms require a Java installation, with JDK 17 or more recent version.
Set the JAVA\_HOME environment variable. For example:
| Platform | Command |
| :---: | --- |
| Unix | ``export JAVA_HOME=/usr/java/jdk-17.0.16`` |
| OSX | ``export JAVA_HOME=`/usr/libexec/java_home -v 17.0.16` `` |
| Windows | ``set JAVA_HOME="C:\Program Files\Java\jdk-17.0.16"`` |
Download the project source from the Releases page at
[Apache Geode](http://geode.apache.org/releases/), and unpack the source code.
Within the directory containing the unpacked source code, run the gradle build:
```console
$ ./gradlew build
```
Once the build completes, the project files will be installed at
`geode-assembly/build/install/apache-geode`. The distribution archives will be created
in `geode-assembly/build/distributions/`.
Verify the installation by invoking the `gfsh` shell command to print version information:
```console
$ ./geode-assembly/build/install/apache-geode/bin/gfsh version
v1.1.0
```
Note: on Windows invoke the `gfsh.bat` script to print the version string.
## Setting up IntelliJ
The following steps have been tested with **IntelliJ IDEA 2020.3.3**
1. Run `./gradlew --parallel generate` from Geode repository root to create compiler generated
source.
1. Import the project into IntelliJ IDEA.
1. Select **File -> Open...** from the menu.
1. Select the `build.gradle` file in the Geode repository root and select **Open**.
1. In the **Open Project?** popup, select **Open Project**.
1. In the **Trust and Open Gradle Project?** popup, select **Trust Project**.
1. Wait for IntelliJ to import the project and complete its background tasks.
1. Configure IntelliJ IDEA to build and run the project and tests.
* Set the Java SDK for the project.
1. Select **File -> Project Structure...** from the menu.
1. Open the **Project Settings -> Project** section.
1. Set **Project SDK** to your most recent Java 17 JDK.
* To automatically re-generate sources when needed (recommended).
1. Select **View -> Tool Windows -> Gradle** from the menu.
1. In the Gradle dockable, open **geode -> Tasks -> build**.
1. Right click the **generate** task and select **Execute Before Sync**.
1. Right click the **generate** task and select **Execute Before Build**.
* To reload the project when build scripts change (recommended).
1. Select **IntelliJ IDEA -> Preferences...** from the menu.
1. Open the **Build, Execution, Deployment -> Build Tools** section.
1. Set **Reload project after changes in the build scripts:** to **Any changes**.
* To build and run with Gradle (recommended).
1. Select **IntelliJ IDEA -> Preferences...** from the menu.
1. Open the **Build, Execution, Deployment -> Build Tools -> Gradle** section.
1. Set **Build and run using:** to **Gradle**.
1. Set **Run tests using:** to **Gradle**.
1. Set the Code Style Scheme to GeodeStyle.
1. Select **IntelliJ IDEA -> Preferences...**
1. Open the **Editor -> Code Style** section.
1. If *GeodeStyle* style does not appear in the **Scheme** drop-down box
1. Select the gear icon next to the drop-down.
1. Select **Import Scheme -> IntelliJ IDEA code style XML**.
1. Select `etc/intellij-java-modified-google-style.xml` from the Geode repository root.
1. Enter **To:** *GeodeStyle*, check **Current scheme**, and press **OK**.
1. Select *GeodeStyle* in **Scheme** drop-down box.
1. Make Apache the default Copyright.
1. Select **IntelliJ IDEA -> Preferences...** from the menu.
1. Open the **Editor -> Copyright** section.
1. If *Apache* does not appear in the **Default project copyright** drop-down box:
1. Open the **Copyright Profiles** subsection.
1. Select the "import" icon (the small arrow pointing down and to the left) from the
Copyright Profiles section's toolbar.
1. Select `etc/intellij-apache-copyright-notice.xml` from the Geode repository root.
1. Return to the **Copyright** section.
1. Select *Apache* in the **Default project copyright** drop-down box.
1. Open the **Formatting** subsection.
1. Uncheck **Add blank line after** and select **OK**.
1. Rebuild the Project.
1. Select **Build -> Rebuild Project** from the menu. The full project should compile without
errors.
Some optional sanity tests to make sure things are working properly:
* Try looking up classes using **Navigate -> Class...**
* Open and run a distributed test such as BasicDistributedTest in geode-core.
* Create a new Java class and ensure the Apache license is automatically added to the top of the
file with no blank line before the package line.