On Wed, Nov 20, 2019 at 10:03 PM medianopepeter <[email protected]> wrote: > may I ask you as co-author
Kohsuke is the main author of `groovy-cps` library and its usage in Pipeline, and also wrote an initial draft of the DGM translator; Andrew Bayer & I got the translator working well enough to include in the product. > what drove you to choose this style of programming? The CPS transformation is what allows a Pipeline script to run across a (master) JVM restart, with all context like local variables, loops, and closures intact, unlike its conceptual predecessor the Build Flow plugin. Few programming languages support serializable continuations, and Groovy (the traditional scripting language for Jenkins) certainly did not, so `groovy-cps` effectively implements a custom interpreter for the language with serializable state (via a compiler extension). Some reading: https://github.com/jenkinsci/workflow-cps-plugin/#technical-design https://github.com/cloudbees/groovy-cps/blob/master/doc/cps-basics.md#basics-of-continuation-passing-style -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" 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-dev/CANfRfr3kVjTUSs9-6pfQzSGz-wOz1%3Dkk%3Dw656Hm%3D0uC6iJYHRQ%40mail.gmail.com.
