I am also facing the same issue, using `findFiles` does not solve the
problem as it only searches for the file in the current directory and does
not search for it recursively inside other directories. I have posted the
same question on stackoverflow
https://stackoverflow.com/questions/41720831/unable-to-recognize-workspace-as-directory-using-jenkinsfile-pipline-plugin,
any help is greatly appreciated.
On Wednesday, December 21, 2016 at 1:43:40 AM UTC+5:30, Harsha Adiga wrote:
>
> I need to check for the existence of a certain .exe file in my workspace
> as part of my pipeline build job. I tried to use the below Groovy script
> from my Jenkinsfile to do the same. But I think the File class by default
> tries to look for the workspace directory on jenkins master and fails.
>
> @com.cloudbees.groovy.cps.NonCPS
> def checkJacoco(isJacocoEnabled) {
>
> new File(pwd()).eachFileRecurse(FILES) { it ->
> if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec')
> isJacocoEnabled = true
> }
> }
>
> How to access the file system on slave using Groovy from inside the
> Jenkinsfile?
>
> I also tried the below code. But I am getting No such property: build for
> class: groovy.lang.Binding error. I also tried to use the manager object
> instead. But get the same error.
>
> @com.cloudbees.groovy.cps.NonCPS
> def checkJacoco(isJacocoEnabled) {
>
> channel = build.workspace.channel
> rootDirRemote = new FilePath(channel, pwd())
> println "rootDirRemote::$rootDirRemote"
> rootDirRemote.eachFileRecurse(FILES) { it ->
> if (it.name == 'jacoco.exec' || it.name == 'Jacoco.exec') {
> println "Jacoco Exists:: ${it.path}"
> isJacocoEnabled = true
> }
> }
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/97bd3cbc-7683-4384-bdeb-9efc5870bb05%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.