Skip to content

Commit 1ef45df

Browse files
committed
Use unixsocket support from Java 16+
Allows us to drop direct usage of jnr-unixsocket but docker-client still uses it internally so not complete removal.
1 parent 1dc3442 commit 1ef45df

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

containers/org.eclipse.linuxtools.docker.core/META-INF/MANIFEST.MF

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.28.0",
1212
org.eclipse.equinox.security,
1313
org.eclipse.osgi,
1414
org.mandas.docker-client;bundle-version="4.0.3",
15-
com.github.jnr.unixsocket;bundle-version="0.38.20",
16-
com.github.jnr.enxio;bundle-version="0.32.15",
1715
org.glassfish.jersey.core.jersey-client;bundle-version="2.40",
1816
org.glassfish.jersey.media.jersey-media-json-jackson;bundle-version="2.40",
1917
org.glassfish.jersey.core.jersey-common;bundle-version="2.40",

containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DefaultUnixConnectionSettingsProvider.java

+11-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*******************************************************************************
22
* Copyright (c) 2016, 2018 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/
@@ -14,27 +14,28 @@
1414

1515
import java.io.File;
1616
import java.io.IOException;
17+
import java.net.UnixDomainSocketAddress;
18+
import java.nio.channels.SocketChannel;
19+
import java.nio.file.Path;
1720
import java.util.Arrays;
1821
import java.util.Collections;
1922
import java.util.List;
2023

2124
import org.eclipse.linuxtools.docker.core.IDockerConnectionSettings;
2225
import org.eclipse.linuxtools.docker.core.IDockerConnectionSettingsProvider;
2326

24-
import jnr.unixsocket.UnixSocketAddress;
25-
import jnr.unixsocket.UnixSocketChannel;
26-
27-
public class DefaultUnixConnectionSettingsProvider implements IDockerConnectionSettingsProvider {
27+
public class DefaultUnixConnectionSettingsProvider
28+
implements IDockerConnectionSettingsProvider {
2829

2930
@Override
3031
public List<IDockerConnectionSettings> getConnectionSettings() {
31-
final File unixSocketFile = new File("/var/run/docker.sock"); //$NON-NLS-1$
32+
final Path unixSocketPath = Path.of("/var/run/docker.sock"); //$NON-NLS-1$
33+
File unixSocketFile = unixSocketPath.toFile();
3234
if (unixSocketFile.exists() && unixSocketFile.canRead()
3335
&& unixSocketFile.canWrite()) {
34-
final UnixSocketAddress address = new UnixSocketAddress(
35-
unixSocketFile);
36-
try (final UnixSocketChannel channel = UnixSocketChannel
37-
.open(address)) {
36+
final UnixDomainSocketAddress address = UnixDomainSocketAddress
37+
.of(unixSocketPath);
38+
try (final SocketChannel channel = SocketChannel.open(address)) {
3839
// assume socket works
3940
final UnixSocketConnectionSettings socket = new UnixSocketConnectionSettings(
4041
DefaultDockerConnectionSettingsFinder.Defaults.DEFAULT_UNIX_SOCKET_PATH);

0 commit comments

Comments
 (0)