RE: workflow issue with dir

2014-08-18 Thread James Nord (jnord)
Yes - that fixed it.
Thanks Daniel.

 -Original Message-
 From: jenkinsci-dev@googlegroups.com [mailto:jenkinsci-
 d...@googlegroups.com] On Behalf Of Daniel Beck
 Sent: 15 August 2014 18:33
 To: jenkinsci-dev@googlegroups.com
 Subject: Re: workflow issue with dir
 
 From the error message, it seems dir requires a block containing the
 commands to run in the specified directory. Try something like
 
 dir ('foobar') {
sh 'pwd'
 }
 
 On 15.08.2014, at 19:02, James Nord (jnord) jn...@cisco.com wrote:
 
  Hi all,
 
  There seems to be an issue with the workflow Change Directory step (or
 me...)
 
  With the following workflow
  node() {
sh 'rm -fr -- *'
sh 'mkdir foobar'
echo 'about to change dir'
dir 'foobar'
echo 'changed dir'
  }
 
  I get the following output
 
  Running: Allocate node : Start
  Running on master in /opt/jenkins/data/jobs/changedir/workspace
  Running: Allocate node : Body : Start
  Running: Shell Script
  [workspace] $ nohup sh -c
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/script.sh' 
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-log.txt'
 21; echo $? 
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-result.txt'
  + rm -fr -- '*'
  Running: Shell Script
  [workspace] $ nohup sh -c
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/script.sh' 
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-log.txt'
 21; echo $? 
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-result.txt'
  + mkdir foobar
  Running: Print Message
  about to change dir
  Running: Change Directory
  Running in /opt/jenkins/data/jobs/changedir/workspace/foobar
  Running: Allocate node : Body : End
  Running: Allocate node : End
  Running: End of Workflow
  java.lang.IllegalStateException: There's no body to invoke
at
 org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsSte
 pContext.java:226)
at
 org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsSte
 pContext.java:217)
at
 org.jenkinsci.plugins.workflow.steps.PushdStep$Execution.start(PushdStep.
 java:77)
at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:131)
at
 org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:7
 9)
at
 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClass
 Site.java:45)
at
 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.j
 ava:42)
at
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.ja
 va:108)
at
 com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvo
 ker.java:15)
at Script1.run(Script1.groovy:5)
at Unknown.Unknown(Unknown)
at ___cps.transform___(Native Method)
at
 com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGrou
 p.java:66)
at
 com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGrou
 p.java:62)
at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source)
at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
 sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
 90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1079)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
at
 org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClass
 Site.java:44)
at
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.ja
 va:112)
at
 com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(Category
 Support.groovy:15)
at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source)
at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
 sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
 90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at
 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(Cl
 osureMetaClass.java:272)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
at
 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoM
 etaClassSite.java:66)
at
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCal
 lSite.java:141)
at
 com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(Category
 Support.groovy)
at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source)
at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
 sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
 org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
 90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233

workflow issue with dir

2014-08-15 Thread James Nord (jnord)
Hi all,

There seems to be an issue with the workflow Change Directory step (or me...)

With the following workflow
node() {
  sh 'rm -fr -- *'
  sh 'mkdir foobar'
  echo 'about to change dir'
  dir 'foobar'
  echo 'changed dir'
}

I get the following output

Running: Allocate node : Start
Running on master in /opt/jenkins/data/jobs/changedir/workspace
Running: Allocate node : Body : Start
Running: Shell Script
[workspace] $ nohup sh -c 
'/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/script.sh'  
'/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-log.txt' 21; 
echo $?  
'/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-result.txt'
+ rm -fr -- '*'
Running: Shell Script
[workspace] $ nohup sh -c 
'/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/script.sh'  
'/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-log.txt' 21; 
echo $?  
'/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-result.txt'
+ mkdir foobar
Running: Print Message
about to change dir
Running: Change Directory
Running in /opt/jenkins/data/jobs/changedir/workspace/foobar
Running: Allocate node : Body : End
Running: Allocate node : End
Running: End of Workflow
java.lang.IllegalStateException: There's no body to invoke
  at 
org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsStepContext.java:226)
  at 
org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsStepContext.java:217)
  at 
org.jenkinsci.plugins.workflow.steps.PushdStep$Execution.start(PushdStep.java:77)
  at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:131)
  at 
org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:79)
  at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
  at 
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
  at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
  at 
