Skip to content

Commit c6b8df0

Browse files
authored
[JENKINS-58732] Complete cleanup of pipeline-model-definition dep (#230)
1 parent 80f587b commit c6b8df0

File tree

10 files changed

+76
-159
lines changed

10 files changed

+76
-159
lines changed

pom.xml

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<parent>
55
<groupId>org.jenkins-ci.plugins</groupId>
66
<artifactId>plugin</artifactId>
7-
<version>4.6</version>
7+
<version>4.12</version>
88
<relativePath />
99
</parent>
1010
<artifactId>docker-workflow</artifactId>
@@ -31,9 +31,9 @@
3131
<properties>
3232
<revision>1.26</revision>
3333
<changelist>-SNAPSHOT</changelist>
34-
<jenkins.version>2.190.1</jenkins.version>
34+
<jenkins.version>2.190.3</jenkins.version>
3535
<java.level>8</java.level>
36-
<pipeline-model-definition-plugin.version>1.5.1</pipeline-model-definition-plugin.version>
36+
<pipeline-model-definition-plugin.version>1.8.1</pipeline-model-definition-plugin.version>
3737
</properties>
3838
<repositories>
3939
<repository>
@@ -52,10 +52,41 @@
5252
<dependency>
5353
<groupId>io.jenkins.tools.bom</groupId>
5454
<artifactId>bom-2.190.x</artifactId>
55-
<version>11</version>
55+
<version>14</version>
5656
<scope>import</scope>
5757
<type>pom</type>
5858
</dependency>
59+
<dependency> <!-- TODO until we are on 2.222.x and can use bom 22+ -->
60+
<groupId>org.jenkinsci.plugins</groupId>
61+
<artifactId>pipeline-model-api</artifactId>
62+
<version>${pipeline-model-definition-plugin.version}</version>
63+
</dependency>
64+
<dependency>
65+
<groupId>org.jenkinsci.plugins</groupId>
66+
<artifactId>pipeline-model-definition</artifactId>
67+
<version>${pipeline-model-definition-plugin.version}</version>
68+
</dependency>
69+
<dependency>
70+
<groupId>org.jenkinsci.plugins</groupId>
71+
<artifactId>pipeline-model-definition</artifactId>
72+
<classifier>tests</classifier>
73+
<version>${pipeline-model-definition-plugin.version}</version>
74+
</dependency>
75+
<dependency>
76+
<groupId>org.jenkinsci.plugins</groupId>
77+
<artifactId>pipeline-model-extensions</artifactId>
78+
<version>${pipeline-model-definition-plugin.version}</version>
79+
</dependency>
80+
<dependency>
81+
<groupId>org.jenkinsci.plugins</groupId>
82+
<artifactId>pipeline-stage-tags-metadata</artifactId>
83+
<version>${pipeline-model-definition-plugin.version}</version>
84+
</dependency>
85+
<dependency> <!-- TODO bom problem -->
86+
<groupId>org.jenkins-ci.plugins</groupId>
87+
<artifactId>jackson2-api</artifactId>
88+
<scope>test</scope>
89+
</dependency>
5990
</dependencies>
6091
</dependencyManagement>
6192
<dependencies>
@@ -80,11 +111,6 @@
80111
<groupId>org.jenkins-ci.plugins.workflow</groupId>
81112
<artifactId>workflow-step-api</artifactId>
82113
</dependency>
83-
<dependency>
84-
<groupId>org.jenkinsci.plugins</groupId>
85-
<artifactId>pipeline-model-extensions</artifactId>
86-
<version>${pipeline-model-definition-plugin.version}</version>
87-
</dependency>
88114
<dependency>
89115
<groupId>org.jenkins-ci.plugins</groupId>
90116
<artifactId>cloudbees-folder</artifactId>
@@ -126,8 +152,6 @@
126152
<dependency>
127153
<groupId>org.jenkinsci.plugins</groupId>
128154
<artifactId>pipeline-model-definition</artifactId>
129-
<version>${pipeline-model-definition-plugin.version}</version>
130-
<scope>test</scope>
131155
</dependency>
132156
<dependency>
133157
<groupId>org.jenkins-ci.plugins</groupId>
@@ -149,7 +173,6 @@
149173
<dependency>
150174
<groupId>org.jenkinsci.plugins</groupId>
151175
<artifactId>pipeline-model-definition</artifactId>
152-
<version>${pipeline-model-definition-plugin.version}</version>
153176
<classifier>tests</classifier>
154177
<scope>test</scope>
155178
</dependency>

src/main/java/org/jenkinsci/plugins/docker/workflow/declarative/DeclarativeDockerUtils.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,18 @@
2626

2727
import hudson.model.Run;
2828
import org.apache.commons.lang.StringUtils;
29-
import org.jenkinsci.plugins.docker.workflow.declarative.DockerPropertiesProvider;
29+
import org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.Label;
30+
import org.jenkinsci.plugins.pipeline.modeldefinition.withscript.WithScriptScript;
3031
import org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.Whitelisted;
3132
import org.jenkinsci.plugins.workflow.cps.CpsFlowExecution;
33+
import org.jenkinsci.plugins.workflow.cps.CpsScript;
3234
import org.jenkinsci.plugins.workflow.cps.CpsThread;
3335
import org.jenkinsci.plugins.workflow.flow.FlowExecutionOwner;
3436

3537
import javax.annotation.Nullable;
3638
import java.io.IOException;
3739
import java.io.Serializable;
40+
import java.util.Collections;
3841

3942
/**
4043
* @see org.jenkinsci.plugins.docker.workflow.declarative.DockerLabelProvider
@@ -82,6 +85,16 @@ public static String getLabel(@Nullable String override) {
8285
return null;
8386
}
8487

88+
@Whitelisted
89+
public static WithScriptScript<?> getLabelScript(AbstractDockerAgent<?> describable, CpsScript script) throws Exception {
90+
String targetLabel = getLabel(describable.getLabel());
91+
Label l = (Label) Label.DescriptorImpl.instanceForName("label", Collections.singletonMap("label", targetLabel));
92+
l.copyFlags(describable);
93+
l.setCustomWorkspace(describable.getCustomWorkspace());
94+
return l.getScript(script);
95+
96+
}
97+
8598
@Whitelisted
8699
public static String getRegistryUrl() {
87100
return getRegistryUrl(null);

src/main/java/org/jenkinsci/plugins/docker/workflow/declarative/ExtensionFilterImpl.java

Lines changed: 0 additions & 52 deletions
This file was deleted.

src/main/resources/org/jenkinsci/plugins/docker/workflow/declarative/AbstractDockerPipelineScript.groovy

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
package org.jenkinsci.plugins.docker.workflow.declarative
2727

2828
import hudson.FilePath
29-
import jenkins.model.Jenkins
3029
import org.jenkinsci.plugins.pipeline.modeldefinition.agent.DeclarativeAgentScript
3130
import org.jenkinsci.plugins.workflow.cps.CpsScript
3231

@@ -43,25 +42,16 @@ abstract class AbstractDockerPipelineScript<A extends AbstractDockerAgent<A>> ex
4342
configureRegistry(body).call()
4443
}
4544
} else if (describable.containerPerStageRoot) {
46-
return getLabelScript().run {
45+
return DeclarativeDockerUtils.getLabelScript(describable, script).run {
4746
body.call()
4847
}
4948
} else {
50-
return getLabelScript().run {
49+
return DeclarativeDockerUtils.getLabelScript(describable, script).run {
5150
configureRegistry(body).call()
5251
}
5352
}
5453
}
5554

56-
protected DeclarativeAgentScript getLabelScript() {
57-
String targetLabel = DeclarativeDockerUtils.getLabel(describable.label)
58-
// TODO revert reflection in daad17b90ed0 when we can depend directly on pipeline-model-definition
59-
def l = Jenkins.get().getDescriptorByName('org.jenkinsci.plugins.pipeline.modeldefinition.agent.impl.Label').instanceForName("label", [label: targetLabel])
60-
l.copyFlags(describable)
61-
l.customWorkspace = describable.customWorkspace
62-
return (DeclarativeAgentScript) l.getScript(script)
63-
}
64-
6555
protected Closure configureRegistry(Closure body) {
6656
return {
6757
DeclarativeDockerUtils.DockerRegistry registry = DeclarativeDockerUtils.DockerRegistry.build(describable.registryUrl, describable.registryCredentialsId)

src/main/resources/org/jenkinsci/plugins/docker/workflow/declarative/DockerPipelineFromDockerfileScript.groovy

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,13 @@
2525

2626
package org.jenkinsci.plugins.docker.workflow.declarative
2727

28-
import jenkins.model.Jenkins
2928
import org.jenkinsci.plugins.pipeline.modeldefinition.SyntheticStageNames
29+
import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
3030
import org.jenkinsci.plugins.workflow.cps.CpsScript
3131
import org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
3232

3333
class DockerPipelineFromDockerfileScript extends AbstractDockerPipelineScript<DockerPipelineFromDockerfile> {
3434

35-
// TODO revert reflection in daad17b90ed0 when we can depend directly on pipeline-model-definition
36-
static Class Utils = Jenkins.get().pluginManager.getPlugin('pipeline-model-definition').classLoader.loadClass('org.jenkinsci.plugins.pipeline.modeldefinition.Utils')
37-
3835
DockerPipelineFromDockerfileScript(CpsScript s, DockerPipelineFromDockerfile a) {
3936
super(s, a)
4037
}

src/main/resources/org/jenkinsci/plugins/docker/workflow/declarative/DockerPipelineScript.groovy

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,12 @@
2525

2626
package org.jenkinsci.plugins.docker.workflow.declarative
2727

28-
import jenkins.model.Jenkins
2928
import org.jenkinsci.plugins.pipeline.modeldefinition.SyntheticStageNames
29+
import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
3030
import org.jenkinsci.plugins.workflow.cps.CpsScript
3131

3232
class DockerPipelineScript extends AbstractDockerPipelineScript<DockerPipeline> {
3333

34-
// TODO revert reflection in daad17b90ed0 when we can depend directly on pipeline-model-definition
35-
static Class Utils = Jenkins.get().pluginManager.getPlugin('pipeline-model-definition').classLoader.loadClass('org.jenkinsci.plugins.pipeline.modeldefinition.Utils')
36-
3734
DockerPipelineScript(CpsScript s, DockerPipeline a) {
3835
super(s, a)
3936
}

0 commit comments

Comments
 (0)