gradle-execfork-plugin
gradle-execfork-plugin copied to clipboard
standardOutput : type change from 0.1.15 to 0.2.0
Just noticed this - when looking at the latest verison 0.2.0 ...
In 0.1.15 the following works:
// Initially we launch as an app -- though there may be a better way of running this in the existing jvm
task startServer(dependsOn: ['cleanData',':open-metadata-distribution:open-metadata-assemblies:unzip'], type: com.github.psxpaul.task.ExecFork) {
// Start some external service
executable = System.properties.'java.home' + '/bin/java'
workingDir = "${buildDir}"
args = [ "-Dserver.port=10453",
"-Dloader.path=${distdir}/server/lib",
"-Dspringdoc.api-docs.enabled=false",
"-Djavax.net.ssl.trustStore=${distdir}/truststore.p12",
"-Dserver.ssl.trust-store=${distdir}/truststore.p12",
"-jar",
"${distdir}/server/server-chassis-spring-${project.version}.jar" ]
// Setting the output directories to be the same for ALL FVTs acts as a synchronization mechanism
// - alternatively we need to ensure the server port is unique per test
standardOutput = "${buildDir}/chassis.log"
errorOutput = "${buildDir}/chassis-error.log"
//stopAfter = verify
waitForPort = 10453
timeout = 180
//waitForOutput = 'has started'
}
With 0.2.0 this then fails with:
* Where:
[55](https://github.com/odpi/egeria/runs/5885045264?check_suite_focus=true#step:5:55)
Build file '/home/runner/work/egeria/egeria/open-metadata-test/open-metadata-fvt/access-services-fvt/analytics-modeling-fvt/build.gradle' line: 71
[56](https://github.com/odpi/egeria/runs/5885045264?check_suite_focus=true#step:5:56)
[57](https://github.com/odpi/egeria/runs/5885045264?check_suite_focus=true#step:5:57)
* What went wrong:
[58](https://github.com/odpi/egeria/runs/5885045264?check_suite_focus=true#step:5:58)
A problem occurred evaluating project ':open-metadata-test:open-metadata-fvt:access-services-fvt:analytics-modeling-fvt'.
[59](https://github.com/odpi/egeria/runs/5885045264?check_suite_focus=true#step:5:59)
> Cannot set the value of task ':open-metadata-test:open-metadata-fvt:access-services-fvt:analytics-modeling-fvt:startServer' property 'standardOutput' of type org.gradle.api.file.RegularFile using an instance of type org.codehaus.groovy.runtime.GStringImpl.
It seems as if this can be addressed by changing the code to:
// Initially we launch as an app -- though there may be a better way of running this in the existing jvm
task startServer(dependsOn: ['cleanData',':open-metadata-distribution:open-metadata-assemblies:unzip'], type: com.github.psxpaul.task.ExecFork) {
// Start some external service
executable = System.properties.'java.home' + '/bin/java'
workingDir = "${buildDir}"
args = [ "-Dserver.port=10453",
"-Dloader.path=${distdir}/server/lib",
"-Dspringdoc.api-docs.enabled=false",
"-Djavax.net.ssl.trustStore=${distdir}/truststore.p12",
"-Dserver.ssl.trust-store=${distdir}/truststore.p12",
"-jar",
"${distdir}/server/server-chassis-spring-${project.version}.jar" ]
// Setting the output directories to be the same for ALL FVTs acts as a synchronization mechanism
// - alternatively we need to ensure the server port is unique per test
standardOutput = layout.projectDirectory.file("${buildDir}/chassis.log")
errorOutput = layout.projectDirectory.file("${buildDir}/chassis-error.log")
//stopAfter = verify
waitForPort = 10453
timeout = 180
//waitForOutput = 'has started'
}
As it looks as if we need to construct a different type object.
The front page docs still refer to the original approach, so if this is intentional perhaps the docs could be updated?