Merge pull request #117 from JinwooHwang/feature/GEODE-10530

[GEODE-10530] Migrate to Gradle 7.3.3, Java 17, and Geode 2.0.0
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
index ad5ad3f..b824411 100644
--- a/.github/workflows/gradle.yml
+++ b/.github/workflows/gradle.yml
@@ -40,8 +40,8 @@
       uses: actions/setup-java@v3
       with:
         distribution: ${{ matrix.distribution }}
-        java-version: '8'
+        java-version: '17'
     - name: Run All
       uses: gradle/gradle-build-action@v2
       with:
-        arguments: runAll --console=plain --no-daemon
\ No newline at end of file
+        arguments: runAll -PgeodeRepositoryUrl=https://repository.apache.org/content/repositories/orgapachegeode-1146 --console=plain --no-daemon
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 551fdf9..bc6eb46 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,9 +16,9 @@
  */
 
 plugins {
-    id "org.nosphere.apache.rat" version "0.6.0"
-    id "com.diffplug.gradle.spotless" version "3.0.0"
-    id "de.undercouch.download" version "3.1.2"
+    id "org.nosphere.apache.rat" version "0.8.0"
+    id "com.diffplug.spotless" version "6.11.0"
+    id "de.undercouch.download" version "5.0.1"
 }
 
 allprojects {
@@ -66,6 +66,11 @@
 subprojects {
     apply plugin: 'java-library'
 
+    java {
+        sourceCompatibility = JavaVersion.VERSION_17
+        targetCompatibility = JavaVersion.VERSION_17
+    }
+
     dependencies {
         // All callouts to org.apache.geode here, need to be specified in settings.gradle
         // for composite build to work
@@ -88,7 +93,7 @@
     }
 
     jar {
-        archiveName "${baseName}.${extension}"
+        archiveFileName = "${archiveBaseName.get()}.${archiveExtension.get()}"
     }
 
     task cleanServer {
diff --git a/gradle.properties b/gradle.properties
index cfedcec..97d00df 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -18,7 +18,7 @@
 # Develop to use latest 1.15.1 artifacts until CI is rebuilt
 # GEODE-10436
 version = 2.1.0-build.0
-geodeVersion = 2.1.+
+geodeVersion = 2.0.0
 
 # release properties, set these on the command line to validate against
 # a release candidate
diff --git a/gradle/release.gradle b/gradle/release.gradle
index ef1f464..c88a1f7 100644
--- a/gradle/release.gradle
+++ b/gradle/release.gradle
@@ -63,7 +63,7 @@
 
 distributions {
   src {
-    baseName = 'apache-geode-examples'
+    distributionBaseName = 'apache-geode-examples'
     version = version + '-src'
     contents {
       from (rootDir) {
diff --git a/gradle/spotless.gradle b/gradle/spotless.gradle
index 77d29d2..78da11e 100644
--- a/gradle/spotless.gradle
+++ b/gradle/spotless.gradle
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 subprojects {
-  apply plugin: "com.diffplug.gradle.spotless"
+  apply plugin: "com.diffplug.spotless"
   spotless {
     lineEndings = 'unix';
     java {
       target project.fileTree(project.projectDir) { include '**/*.java' }
-      eclipseFormatFile "${rootProject.projectDir}/etc/eclipse-java-google-style.xml"
+      eclipse().configFile "${rootProject.projectDir}/etc/eclipse-java-google-style.xml"
     }
   }
 }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index f7186c7..f5799db 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
diff --git a/lucene/build.gradle b/lucene/build.gradle
index d373d3a..19fe461 100644
--- a/lucene/build.gradle
+++ b/lucene/build.gradle
@@ -15,5 +15,5 @@
  * limitations under the License.
  */
 dependencies {
-    compile "org.apache.geode:geode-lucene:$geodeVersion"
+    implementation "org.apache.geode:geode-lucene:$geodeVersion"
 }
\ No newline at end of file
diff --git a/luceneSpatial/build.gradle b/luceneSpatial/build.gradle
index 133e947..66a646d 100644
--- a/luceneSpatial/build.gradle
+++ b/luceneSpatial/build.gradle
@@ -15,13 +15,14 @@
  * limitations under the License.
  */
 dependencies {
-    compile "org.apache.geode:geode-lucene:$geodeVersion"
-    compile "org.apache.lucene:lucene-spatial-extras:6.4.1"
+    implementation "org.apache.geode:geode-lucene:$geodeVersion"
+    implementation "org.apache.lucene:lucene-spatial-extras:9.12.3"
+    implementation "org.locationtech.spatial4j:spatial4j:0.8"
 }
 
 task copyDependencies(type:Copy) {
     into "$buildDir/libs"
-    from configurations['runtime']
+    from configurations.runtimeClasspath
 }
 
 build.dependsOn(copyDependencies)
diff --git a/luceneSpatial/src/test/java/org/apache/geode/examples/luceneSpatial/SpatialHelperTest.java b/luceneSpatial/src/test/java/org/apache/geode/examples/luceneSpatial/SpatialHelperTest.java
index 71180f7..4bbb3d3 100644
--- a/luceneSpatial/src/test/java/org/apache/geode/examples/luceneSpatial/SpatialHelperTest.java
+++ b/luceneSpatial/src/test/java/org/apache/geode/examples/luceneSpatial/SpatialHelperTest.java
@@ -27,7 +27,7 @@
 import org.apache.lucene.search.Query;
 import org.apache.lucene.search.SearcherManager;
 import org.apache.lucene.search.TopDocs;
-import org.apache.lucene.store.RAMDirectory;
+import org.apache.lucene.store.ByteBuffersDirectory;
 import org.junit.Test;
 
 public class SpatialHelperTest {
@@ -36,7 +36,7 @@
   public void queryFindsADocumentThatWasAdded() throws IOException {
 
     // Create an in memory lucene index to add a document to
-    RAMDirectory directory = new RAMDirectory();
+    ByteBuffersDirectory directory = new ByteBuffersDirectory();
     IndexWriter writer = new IndexWriter(directory, new IndexWriterConfig());
 
     // Add a document to the lucene index
@@ -55,6 +55,6 @@
     SearcherManager searcherManager = new SearcherManager(writer, null);
     IndexSearcher searcher = searcherManager.acquire();
     TopDocs results = searcher.search(query, 100);
-    assertEquals(1, results.totalHits);
+    assertEquals(1, results.totalHits.value);
   }
 }
diff --git a/micrometerMetrics/build.gradle b/micrometerMetrics/build.gradle
index 45ebcd4..8395a74 100644
--- a/micrometerMetrics/build.gradle
+++ b/micrometerMetrics/build.gradle
@@ -21,7 +21,7 @@
 
 dependencies {
     dependenciesToIncludeInEndpointJar "io.micrometer:micrometer-registry-prometheus:$micrometerVersion"
-    configurations.compile.extendsFrom(configurations.dependenciesToIncludeInEndpointJar)
+    implementation configurations.dependenciesToIncludeInEndpointJar
 }
 
 jar {
diff --git a/sessionState/webapp/build.gradle b/sessionState/webapp/build.gradle
index c36bd07..1903a40 100644
--- a/sessionState/webapp/build.gradle
+++ b/sessionState/webapp/build.gradle
@@ -19,7 +19,10 @@
 
 version '1.0-SNAPSHOT'
 
-sourceCompatibility = 1.8
+java {
+    sourceCompatibility = JavaVersion.VERSION_17
+    targetCompatibility = JavaVersion.VERSION_17
+}
 
 repositories {
     mavenCentral()
@@ -27,8 +30,7 @@
 
 dependencies {
     // https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api
-    providedCompile group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
+    compileOnly group: 'javax.servlet', name: 'javax.servlet-api', version: '3.1.0'
 
-    testCompile group: 'junit', name: 'junit', version: '4.11'
-    testCompile group: 'junit', name: 'junit', version: '4.12'
+    testImplementation group: 'junit', name: 'junit', version: '4.12'
 }
diff --git a/sessionState/webapp/gradle/wrapper/gradle-wrapper.properties b/sessionState/webapp/gradle/wrapper/gradle-wrapper.properties
index e36600c..f5799db 100644
--- a/sessionState/webapp/gradle/wrapper/gradle-wrapper.properties
+++ b/sessionState/webapp/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-5.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
diff --git a/wan/scripts/start.gfsh b/wan/scripts/start.gfsh
index 27ffa36..8dac171 100644
--- a/wan/scripts/start.gfsh
+++ b/wan/scripts/start.gfsh
@@ -22,7 +22,7 @@
 # Start the New York (ny) cluster
 run --file=./scripts/start-ny.gfsh
 disconnect
-sh sleep 5
+sleep --time=5
 
 # Create the region on each cluster and bind the gateway senders/receivers to region
 run --file=./scripts/start-wan.gfsh