Add async nonblocking ssl support in java client
diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index b3f5d8b..63460bb 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -64,7 +64,7 @@
shadowJar {
description = 'Assemble a test JAR file for cross-check execution'
// make sure the runners are created when this runs
- dependsOn 'generateRunnerScriptForClient', 'generateRunnerScriptForServer', 'generateRunnerScriptForNonblockingServer', 'generateRunnerScriptForTServletServer'
+ dependsOn 'generateRunnerScriptForClient', 'generateRunnerScriptForNonblockingClient', 'generateRunnerScriptForServer', 'generateRunnerScriptForNonblockingServer', 'generateRunnerScriptForTServletServer'
archiveBaseName.set('functionalTest')
destinationDirectory = file("$buildDir/functionalTestJar")
// We do not need a version number for this internal jar
@@ -119,6 +119,26 @@
}
}
+task generateRunnerScriptForNonblockingClient(group: 'Build') {
+ description = 'Generate a runner script for cross-check tests with TestNonblockingClient'
+
+ def clientFile = file("$buildDir/runnonblockingclient${scriptExt}")
+
+ def runClientText = """\
+${scriptHead}
+
+"${javaExe}" -cp "$jarPath" "-Djavax.net.ssl.keyStore=$clientKeyStore" -Djavax.net.ssl.keyStorePassword=thrift "-Djavax.net.ssl.trustStore=$trustStore" -Djavax.net.ssl.trustStorePassword=thrift org.apache.thrift.test.TestNonblockingClient $args
+"""
+ inputs.property 'runClientText', runClientText
+ outputs.file clientFile
+
+ doLast {
+ clientFile.parentFile.mkdirs()
+ clientFile.text = runClientText
+ clientFile.setExecutable(true, false)
+ }
+}
+
task generateRunnerScriptForServer(group: 'Build') {
description = 'Generate a runner script for cross-check tests with TestServer'