com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:15)
  at Script1.run(Script1.groovy:5)
  at Unknown.Unknown(Unknown)
  at ___cps.transform___(Native Method)
  at 
com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGroup.java:66)
  at 
com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGroup.java:62)
  at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source)
  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1079)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
  at 
org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
  at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
  at 
com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(CategorySupport.groovy:15)
  at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source)
  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
  at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
  at 
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
  at 
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
  at 
com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(CategorySupport.groovy)
  at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source)
  at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
  at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
  at 
org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
  at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
  at groovy.lang.Closure.call(Closure.java:415)
  at groovy.lang.Closure.call(Closure.java:409)
  at 
org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.use(GroovyCategorySupport.java:106)
  at 
org.codehaus.groovy.runtime.GroovyCategorySupport$ThreadCategoryInfo.access$400(GroovyCategorySupport.java:64)
  at 
org.codehaus.groovy.runtime.GroovyCategorySupport.use(GroovyCategorySupport.java:246)
  at org.codehaus.groovy.runtime.GroovyCategorySupport$use.call(Unknown Source)
  at 

Re: workflow issue with dir

2014-08-15 Thread Daniel Beck
From the error message, it seems dir requires a block containing the 
commands to run in the specified directory. Try something like

dir ('foobar') {
   sh 'pwd'
}

On 15.08.2014, at 19:02, James Nord (jnord) jn...@cisco.com wrote:

 Hi all,
  
 There seems to be an issue with the workflow Change Directory step (or 
 me...)
  
 With the following workflow
 node() {
   sh 'rm -fr -- *'
   sh 'mkdir foobar'
   echo 'about to change dir'
   dir 'foobar'
   echo 'changed dir'
 }
  
 I get the following output
  
 Running: Allocate node : Start
 Running on master in /opt/jenkins/data/jobs/changedir/workspace
 Running: Allocate node : Body : Start
 Running: Shell Script
 [workspace] $ nohup sh -c 
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/script.sh'  
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-log.txt' 21; 
 echo $?  
 '/opt/jenkins/data/jobs/changedir/workspace/.8e7bf62b/jenkins-result.txt'
 + rm -fr -- '*'
 Running: Shell Script
 [workspace] $ nohup sh -c 
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/script.sh'  
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-log.txt' 21; 
 echo $?  
 '/opt/jenkins/data/jobs/changedir/workspace/.22ea1fbb/jenkins-result.txt'
 + mkdir foobar
 Running: Print Message
 about to change dir
 Running: Change Directory
 Running in /opt/jenkins/data/jobs/changedir/workspace/foobar
 Running: Allocate node : Body : End
 Running: Allocate node : End
 Running: End of Workflow
 java.lang.IllegalStateException: There's no body to invoke
   at 
 org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsStepContext.java:226)
   at 
 org.jenkinsci.plugins.workflow.cps.CpsStepContext.invokeBodyLater(CpsStepContext.java:217)
   at 
 org.jenkinsci.plugins.workflow.steps.PushdStep$Execution.start(PushdStep.java:77)
   at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:131)
   at 
 org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:79)
   at 
 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:45)
   at 
 org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)
   at 
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
   at 
 com.cloudbees.groovy.cps.sandbox.DefaultInvoker.methodCall(DefaultInvoker.java:15)
   at Script1.run(Script1.groovy:5)
   at Unknown.Unknown(Unknown)
   at ___cps.transform___(Native Method)
   at 
 com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGroup.java:66)
   at 
 com.cloudbees.groovy.cps.impl.ContinuationGroup$1.call(ContinuationGroup.java:62)
   at sun.reflect.GeneratedMethodAccessor366.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
   at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1079)
   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
   at 
 org.codehaus.groovy.runtime.callsite.PojoMetaClassSite.call(PojoMetaClassSite.java:44)
   at 
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:112)
   at 
 com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(CategorySupport.groovy:15)
   at sun.reflect.GeneratedMethodAccessor365.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
   at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
   at 
 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
   at 
 org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
   at 
 org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:141)
   at 
 com.cloudbees.groovy.cps.CategorySupport$_use_closure1.doCall(CategorySupport.groovy)
   at sun.reflect.GeneratedMethodAccessor364.invoke(Unknown Source)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
   at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
   at 
 org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:272)
   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:903)
   at groovy.lang.Closure.call(Closure.java:415)
   at groovy.lang.Closure.call(Closure.java:409)
   at