diff --git a/integrations/pom.xml b/integrations/pom.xml
index 09794514..0e3e933c 100644
--- a/integrations/pom.xml
+++ b/integrations/pom.xml
@@ -221,7 +221,7 @@
org.jenkins-ci.plugins
job-dsl
- 1.72
+ 1.73
true
diff --git a/support/pom.xml b/support/pom.xml
index 7c00fa4c..961dc426 100644
--- a/support/pom.xml
+++ b/support/pom.xml
@@ -38,19 +38,6 @@
true
-
- org.jenkins-ci.plugins
- job-dsl
- 1.66
- true
-
-
- org.codehaus.groovy
- groovy-all
-
-
-
-
org.jenkins-ci.plugins
role-strategy
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ConfigurableScriptSource.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ConfigurableScriptSource.java
deleted file mode 100644
index e1141c6b..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ConfigurableScriptSource.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import io.jenkins.plugins.casc.Configurable;
-import io.jenkins.plugins.casc.ConfiguratorException;
-import io.jenkins.plugins.casc.model.CNode;
-
-/**
- * @author Nicolas De Loof
- */
-public abstract class ConfigurableScriptSource extends ScriptSource implements Configurable {
-
- @Override
- public void configure(CNode node) throws ConfiguratorException {
- configure(node.asScalar().getValue());
- }
-
- protected abstract void configure(String value);
-
- @Override
- public void check(CNode node) throws ConfiguratorException {
- node.asScalar();
- }
-
- @Override
- public CNode describe() throws Exception {
- return null; // Not relevant here
- }
-
-}
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromFileScriptSource.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromFileScriptSource.java
deleted file mode 100644
index 6998aff1..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromFileScriptSource.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import hudson.Extension;
-import hudson.model.Descriptor;
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import org.apache.commons.io.FileUtils;
-import org.jenkinsci.Symbol;
-
-/**
- * @author Nicolas De Loof
- */
-public class FromFileScriptSource extends ConfigurableScriptSource {
-
- public String path;
-
- @Override
- public void configure(String path) {
- this.path = path;
- }
-
- @Override
- public String getScript() throws IOException {
- return FileUtils.readFileToString(new File(path), StandardCharsets.UTF_8);
- }
-
- @Extension
- @Symbol("file")
- public static class DescriptorImpl extends Descriptor {
-
- }
-}
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromUrlScriptSource.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromUrlScriptSource.java
deleted file mode 100644
index 452b9aee..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/FromUrlScriptSource.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import hudson.Extension;
-import hudson.model.Descriptor;
-import io.jenkins.plugins.casc.Configurable;
-import java.io.IOException;
-import java.net.URI;
-import org.apache.commons.io.IOUtils;
-import org.jenkinsci.Symbol;
-
-/**
- * @author Nicolas De Loof
- */
-public class FromUrlScriptSource extends ConfigurableScriptSource implements Configurable {
-
- public String url;
-
- @Override
- public void configure(String url) {
- this.url = url;
- }
-
- @Override
- public String getScript() throws IOException {
- return IOUtils.toString(URI.create(url));
- }
-
- @Extension
- @Symbol("url")
- public static class DescriptorImpl extends Descriptor {
-
- }
-}
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/InlineGroovyScriptSource.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/InlineGroovyScriptSource.java
deleted file mode 100644
index a5f4ac53..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/InlineGroovyScriptSource.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import hudson.Extension;
-import hudson.model.Descriptor;
-import io.jenkins.plugins.casc.Configurable;
-import java.io.IOException;
-import org.jenkinsci.Symbol;
-
-/**
- * @author Nicolas De Loof
- */
-public class InlineGroovyScriptSource extends ConfigurableScriptSource implements Configurable {
-
- public String script;
-
- @Override
- public void configure(String script) {
- this.script = script;
- }
-
- @Override
- public String getScript() throws IOException {
- return script;
- }
-
- @Extension
- @Symbol("script")
- public static class DescriptorImpl extends Descriptor {
-
- }
-}
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ScriptSource.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ScriptSource.java
deleted file mode 100644
index 2e1591ac..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/ScriptSource.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import hudson.ExtensionPoint;
-import hudson.model.AbstractDescribableImpl;
-import java.io.IOException;
-
-/**
- * @author Nicolas De Loof
- */
-public abstract class ScriptSource extends AbstractDescribableImpl implements ExtensionPoint {
-
- public abstract String getScript() throws IOException;
-}
diff --git a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/SeedJobConfigurator.java b/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/SeedJobConfigurator.java
deleted file mode 100644
index 387516fc..00000000
--- a/support/src/main/java/io/jenkins/plugins/casc/support/jobdsl/SeedJobConfigurator.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package io.jenkins.plugins.casc.support.jobdsl;
-
-import edu.umd.cs.findbugs.annotations.CheckForNull;
-import edu.umd.cs.findbugs.annotations.NonNull;
-import hudson.Extension;
-import io.jenkins.plugins.casc.Attribute;
-import io.jenkins.plugins.casc.ConfigurationContext;
-import io.jenkins.plugins.casc.Configurator;
-import io.jenkins.plugins.casc.ConfiguratorException;
-import io.jenkins.plugins.casc.RootElementConfigurator;
-import io.jenkins.plugins.casc.SecretSourceResolver;
-import io.jenkins.plugins.casc.impl.attributes.MultivaluedAttribute;
-import io.jenkins.plugins.casc.model.CNode;
-import io.jenkins.plugins.casc.model.Mapping;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import javaposse.jobdsl.dsl.GeneratedItems;
-import javaposse.jobdsl.plugin.JenkinsDslScriptLoader;
-import javaposse.jobdsl.plugin.JenkinsJobManagement;
-import javaposse.jobdsl.plugin.LookupStrategy;
-import org.kohsuke.accmod.Restricted;
-import org.kohsuke.accmod.restrictions.NoExternalUse;
-
-import static io.vavr.API.Try;
-import static io.vavr.API.unchecked;
-
-// TODO: Move outside the plugin?
-/**
- * @author Nicolas De Loof
- */
-@Extension(optional = true, ordinal = -100) // Ordinal -100 Ensure it is loaded after GlobalJobDslSecurityConfiguration
-@Restricted(NoExternalUse.class)
-public class SeedJobConfigurator implements RootElementConfigurator {
-
- @NonNull
- @Override
- public String getName() {
- return "jobs";
- }
-
- @Override
- @SuppressWarnings("unchecked")
- public Class getTarget() {
- return GeneratedItems[].class;
- }
-
- @NonNull
- @Override
- @SuppressWarnings("unchecked")
- public Set> describe() {
- return Collections.singleton(new MultivaluedAttribute("", ScriptSource.class));
- }
-
- @Override
- public GeneratedItems[] getTargetComponent(ConfigurationContext context) {
- return new GeneratedItems[0]; // Doesn't really make sense
- }
-
- @NonNull
- @Override
- @SuppressWarnings("unchecked")
- public GeneratedItems[] configure(CNode config, ConfigurationContext context) throws ConfiguratorException {
- JenkinsJobManagement management = new JenkinsJobManagement(System.out, System.getenv(), null, null, LookupStrategy.JENKINS_ROOT);
- Configurator configurator = context.lookupOrFail(ScriptSource.class);
- return config.asSequence().stream()
- .map(source -> getActualValue(source, context))
- .map(source -> getScriptFromSource(source, context, configurator))
- .map(script -> generateFromScript(script, management))
- .toArray(GeneratedItems[]::new);
- }
-
- @Override
- public GeneratedItems[] check(CNode config, ConfigurationContext context) throws ConfiguratorException {
- // Any way to dry-run a job-dsl script ?
- return new GeneratedItems[0];
- }
-
- @NonNull
- @Override
- public List> getConfigurators(ConfigurationContext context) {
- return Collections.singletonList(context.lookup(ScriptSource.class));
- }
-
- @CheckForNull
- @Override
- public CNode describe(GeneratedItems[] instance, ConfigurationContext context) throws Exception {
- return null;
- }
-
- private CNode getActualValue(CNode config, ConfigurationContext context) {
- return unchecked(() -> config.asMapping().entrySet().stream().findFirst()).apply()
- .map(entry -> {
- Mapping mapping = new Mapping();
- mapping.put(entry.getKey(), revealSourceOrGetValue(entry, context));
- return (CNode) mapping;
- }).orElse(config);
- }
-
- private String revealSourceOrGetValue(Map.Entry entry, ConfigurationContext context) {
- String value = unchecked(() -> entry.getValue().asScalar().getValue()).apply();
- return SecretSourceResolver.resolve(context, value);
- }
-
- private GeneratedItems generateFromScript(String script, JenkinsJobManagement management) {
- return unchecked(() ->
- Try(() -> new JenkinsDslScriptLoader(management).runScript(script))
- .getOrElseThrow(t -> new ConfiguratorException(this, "Failed to execute script with hash " + script.hashCode(), t))).apply();
- }
-
- private String getScriptFromSource(CNode source, ConfigurationContext context, Configurator configurator) {
- return unchecked(() ->
- Try(() -> configurator.configure(source, context))
- .getOrElseThrow(t -> new ConfiguratorException(this, "Failed to retrieve job-dsl script", t))
- .getScript()).apply();
- }
-}