groovy
Langues spécifiques au domaine
Recherche…
Capacités linguistiques
Le Pipeline DSL Jenkins est utilisé comme exemple pour un tel langage:
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'
}
Le but de ce DSL est de définir et d'exécuter des tâches de génération Jenkins (ou de meilleurs pipelines) dans un langage plus naturel.
L'écriture d'un langage spécifique à un domaine dans Groovy bénéficie des fonctionnalités clés de Groovy telles que:
- Caractère facultatif (par exemple, omettre les parenthèses)
- Surcharge de l'opérateur
- Méta-programmation (par exemple, résolution des propriétés ou des méthodes manquantes)
- Fermetures et stratégies de délégation
- Personnalisation du compilateur
- Prise en charge des scripts et capacités d'intégration
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow