Skip to content

Commit

Permalink
Use only MapProperty, delete setters and let gradle do the magic
Browse files Browse the repository at this point in the history
  • Loading branch information
NAIT BELKACEM committed May 17, 2021
1 parent cfe32ba commit 27dc237
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@
import javax.inject.Inject;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.MapProperty;
import org.gradle.api.provider.Provider;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Optional;

Expand Down Expand Up @@ -204,20 +203,14 @@ public void setVolumes(List<String> volumes) {

@Input
@Optional
public Map<String, String> getLabels() {
if (System.getProperty(PropertyNames.CONTAINER_LABELS) != null) {
return ConfigurationPropertyValidator.parseMapProperty(
System.getProperty(PropertyNames.CONTAINER_LABELS));
public MapProperty<String, String> getLabels() {
String labelsProperty = System.getProperty(PropertyNames.CONTAINER_LABELS);
if (labelsProperty != null) {
Map<String, String> parsedLabels =
ConfigurationPropertyValidator.parseMapProperty(labelsProperty);
labels.set(parsedLabels);
}
return labels.get();
}

public void setLabels(Map<String, String> labels) {
this.labels.set(labels);
}

public void setLabels(Provider<Map<String, String>> labels) {
this.labels.set(labels);
return labels;
}

@Input
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ public Map<String, String> getEnvironment() {

@Override
public Map<String, String> getLabels() {
return jibExtension.getContainer().getLabels();
return jibExtension.getContainer().getLabels().get();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import org.gradle.api.internal.provider.DefaultMapProperty;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.Mockito;
Expand Down Expand Up @@ -67,8 +68,10 @@ public void testGetters() {
Mockito.when(containerParameters.getEnvironment())
.thenReturn(new HashMap<>(ImmutableMap.of("currency", "dollar")));
Mockito.when(containerParameters.getJvmFlags()).thenReturn(Arrays.asList("-cp", "."));
Mockito.when(containerParameters.getLabels())
.thenReturn(new HashMap<>(ImmutableMap.of("unit", "cm")));
DefaultMapProperty<String, String> labelProperties =
new DefaultMapProperty<>(String.class, String.class);
labelProperties.set(new HashMap<>(ImmutableMap.of("unit", "cm")));
Mockito.when(containerParameters.getLabels()).thenReturn(labelProperties);
Mockito.when(containerParameters.getMainClass()).thenReturn("com.example.Main");
Mockito.when(containerParameters.getPorts()).thenReturn(Arrays.asList("80/tcp", "0"));
Mockito.when(containerParameters.getUser()).thenReturn("admin:wheel");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,6 @@ public void testContainer() {
assertThat(testJibExtension.getContainer().getArgs()).isNull();
assertThat(testJibExtension.getContainer().getFormat()).isSameInstanceAs(ImageFormat.Docker);
assertThat(testJibExtension.getContainer().getPorts()).isEmpty();
assertThat(testJibExtension.getContainer().getLabels()).isEmpty();
assertThat(testJibExtension.getContainer().getAppRoot()).isEmpty();
assertThat(testJibExtension.getContainer().getFilesModificationTime())
.isEqualTo("EPOCH_PLUS_SECOND");
Expand All @@ -156,7 +155,6 @@ public void testContainer() {
container.setMainClass("mainClass");
container.setArgs(Arrays.asList("arg1", "arg2", "arg3"));
container.setPorts(Arrays.asList("1000", "2000-2010", "3000"));
container.setLabels(ImmutableMap.of("label1", "value1", "label2", "value2"));
container.setFormat(ImageFormat.OCI);
container.setAppRoot("some invalid appRoot value");
container.setFilesModificationTime("some invalid time value");
Expand All @@ -172,9 +170,6 @@ public void testContainer() {
assertThat(testJibExtension.getContainer().getMainClass()).isEqualTo("mainClass");
assertThat(container.getArgs()).containsExactly("arg1", "arg2", "arg3").inOrder();
assertThat(container.getPorts()).containsExactly("1000", "2000-2010", "3000").inOrder();
assertThat(container.getLabels())
.containsExactly("label1", "value1", "label2", "value2")
.inOrder();
assertThat(container.getFormat()).isSameInstanceAs(ImageFormat.OCI);
assertThat(container.getAppRoot()).isEqualTo("some invalid appRoot value");
assertThat(container.getFilesModificationTime()).isEqualTo("some invalid time value");
Expand Down Expand Up @@ -379,7 +374,11 @@ public void testProperties() {
.containsExactly("flag1", "flag2", "flag3")
.inOrder();
System.setProperty("jib.container.labels", "label1=val1,label2=val2");
assertThat(testJibExtension.getContainer().getLabels())
assertThat(testJibExtension.getContainer().getLabels().get())
.containsExactly("label1", "val1", "label2", "val2")
.inOrder();
System.clearProperty("jib.container.labels");
assertThat(testJibExtension.getContainer().getLabels().get())
.containsExactly("label1", "val1", "label2", "val2")
.inOrder();
System.setProperty("jib.container.mainClass", "main");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ jib {
}

tasks.register('showlabels') {
Map<String, String> prop = project.extensions.getByName("jib")["container"]["labels"]
Map<String, String> prop = project.extensions.getByName("jib")["container"]["labels"].get()
println("labels contain values " + prop)
}

0 comments on commit 27dc237

Please sign in to comment.