gradle-execfork-plugin icon indicating copy to clipboard operation
gradle-execfork-plugin copied to clipboard

standardOutput : type change from 0.1.15 to 0.2.0

Open planetf1 opened this issue 3 years ago • 0 comments

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?

planetf1 avatar Apr 16 '22 17:04 planetf1