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 jenkinsci-users+unsubscr...@googlegroups.com.
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.

Reply via email to