Details
-
Improvement
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
Description
The ModelAST files are incredibly useful for programmatically generating pipeline model definitions. Moving them into a separate plugin that had minimal dependencies would enable other plugins to implement functionality for converting between different project types and pipeline models without unduly expanding their dependency trees.
Attachments
Issue Links
- links to
Activity
Started work on this at https://github.com/jenkinsci/pipeline-model-definition-plugin/tree/jenkins-38865
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTElement.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTValue.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.groovy
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTElement.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTValue.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidator.java
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/817fb991530f5b520e35b0509652808d34c4d132
Log:
JENKINS-38865 Move the AST classes from Groovy to Java to reduce complexity of consumption
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTAgent.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTArgumentList.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBranch.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildCondition.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildParameter.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildParameters.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTEnvironment.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperties.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperty.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTKey.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodArg.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodCall.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTNamedArgumentList.groovy
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTAgent.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTArgumentList.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBranch.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildCondition.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildParameter.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildParameters.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTEnvironment.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperties.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperty.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTKey.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTKeyValueOrMethodCallPair.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodArg.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTMethodCall.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTNamedArgumentList.java
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/7c3eea5eaeebef4fb5957b0fed6aa7d58232d2fa
Log:
JENKINS-38865 Move the AST classes from Groovy to Java to reduce complexity of consumption (part 2)
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTBuildParameter.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTEnvironment.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperties.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTJobProperty.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTNamedArgumentList.java
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/88bf74287976e87a3a9dc019d320d16f48372323
Log:
JENKINS-38865 Move the AST classes from Groovy to Java to reduce complexity of consumption (part 2)
- Fix build
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTNotifications.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPositionalArgumentList.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPostBuild.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTScriptBlock.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTSingleArgument.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStage.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStages.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStep.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTools.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTreeStep.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTrigger.groovy
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTriggers.groovy
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTNotifications.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPositionalArgumentList.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPostBuild.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTScriptBlock.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTSingleArgument.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStage.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStages.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStep.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTools.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTreeStep.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTrigger.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTTriggers.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTValue.java
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/30004ae0b239bf4eb9afdd92b74a1757bcab40a4
Log:
JENKINS-38865 Move the AST classes from Groovy to Java to reduce complexity of consumption (part 3)
- Conversion complete... just have to fix the bugs introduced in tightening the return types
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTKeyValueOrMethodCallPair.groovy
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/281d0098c87ac4cb78e6bb244176e86cbcb3a2d0
Log:
JENKINS-38865 remove duplicate file left over from refactoring
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/pom.xml
pipeline-model-definition/pom.xml
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/738d39332d34645a463128fd7e8c7ea68e8f4340
Log:
JENKINS-38865 Stop the warning about the parent GAV mismatch
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTScriptBlock.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTSingleArgument.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTStep.java
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTValue.java
pipeline-model-definition/src/main/groovy/org/jenkinsci/plugins/pipeline/modeldefinition/validator/ModelValidatorImpl.groovy
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/dc354c72807779cab2ac420b385843b39192f8e8
Log:
JENKINS-38865 Null safety and fix Script Block toGroovy
Code changed in jenkins
User: Stephen Connolly
Path:
pom.xml
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/2541499c6261f363b8fca0b1b2b05c9cce058713
Log:
JENKINS-38865 Make the root pom not cause issues during release
Code changed in jenkins
User: Stephen Connolly
Path:
pipeline-model-api/src/main/java/org/jenkinsci/plugins/pipeline/modeldefinition/ast/ModelASTPipelineDef.java
http://jenkins-ci.org/commit/pipeline-model-definition-plugin/d07ecbf481a84d6bf0dac8ec764c54c2608d1dd4
Log:
JENKINS-38865 agent before stages
This seems reasonable to me, though I'd tend to want to keep it in the same repo and with the same versioning/release cycle, so that we don't need to do pull requests in one place before we can do them in another, etc...