From 85838f49280b70ea556e42cd935a78cb628a0102 Mon Sep 17 00:00:00 2001 From: Devang Gaur Date: Mon, 31 Dec 2018 19:34:20 +0530 Subject: [PATCH] Added 'skip' options to goals. --- CHANGELOG.md | 1 + .../maven/plugin/mojo/build/ApplyMojo.java | 6 ++++++ .../maven/plugin/mojo/build/BuildMojo.java | 7 +++++++ .../maven/plugin/mojo/build/PushMojo.java | 5 ++++- .../maven/plugin/mojo/build/ResourceMojo.java | 7 +++++++ .../maven/plugin/mojo/develop/DeployMojo.java | 16 +++++++++++++++- 6 files changed, 40 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4147faa2da..c753eb362a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ After this we will switch probably to real [Semantic Versioning 2.0.0](http://se * Fix 1460: Upgraded kubernetes client to 4.1.1 * Fix 690: Removes deprecated _legacyPortMapping_ property. * Fix 1458: Support for from Image configuration in openshift docker build strategy +* Fix 732: Added 'skip' options to goals. ### 4.0.0-M2 (2018-12-14) * Fix 10: Make VolumeConfiguration more flexible diff --git a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ApplyMojo.java b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ApplyMojo.java index 8c12093a66..7403289e10 100644 --- a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ApplyMojo.java +++ b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ApplyMojo.java @@ -193,10 +193,16 @@ public class ApplyMojo extends AbstractFabric8Mojo { @Parameter(property = "fabric8.s2i.buildNameSuffix", defaultValue = "-s2i") protected String s2iBuildNameSuffix; + @Parameter(property = "docker.skip.apply", defaultValue = "false") + protected boolean skipApply; + private ClusterAccess clusterAccess; protected ApplyService applyService; public void executeInternal() throws MojoExecutionException { + if (skipApply) { + return; + } clusterAccess = new ClusterAccess(getClusterConfiguration()); diff --git a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/BuildMojo.java b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/BuildMojo.java index 06706eaff1..a556bfaad6 100644 --- a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/BuildMojo.java +++ b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/BuildMojo.java @@ -172,6 +172,9 @@ public class BuildMojo extends io.fabric8.maven.docker.BuildMojo { @Parameter(property = "fabric8.build.recreate", defaultValue = "none") private String buildRecreate; + @Parameter(property = "docker.skip.build", defaultValue = "false") + protected boolean skipBuild; + @Component private MavenProjectHelper projectHelper; @@ -215,6 +218,10 @@ protected boolean isDockerAccessRequired() { @Override protected void executeInternal(ServiceHub hub) throws MojoExecutionException { + if (skipBuild) { + return; + } + try { if (shouldSkipBecauseOfPomPackaging()) { getLog().info("Disabling docker build for pom packaging"); diff --git a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/PushMojo.java b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/PushMojo.java index 895b81b550..c1b263b43d 100644 --- a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/PushMojo.java +++ b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/PushMojo.java @@ -92,6 +92,9 @@ public class PushMojo extends io.fabric8.maven.docker.PushMojo { @Parameter(property = "fabric8.build.strategy" ) private OpenShiftBuildStrategy buildStrategy = OpenShiftBuildStrategy.s2i; + @Parameter(property = "docker.skip.push", defaultValue = "false") + protected boolean skipPush; + @Override protected String getLogPrefix() { return "F8> "; @@ -99,7 +102,7 @@ protected String getLogPrefix() { @Override public void execute() throws MojoExecutionException, MojoFailureException { - if (skip) { + if (skip || skipPush) { return; } super.execute(); diff --git a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ResourceMojo.java b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ResourceMojo.java index 2a4431e7ba..c4a245f8b7 100644 --- a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ResourceMojo.java +++ b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/build/ResourceMojo.java @@ -317,6 +317,9 @@ public class ResourceMojo extends AbstractFabric8Mojo { @Parameter(property = "kompose.dir", defaultValue = "${user.home}/.kompose/bin") private File komposeBinDir; + @Parameter(property = "docker.skip.resource", defaultValue = "false") + protected boolean skipResource; + // Access for creating OpenShift binary builds private ClusterAccess clusterAccess; @@ -427,6 +430,10 @@ private static File writeResource(File resourceFileBase, Object entity, Resource } public void executeInternal() throws MojoExecutionException, MojoFailureException { + if (skipResource) { + return; + } + realResourceDir = ResourceDirCreator.getFinalResourceDir(resourceDir, environment); realResourceDirOpenShiftOverride = ResourceDirCreator.getFinalResourceDir(resourceDirOpenShiftOverride, environment); diff --git a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/develop/DeployMojo.java b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/develop/DeployMojo.java index 2faede6631..bcd597ae61 100644 --- a/plugin/src/main/java/io/fabric8/maven/plugin/mojo/develop/DeployMojo.java +++ b/plugin/src/main/java/io/fabric8/maven/plugin/mojo/develop/DeployMojo.java @@ -16,10 +16,12 @@ package io.fabric8.maven.plugin.mojo.develop; import io.fabric8.maven.plugin.mojo.build.ApplyMojo; +import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Execute; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; +import org.apache.maven.plugins.annotations.Parameter; /** * This goal forks the install goal then applies the generated kubernetes resources to the current cluster. @@ -32,4 +34,16 @@ @Mojo(name = "deploy", requiresDependencyResolution = ResolutionScope.COMPILE, defaultPhase = LifecyclePhase.VALIDATE) @Execute(phase = LifecyclePhase.INSTALL) -public class DeployMojo extends ApplyMojo { } +public class DeployMojo extends ApplyMojo { + @Parameter(property = "docker.skip.deploy", defaultValue = "false") + protected boolean skipDeploy; + + @Override + public void executeInternal() throws MojoExecutionException { + if (skipDeploy) { + return; + } + + super.executeInternal(); + } +}