Skip to content

Commit a493114

Browse files
committed
Enable to skip update checks from pom properties
1 parent 8df72a1 commit a493114

File tree

7 files changed

+59
-0
lines changed

7 files changed

+59
-0
lines changed

jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/GradleProjectProperties.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,12 @@ public boolean isOffline() {
454454
return project.getGradle().getStartParameter().isOffline();
455455
}
456456

457+
@Override
458+
public boolean isDisableUpdateCheck() {
459+
return Boolean.parseBoolean(
460+
String.valueOf(project.findProperty(PropertyNames.DISABLE_UPDATE_CHECKS)));
461+
}
462+
457463
@Override
458464
public JibContainerBuilder runPluginExtensions(
459465
List<? extends ExtensionConfiguration> extensionConfigs,

jib-gradle-plugin/src/main/java/com/google/cloud/tools/jib/gradle/TaskCommon.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ class TaskCommon {
5050
static Future<Optional<String>> newUpdateChecker(
5151
ProjectProperties projectProperties, GlobalConfig globalConfig, Logger logger) {
5252
if (projectProperties.isOffline()
53+
|| projectProperties.isDisableUpdateCheck()
5354
|| !logger.isLifecycleEnabled()
5455
|| globalConfig.isDisableUpdateCheck()) {
5556
return Futures.immediateFuture(Optional.empty());

jib-maven-plugin/src/main/java/com/google/cloud/tools/jib/maven/MavenProjectProperties.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,12 @@ public boolean isOffline() {
482482
return session.isOffline();
483483
}
484484

485+
@Override
486+
public boolean isDisableUpdateCheck() {
487+
return Boolean.parseBoolean(
488+
project.getProperties().getProperty(PropertyNames.DISABLE_UPDATE_CHECKS));
489+
}
490+
485491
@VisibleForTesting
486492
Path getWarArtifact() {
487493
Build build = project.getBuild();

jib-maven-plugin/src/main/java/com/google/cloud/tools/jib/maven/MojoCommon.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public class MojoCommon {
5353
static Future<Optional<String>> newUpdateChecker(
5454
ProjectProperties projectProperties, GlobalConfig globalConfig, Log logger) {
5555
if (projectProperties.isOffline()
56+
|| projectProperties.isDisableUpdateCheck()
5657
|| !logger.isInfoEnabled()
5758
|| globalConfig.isDisableUpdateCheck()) {
5859
return Futures.immediateFuture(Optional.empty());

jib-maven-plugin/src/test/java/com/google/cloud/tools/jib/maven/MavenProjectPropertiesTest.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@
1616

1717
package com.google.cloud.tools.jib.maven;
1818

19+
import static com.google.cloud.tools.jib.plugins.common.PropertyNames.DISABLE_UPDATE_CHECKS;
1920
import static com.google.common.truth.Truth.assertThat;
2021
import static com.google.common.truth.Truth8.assertThat;
22+
import static org.junit.Assert.assertFalse;
2123
import static org.junit.Assert.assertThrows;
24+
import static org.junit.Assert.assertTrue;
2225
import static org.mockito.Mockito.any;
2326
import static org.mockito.Mockito.mock;
2427
import static org.mockito.Mockito.verify;
@@ -1089,6 +1092,26 @@ public void testGetDependencies() throws URISyntaxException {
10891092
testRepository.artifactPathOnDisk("com.test", "dependencyX", "1.0.0-SNAPSHOT"));
10901093
}
10911094

1095+
@Test
1096+
public void testIsDisableCheck() {
1097+
final MavenProject project = new MavenProject();
1098+
final MavenProjectProperties properties =
1099+
new MavenProjectProperties(
1100+
mockJibPluginDescriptor,
1101+
project,
1102+
mockMavenSession,
1103+
mockLog,
1104+
mockTempDirectoryProvider,
1105+
Collections.emptyList(),
1106+
mockExtensionLoader);
1107+
1108+
project.getProperties().setProperty(DISABLE_UPDATE_CHECKS, "true");
1109+
assertTrue(properties.isDisableUpdateCheck());
1110+
1111+
project.getProperties().setProperty(DISABLE_UPDATE_CHECKS, "false");
1112+
assertFalse(mavenProjectProperties.isDisableUpdateCheck());
1113+
}
1114+
10921115
private BuildContext setUpBuildContext()
10931116
throws InvalidImageReferenceException, IOException, CacheDirectoryCreationException {
10941117
return setUpBuildContext(ContainerizingMode.EXPLODED);

jib-maven-plugin/src/test/java/com/google/cloud/tools/jib/maven/MojoCommonTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.google.cloud.tools.jib.maven;
1818

19+
import static org.junit.Assert.assertEquals;
20+
import static org.junit.Assert.assertFalse;
1921
import static org.mockito.Mockito.verify;
2022
import static org.mockito.Mockito.when;
2123

@@ -24,7 +26,10 @@
2426
import com.google.cloud.tools.jib.plugins.common.ProjectProperties;
2527
import com.google.common.util.concurrent.Futures;
2628
import java.util.Optional;
29+
import java.util.concurrent.ExecutionException;
2730
import java.util.concurrent.Future;
31+
import org.apache.maven.monitor.logging.DefaultLog;
32+
import org.codehaus.plexus.logging.console.ConsoleLogger;
2833
import org.junit.Test;
2934
import org.junit.runner.RunWith;
3035
import org.mockito.Mock;
@@ -60,4 +65,19 @@ public void testFinishUpdateChecker_correctMessageLogged() {
6065
+ ProjectInfo.GITHUB_URL
6166
+ "/blob/master/docs/privacy.md for info on disabling this update check."));
6267
}
68+
69+
@Test
70+
public void testUpdateChecker_disabledFromProjectProperties()
71+
throws ExecutionException, InterruptedException {
72+
when(mockProjectProperties.getToolName()).thenThrow(new AssertionError("shouldn't occur"));
73+
when(mockProjectProperties.isDisableUpdateCheck()).thenReturn(true);
74+
75+
final Future<Optional<String>> future =
76+
MojoCommon.newUpdateChecker(
77+
mockProjectProperties,
78+
null /* not tested since project property disable it before */,
79+
new DefaultLog(new ConsoleLogger()));
80+
assertEquals("com.google.common.util.concurrent.ImmediateFuture", future.getClass().getName());
81+
assertFalse(future.get().isPresent());
82+
}
6383
}

jib-plugins-common/src/main/java/com/google/cloud/tools/jib/plugins/common/ProjectProperties.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ JibContainerBuilder createJibContainerBuilder(
9090

9191
boolean isOffline();
9292

93+
boolean isDisableUpdateCheck();
94+
9395
JibContainerBuilder runPluginExtensions(
9496
List<? extends ExtensionConfiguration> extensionConfigs,
9597
JibContainerBuilder jibContainerBuilder)

0 commit comments

Comments
 (0)