Skip to content

Commit 9ae658d

Browse files
authored
Update Linux Tools to use docker-client 8.0.3 (#430)
- fix some changes that have been made to configuration structures
1 parent ea04b14 commit 9ae658d

File tree

4 files changed

+79
-9
lines changed

4 files changed

+79
-9
lines changed

Diff for: containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java

+72-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*******************************************************************************
22
* Copyright (c) 2014, 2020 Red Hat.
3-
*
3+
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
66
* which is available at https://www.eclipse.org/legal/epl-2.0/
@@ -22,9 +22,9 @@
2222
import java.util.TreeSet;
2323

2424
import org.eclipse.linuxtools.docker.core.IDockerContainerConfig;
25-
2625
import org.mandas.docker.client.messages.ContainerConfig;
2726
import org.mandas.docker.client.messages.HostConfig;
27+
import org.mandas.docker.client.messages.ImageConfig;
2828

2929
public class DockerContainerConfig implements IDockerContainerConfig {
3030

@@ -55,7 +55,7 @@ public class DockerContainerConfig implements IDockerContainerConfig {
5555
private final List<String> onBuild;
5656
private final Map<String, String> labels;
5757

58-
public DockerContainerConfig(final ContainerConfig containerConfig) {
58+
public DockerContainerConfig(final ImageConfig containerConfig) {
5959
this.hostname = containerConfig != null ? containerConfig.hostname()
6060
: null;
6161
this.domainname = containerConfig != null ? containerConfig.domainname()
@@ -114,6 +114,74 @@ public DockerContainerConfig(final ContainerConfig containerConfig) {
114114
this.labels = containerConfig != null ? containerConfig.labels() : null;
115115
}
116116

117+
public DockerContainerConfig(final ContainerConfig containerConfig) {
118+
this.hostname = containerConfig != null ? containerConfig.hostname()
119+
: null;
120+
this.domainname = containerConfig != null ? containerConfig.domainname()
121+
: null;
122+
this.user = containerConfig != null ? containerConfig.user() : null;
123+
final HostConfig hc = containerConfig != null
124+
? containerConfig.hostConfig()
125+
: null;
126+
this.memory = hc != null ? hc.memory() : null;
127+
this.memorySwap = hc != null ? hc.memorySwap() : null;
128+
this.cpuShares = hc != null ? hc.cpuShares() : null;
129+
this.cpuset = hc != null ? hc.cpusetCpus() : null;
130+
this.attachStdin = containerConfig != null
131+
&& containerConfig.attachStdin() != null
132+
? containerConfig.attachStdin()
133+
: false;
134+
this.attachStdout = containerConfig != null
135+
&& containerConfig.attachStdout() != null
136+
? containerConfig.attachStdout()
137+
: false;
138+
this.attachStderr = containerConfig != null
139+
&& containerConfig.attachStderr() != null
140+
? containerConfig.attachStderr()
141+
: false;
142+
this.portSpecs = containerConfig != null ? containerConfig.portSpecs()
143+
: null;
144+
this.exposedPorts = containerConfig != null
145+
? containerConfig.exposedPorts()
146+
: null;
147+
this.tty = containerConfig != null && containerConfig.tty() != null
148+
? containerConfig.tty()
149+
: false;
150+
this.openStdin = containerConfig != null
151+
&& containerConfig.openStdin() != null
152+
? containerConfig.openStdin()
153+
: false;
154+
this.stdinOnce = containerConfig != null
155+
&& containerConfig.stdinOnce() != null
156+
? containerConfig.stdinOnce()
157+
: false;
158+
this.env = containerConfig != null ? containerConfig.env() : null;
159+
this.cmd = containerConfig != null ? containerConfig.cmd() : null;
160+
this.image = containerConfig != null ? containerConfig.image() : null;
161+
162+
@SuppressWarnings("rawtypes")
163+
Map<String, Map> res = new HashMap<>();
164+
try {
165+
if (containerConfig != null && containerConfig.volumes() != null) {
166+
containerConfig.volumes()
167+
.forEach(v -> res.put(v, Collections.emptyMap()));
168+
}
169+
} catch (NullPointerException e) {
170+
}
171+
this.volumes = res;
172+
this.workingDir = containerConfig != null ? containerConfig.workingDir()
173+
: null;
174+
this.entrypoint = containerConfig != null ? containerConfig.entrypoint()
175+
: null;
176+
this.networkDisabled = containerConfig != null
177+
&& containerConfig.networkDisabled() != null
178+
? containerConfig.networkDisabled()
179+
: false;
180+
this.onBuild = containerConfig != null ? containerConfig.onBuild()
181+
: null;
182+
this.labels = containerConfig != null ? containerConfig.labels() : null;
183+
}
184+
117185
private DockerContainerConfig(final Builder builder) {
118186
this.hostname = builder.hostname;
119187
this.domainname = builder.domainname;
@@ -600,7 +668,7 @@ public DockerContainerConfig build() {
600668

601669
/**
602670
* Create a proper command list after handling quotation.
603-
*
671+
*
604672
* @param command
605673
* the command as a single {@link String}
606674
* @return the command splitted in a list of ars or <code>null</code> if

Diff for: containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerImageInfo.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*******************************************************************************
22
* Copyright (c) 2014, 2020 Red Hat.
3-
*
3+
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
66
* which is available at https://www.eclipse.org/legal/epl-2.0/
@@ -16,7 +16,6 @@
1616

1717
import org.eclipse.linuxtools.docker.core.IDockerContainerConfig;
1818
import org.eclipse.linuxtools.docker.core.IDockerImageInfo;
19-
2019
import org.mandas.docker.client.messages.ImageInfo;
2120

2221
public class DockerImageInfo implements IDockerImageInfo {
@@ -41,7 +40,8 @@ public DockerImageInfo(final ImageInfo info) {
4140
this.created = info != null ? info.created() : null;
4241
this.container = info != null ? info.container() : null;
4342
this.containerConfig = info != null
44-
? new DockerContainerConfig(info.containerConfig()) : null;
43+
? new DockerContainerConfig(info.config())
44+
: null;
4545
this.dockerVersion = info != null ? info.dockerVersion() : null;
4646
this.author = info != null ? info.author() : null;
4747
this.config = info != null ? new DockerContainerConfig(info.config())

Diff for: containers/org.eclipse.linuxtools.docker.ui.tests/src/org/eclipse/linuxtools/internal/docker/ui/testutils/MockImageInfoFactory.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Set;
2020

2121
import org.mandas.docker.client.messages.ContainerConfig;
22+
import org.mandas.docker.client.messages.ImageConfig;
2223
import org.mandas.docker.client.messages.ImageInfo;
2324
import org.mockito.Mockito;
2425

@@ -76,7 +77,8 @@ public Builder env(final List<String> env) {
7677
public ImageInfo build() {
7778
final ContainerConfig config = Mockito.mock(ContainerConfig.class);
7879
final ContainerConfig containerConfig = Mockito.mock(ContainerConfig.class);
79-
Mockito.when(this.imageInfo.config()).thenReturn(config);
80+
final ImageConfig imageConfig = Mockito.mock(ImageConfig.class);
81+
Mockito.when(this.imageInfo.config()).thenReturn(imageConfig);
8082
Mockito.when(this.imageInfo.containerConfig()).thenReturn(containerConfig);
8183
Mockito.when(config.cmd()).thenReturn(List.copyOf(this.command));
8284
Mockito.when(config.entrypoint()).thenReturn(List.copyOf(this.entrypoint));

Diff for: releng/org.eclipse.linuxtools.target/linuxtools-latest.target

+1-1
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@
277277
<dependency>
278278
<groupId>org.mandas</groupId>
279279
<artifactId>docker-client</artifactId>
280-
<version>8.0.2</version>
280+
<version>8.0.3</version>
281281
<type>jar</type>
282282
</dependency>
283283
</dependencies>

0 commit comments

Comments
 (0)