From f468cc8b6b96a35201e1a64a537ce2bfab776401 Mon Sep 17 00:00:00 2001 From: peteyoungs <102791049+peteyoungs@users.noreply.github.com> Date: Thu, 22 Feb 2024 16:05:02 +0100 Subject: [PATCH] feat: add skip-refresh flag to dependency-build/update goals (#354) Co-authored-by: Peter YOUNGS --- README.md | 2 ++ .../kokuwa/maven/helm/DependencyBuildMojo.java | 18 +++++++++++++++--- .../maven/helm/DependencyUpdateMojo.java | 18 +++++++++++++++--- .../maven/helm/DependencyBuildMojoTest.java | 7 +++++++ .../maven/helm/DependencyUpdateMojoTest.java | 7 +++++++ 5 files changed, 46 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 96936431..938c5c61 100644 --- a/README.md +++ b/README.md @@ -294,7 +294,9 @@ Parameter | Type | User Property | Required | Description `` | boolean | helm.template.skip | false | skip template goal. Default value is true due to the dry-run goal `` | boolean | helm.dry-run.skip | false | skip dry-run goal `` | boolean | helm.dependency-build.skip | false | skip dependency-build goal +`` | boolean | helm.dependency-build.skip-repo-refresh | false | skip local repository refresh in dependency-build goal `` | boolean | helm.dependency-update.skip | false | skip dependency-update goal +`` | boolean | helm.dependency-update.skip-repo-refresh | false | skip local repository refresh in dependency-update goal `` | boolean | helm.package.skip | false | skip package goal `` | boolean | helm.upload.skip | false | skip upload goal `` | boolean | helm.upload.skip.catalog | true | Skips creation of a catalog file with a list of helm chart upload details diff --git a/src/main/java/io/kokuwa/maven/helm/DependencyBuildMojo.java b/src/main/java/io/kokuwa/maven/helm/DependencyBuildMojo.java index 9beaa585..0df1915e 100644 --- a/src/main/java/io/kokuwa/maven/helm/DependencyBuildMojo.java +++ b/src/main/java/io/kokuwa/maven/helm/DependencyBuildMojo.java @@ -7,6 +7,7 @@ import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; +import io.kokuwa.maven.helm.pojo.HelmExecutable; import lombok.Setter; /** @@ -28,6 +29,14 @@ public class DependencyBuildMojo extends AbstractDependencyMojo { @Parameter(property = "helm.dependency-build.skip", defaultValue = "false") private boolean skipDependencyBuild; + /** + * Set this to true to skip refreshing the local repository cache when invoking dependency-build goal. + * + * @since 6.14.0 + */ + @Parameter(property = "helm.dependency-build.skip-repo-refresh", defaultValue = "false") + private boolean skipDependencyBuildRepoRefresh; + @Override public void execute() throws MojoExecutionException { @@ -41,9 +50,12 @@ public void execute() throws MojoExecutionException { doOverwriteLocalDependencies(chartDirectory); getLog().info("Build chart dependencies for " + chartDirectory + " ..."); - helm() - .arguments("dependency", "build", chartDirectory) - .execute("Failed to resolve dependencies"); + HelmExecutable helm = helm() + .arguments("dependency", "build", chartDirectory); + if (skipDependencyBuildRepoRefresh) { + helm.flag("skip-refresh"); + } + helm.execute("Failed to resolve dependencies"); } } } diff --git a/src/main/java/io/kokuwa/maven/helm/DependencyUpdateMojo.java b/src/main/java/io/kokuwa/maven/helm/DependencyUpdateMojo.java index 597781e1..36e0e296 100644 --- a/src/main/java/io/kokuwa/maven/helm/DependencyUpdateMojo.java +++ b/src/main/java/io/kokuwa/maven/helm/DependencyUpdateMojo.java @@ -7,6 +7,7 @@ import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; +import io.kokuwa.maven.helm.pojo.HelmExecutable; import lombok.Setter; /** @@ -27,6 +28,14 @@ public class DependencyUpdateMojo extends AbstractDependencyMojo { @Parameter(property = "helm.dependency-update.skip", defaultValue = "false") private boolean skipDependencyUpdate; + /** + * Set this to true to skip refreshing the local repository cache when invoking dependency-update goal. + * + * @since 6.14.0 + */ + @Parameter(property = "helm.dependency-update.skip-repo-refresh", defaultValue = "false") + private boolean skipDependencyUpdateRepoRefresh; + @Override public void execute() throws MojoExecutionException { @@ -40,9 +49,12 @@ public void execute() throws MojoExecutionException { doOverwriteLocalDependencies(chartDirectory); getLog().info("Updating chart dependencies for " + chartDirectory + " ..."); - helm() - .arguments("dependency", "update", chartDirectory) - .execute("Failed to resolve dependencies"); + HelmExecutable helm = helm() + .arguments("dependency", "update", chartDirectory); + if (skipDependencyUpdateRepoRefresh) { + helm.flag("skip-refresh"); + } + helm.execute("Failed to resolve dependencies"); } } } diff --git a/src/test/java/io/kokuwa/maven/helm/DependencyBuildMojoTest.java b/src/test/java/io/kokuwa/maven/helm/DependencyBuildMojoTest.java index c63ed7db..422e5100 100644 --- a/src/test/java/io/kokuwa/maven/helm/DependencyBuildMojoTest.java +++ b/src/test/java/io/kokuwa/maven/helm/DependencyBuildMojoTest.java @@ -58,4 +58,11 @@ void overwriteLocalDependencies(DependencyBuildMojo mojo) { "dependency build src/test/resources/dependencies/a1", "dependency build src/test/resources/dependencies"); } + + @DisplayName("with flag skip repo refresh") + @Test + void skipRepoRefresh(DependencyBuildMojo mojo) { + assertHelm(mojo.setSkipDependencyBuildRepoRefresh(true), + "dependency build src/test/resources/simple --skip-refresh"); + } } diff --git a/src/test/java/io/kokuwa/maven/helm/DependencyUpdateMojoTest.java b/src/test/java/io/kokuwa/maven/helm/DependencyUpdateMojoTest.java index cee3a149..4e22c0ff 100644 --- a/src/test/java/io/kokuwa/maven/helm/DependencyUpdateMojoTest.java +++ b/src/test/java/io/kokuwa/maven/helm/DependencyUpdateMojoTest.java @@ -58,4 +58,11 @@ void overwriteLocalDependencies(DependencyUpdateMojo mojo) { "dependency update src/test/resources/dependencies/a1", "dependency update src/test/resources/dependencies"); } + + @DisplayName("with flag skip repo refresh") + @Test + void skipRepoRefresh(DependencyUpdateMojo mojo) { + assertHelm(mojo.setSkipDependencyUpdateRepoRefresh(true), + "dependency update src/test/resources/simple --skip-refresh"); + } }