Skip to content

Commit

Permalink
feat: add skip-refresh flag to dependency-build/update goals (#354)
Browse files Browse the repository at this point in the history
Co-authored-by: Peter YOUNGS <peter.youngs@amadeus.com>
  • Loading branch information
peteyoungs and Peter YOUNGS committed Feb 22, 2024
1 parent 36a9575 commit f468cc8
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 6 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,9 @@ Parameter | Type | User Property | Required | Description
`<skipTemplate>` | boolean | helm.template.skip | false | skip template goal. Default value is true due to the dry-run goal
`<skipDryRun>` | boolean | helm.dry-run.skip | false | skip dry-run goal
`<skipDependencyBuild>` | boolean | helm.dependency-build.skip | false | skip dependency-build goal
`<skipDependencyBuildRepoRefresh>` | boolean | helm.dependency-build.skip-repo-refresh | false | skip local repository refresh in dependency-build goal
`<skipDependencyUpdate>` | boolean | helm.dependency-update.skip | false | skip dependency-update goal
`<skipDependencyUpdateRepoRefresh>` | boolean | helm.dependency-update.skip-repo-refresh | false | skip local repository refresh in dependency-update goal
`<skipPackage>` | boolean | helm.package.skip | false | skip package goal
`<skipUpload>` | boolean | helm.upload.skip | false | skip upload goal
`<skipCatalog>` | boolean | helm.upload.skip.catalog | true | Skips creation of a catalog file with a list of helm chart upload details
Expand Down
18 changes: 15 additions & 3 deletions src/main/java/io/kokuwa/maven/helm/DependencyBuildMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand All @@ -28,6 +29,14 @@ public class DependencyBuildMojo extends AbstractDependencyMojo {
@Parameter(property = "helm.dependency-build.skip", defaultValue = "false")
private boolean skipDependencyBuild;

/**
* Set this to <code>true</code> 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 {

Expand All @@ -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");
}
}
}
18 changes: 15 additions & 3 deletions src/main/java/io/kokuwa/maven/helm/DependencyUpdateMojo.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;

/**
Expand All @@ -27,6 +28,14 @@ public class DependencyUpdateMojo extends AbstractDependencyMojo {
@Parameter(property = "helm.dependency-update.skip", defaultValue = "false")
private boolean skipDependencyUpdate;

/**
* Set this to <code>true</code> 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 {

Expand All @@ -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");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
}

0 comments on commit f468cc8

Please sign in to comment.