diff --git a/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy b/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy index 54d0a56..376eed0 100644 --- a/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy +++ b/buildSrc/src/main/groovy/build/GemFireServerPlugin.groovy @@ -1,5 +1,5 @@ /* - * Copyright 2018 the original author or authors. + * Copyright 2019 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package build import org.gradle.api.DefaultTask @@ -31,14 +30,24 @@ class GemFireServerPlugin implements Plugin { project.tasks.integrationTest.doLast { println 'Stopping Apache Geode Server...' project.tasks.gemfireServer.process?.destroy() -// project.tasks.gemfireServer.process?.destroyForcibly() } - project.tasks.prepareAppServerForIntegrationTests { - dependsOn project.tasks.gemfireServer - doFirst { + if (project.tasks.findByName("bootRun") != null) { + project.tasks.integrationTest.dependsOn project.tasks.gemfireServer + project.tasks.integrationTest.doFirst { + systemProperties['spring.data.gemfire.cache.server.port'] = project.tasks.gemfireServer.port + systemProperties['spring.data.gemfire.pool.servers'] = "localhost[${project.tasks.gemfireServer.port}]" + } + } + + project.tasks.findByName("prepareAppServerForIntegrationTests")?.configure { task -> + task.dependsOn project.tasks.gemfireServer + task.doFirst { project.gretty { - jvmArgs = [ "-Dspring.session.data.geode.cache.server.port=${project.tasks.gemfireServer.port}" ] + jvmArgs = [ + "-Dspring.data.gemfire.cache.server.port=${project.tasks.gemfireServer.port}", + "-Dspring.data.gemfire.pool.servers=localhost[${project.tasks.gemfireServer.port}]" + ] } } } @@ -52,17 +61,19 @@ class GemFireServerPlugin implements Plugin { static class GemFireServerTask extends DefaultTask { - def mainClassName = "sample.ServerConfig" def port def process boolean debug + String mainClassName = "sample.server.GemFireServer" + @TaskAction def greet() { port = availablePort() println "Starting Apache Geode Server on port [$port]..." + //println "Running with class [$mainClassName]..." def out = debug ? System.err : new StringBuilder() def err = debug ? System.err : new StringBuilder() @@ -79,14 +90,18 @@ class GemFireServerPlugin implements Plugin { String[] commandLine = [ javaCommand, '-server', '-ea', '-classpath', classpath, //"-Dgemfire.log-file=gemfire-server.log", - "-Dgemfire.log-level=" + gemfireLogLevel, - "-Dspring.session.data.geode.cache.server.port=${port}", + "-Dgemfire.log-level=${gemfireLogLevel}", + "-Dspring.data.gemfire.cache.server.port=${port}", mainClassName ] //println commandLine - project.tasks.appRun.ext.process = process = commandLine.execute() + process = commandLine.execute() + + if (project.tasks.findByName("appRun") != null) { + project.tasks.appRun.ext.process = process + } process.consumeProcessOutput(out, err) }