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.

Reply via email to