THRIFT-5545: use gradle convention in organizing java project
Client: java
Patch: Jiayu Liu

This closes #2546
diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index f197520..15737f5 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -30,11 +30,6 @@
 sourceSets {
     crossTest {
         java {
-            srcDir 'test'
-            include '**/test/TestClient.java'
-            include '**/test/TestServer.java'
-            include '**/test/TestNonblockingServer.java'
-            include '**/test/TestTServletServer.java'
         }
     }
 }
@@ -90,9 +85,9 @@
 // The Java executable to use with the runner scripts
 def javaExe = file("${System.getProperty('java.home')}/bin/java${execExt}").canonicalPath
 // The common Uber jar path
-def jarPath = shadowJar.archivePath.canonicalPath
-def trustStore = file('test/resources/.truststore').canonicalPath
-def keyStore = file('test/resources/.keystore').canonicalPath
+def jarPath = shadowJar.archiveFile.get().asFile.canonicalPath
+def trustStore = file("${projectDir}/src/crossTest/resources/.truststore").canonicalPath
+def keyStore = file("${projectDir}/src/crossTest/resources/.keystore").canonicalPath
 
 task generateRunnerScriptForClient(group: 'Build') {
     description = 'Generate a runner script for cross-check tests with TestClient'
diff --git a/lib/java/gradle/generateTestThrift.gradle b/lib/java/gradle/generateTestThrift.gradle
index c48845e..b8a963d 100644
--- a/lib/java/gradle/generateTestThrift.gradle
+++ b/lib/java/gradle/generateTestThrift.gradle
@@ -39,7 +39,7 @@
 ext.thriftCompile = { Task task, String thriftFileName, String generator = 'java', File outputDir = genSrc ->
     def thriftFile = file("$thriftRoot/test/$thriftFileName")
     if (!thriftFile.exists()) {
-        thriftFile = file("$projectDir/test/resources/$thriftFileName")
+        thriftFile = file("$projectDir/src/test/resources/$thriftFileName")
         assert thriftFile.exists(), "can't find $thriftFile"
     }
 
diff --git a/lib/java/gradle/sourceConfiguration.gradle b/lib/java/gradle/sourceConfiguration.gradle
index b45fdc8..827e926 100644
--- a/lib/java/gradle/sourceConfiguration.gradle
+++ b/lib/java/gradle/sourceConfiguration.gradle
@@ -18,31 +18,6 @@
  */
 
 // Following Gradle best practices to keep build logic organized
-
-// ----------------------------------------------------------------------------
-// source sets for main and test sources
-sourceSets {
-    main {
-        java {
-            srcDir 'src'
-        }
-    }
-    test {
-        java {
-            srcDir 'test'
-            // see functionalTests.gradle for these files
-            exclude '**/test/TestClient.java'
-            exclude '**/test/TestServer.java'
-            exclude '**/test/TestNonblockingServer.java'
-            exclude '**/test/TestTServletServer.java'
-        }
-        resources {
-            srcDir 'test/resources'
-            include 'log4j.properties'
-        }
-    }
-}
-
 // ----------------------------------------------------------------------------
 // Compiler configuration details
 
diff --git a/lib/java/gradle/unitTests.gradle b/lib/java/gradle/unitTests.gradle
index 2bf1c03..10a5539 100644
--- a/lib/java/gradle/unitTests.gradle
+++ b/lib/java/gradle/unitTests.gradle
@@ -74,9 +74,9 @@
     systemProperties = [
         'build.test': "${compileTestJava.destinationDir}",
         'test.port': "${testPort}",
-        'javax.net.ssl.trustStore': "${projectDir}/test/resources/.truststore",
+        'javax.net.ssl.trustStore': "${projectDir}/src/crossTest/resources/.truststore",
         'javax.net.ssl.trustStorePassword': 'thrift',
-        'javax.net.ssl.keyStore': "${projectDir}/test/resources/.keystore",
+        'javax.net.ssl.keyStore': "${projectDir}/src/crossTest/resources/.keystore",
         'javax.net.ssl.keyStorePassword': 'thrift'
     ]
 }