groovy Language capabilities


Example

The Jenkins Pipeline DSL is used as an example for such a language:

node {
  git 'https://github.com/joe_user/simple-maven-project-with-tests.git'
  def mvnHome = tool 'M3'
  sh "${mvnHome}/bin/mvn -B -Dmaven.test.failure.ignore verify"
  archiveArtifacts artifacts: '**/target/*.jar', fingerprint: true
  junit '**/target/surefire-reports/TEST-*.xml'
 }

The purpose of this DSL is the define and execute Jenkins build jobs (or better pipelines) in a more natural language.

Writing a domain specific language in Groovy benefits by Groovy's core features like: