Yeah you’re probably getting namespace collisions. This happened to me trying to make a logging function called ‘error’ as well.
On Sat, Feb 8, 2020 at 10:43 Reinhold Füreder <[email protected]> wrote: > Hi David, > > I think that could be related to > https://issues.jenkins-ci.org/browse/JENKINS-50736, because there is a > pipeline basic step called 'writeFile' (see > https://jenkins.io/doc/pipeline/steps/workflow-basic-steps/#writefile-write-file-to-workspace), > but maybe Jesse Glick or Andrew Bayer can shed some more light on this > issue... > > HTH Reinhold > > ------------------------------ > *Von:* [email protected] <[email protected]> > im Auftrag von David Karr <[email protected]> > *Gesendet:* Freitag, 7. Februar 2020 21:51 > *An:* Jenkins Users <[email protected]> > *Betreff:* Shared library function cannot call other shared library > function in separate file if called function uses "writeFile" > > The statement I make in the subject doesn't make sense, but I don't know > how else to describe it. > > I'm working on a set of builds using scripted pipelines. Our Jenkinsfiles > are very short, all of the build logic is in the shared library. In the > "main" shared library function, I'm trying to call another function defined > in another "vars" class. We have many of these already. In this called > function, I have a call to the "writeFile" pipeline step to create a > temporary file used by a shell script called immediately after that. This > is the only place anywhere in our builds that we call "writeFile". > > When I run the build, I get this very unhelpful message: > > Jenkins Job Failed due to Exception : > org.codehaus.groovy.control.ErrorCollector > > > There is literally no other information provided, except for the log lines > that come before it. I found that an echo statement that is called before > this suspect function is called is emitted in the log. An echo statement > as the first line of the "call()" method of the function being called is > NOT emitted in the log. Somehow the act of calling the function makes it > die, with no explanation. > > So, I tried a workaround. In the calling script file, I added a "def" at > the end of the file, to define an "inline function" with almost the same > name as the "vars" function name. I copied the entire body of the "call()" > method of the vars function into that inline function. I replaced the call > to the vars function with the call to the inline function. It worked on > the first try. > > Any ideas what might cause this? > > -- > 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/3119e9f3-e6a8-4fa6-861a-76c9358ab300%40googlegroups.com > <https://groups.google.com/d/msgid/jenkinsci-users/3119e9f3-e6a8-4fa6-861a-76c9358ab300%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > 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/AM0PR01MB6147F74252A8BD51D29E9A77F71F0%40AM0PR01MB6147.eurprd01.prod.exchangelabs.com > <https://groups.google.com/d/msgid/jenkinsci-users/AM0PR01MB6147F74252A8BD51D29E9A77F71F0%40AM0PR01MB6147.eurprd01.prod.exchangelabs.com?utm_medium=email&utm_source=footer> > . > -- 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/CADgiF9%2BCtDoeyZZbBJ9j4UNDmxJGfuqrzqgDPx6pFxX5fY4CQA%40mail.gmail.com.
