Fix split package in bundle org.eclipse.jgit.ssh.jsch The package org.eclipse.jgit.transport was split between org.eclipse.jgit and org.eclipse.jgit.ssh.jsch. Bug: 564544 Change-Id: I91d38e67c65ed97a880f8dc8f9559663b9eec33b
diff --git a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF index 67d1d51..89ad6d1 100644 --- a/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.pgm/META-INF/MANIFEST.MF
@@ -43,6 +43,7 @@ org.eclipse.jgit.transport;version="[6.0.0,6.1.0)", org.eclipse.jgit.transport.http.apache;version="[6.0.0,6.1.0)", org.eclipse.jgit.transport.resolver;version="[6.0.0,6.1.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.0.0,6.1.0)", org.eclipse.jgit.transport.sshd;version="[6.0.0,6.1.0)", org.eclipse.jgit.treewalk;version="[6.0.0,6.1.0)", org.eclipse.jgit.treewalk.filter;version="[6.0.0,6.1.0)",
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/TextBuiltin.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/TextBuiltin.java index 600200d..6cfe93d 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/TextBuiltin.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/TextBuiltin.java
@@ -36,8 +36,8 @@ import org.eclipse.jgit.pgm.internal.SshDriver; import org.eclipse.jgit.pgm.opt.CmdLineParser; import org.eclipse.jgit.revwalk.RevWalk; -import org.eclipse.jgit.transport.JschConfigSessionFactory; import org.eclipse.jgit.transport.SshSessionFactory; +import org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory; import org.eclipse.jgit.transport.sshd.DefaultProxyDataFactory; import org.eclipse.jgit.transport.sshd.JGitKeyCache; import org.eclipse.jgit.transport.sshd.SshdSessionFactory;
diff --git a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF index 693f192..a155ccf 100644 --- a/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch.test/META-INF/MANIFEST.MF
@@ -13,6 +13,7 @@ org.eclipse.jgit.junit.ssh;version="[6.0.0,6.1.0)", org.eclipse.jgit.lib;version="[6.0.0,6.1.0)", org.eclipse.jgit.transport;version="[6.0.0,6.1.0)", + org.eclipse.jgit.transport.ssh.jsch;version="[6.0.0,6.1.0)", org.eclipse.jgit.util;version="[6.0.0,6.1.0)", org.hamcrest;version="[1.1.0,3.0.0)", org.junit;version="[4.13,5.0.0)",
diff --git a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshProtocol2Test.java b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java similarity index 89% rename from org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshProtocol2Test.java rename to org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java index 0929c55..611d4e8 100644 --- a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshProtocol2Test.java +++ b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshProtocol2Test.java
@@ -9,7 +9,7 @@ */ //TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static org.junit.Assert.assertTrue; @@ -24,7 +24,11 @@ import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.StoredConfig; -import org.eclipse.jgit.transport.OpenSshConfig.Host; +import org.eclipse.jgit.transport.CredentialsProvider; +import org.eclipse.jgit.transport.RemoteSession; +import org.eclipse.jgit.transport.SshSessionFactory; +import org.eclipse.jgit.transport.URIish; +import org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host; import org.eclipse.jgit.util.FS; import com.jcraft.jsch.JSch;
diff --git a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshTest.java b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshTest.java similarity index 88% rename from org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshTest.java rename to org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshTest.java index 22caebd..54cb84b 100644 --- a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JSchSshTest.java +++ b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JSchSshTest.java
@@ -8,8 +8,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static org.junit.Assert.assertTrue; @@ -22,7 +21,11 @@ import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.junit.ssh.SshTestBase; import org.eclipse.jgit.lib.Constants; -import org.eclipse.jgit.transport.OpenSshConfig.Host; +import org.eclipse.jgit.transport.CredentialsProvider; +import org.eclipse.jgit.transport.RemoteSession; +import org.eclipse.jgit.transport.SshSessionFactory; +import org.eclipse.jgit.transport.URIish; +import org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host; import org.eclipse.jgit.util.FS; import org.junit.experimental.theories.Theories; import org.junit.runner.RunWith;
diff --git a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JschConfigSessionFactoryTest.java b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactoryTest.java similarity index 98% rename from org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JschConfigSessionFactoryTest.java rename to org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactoryTest.java index 4efeae1..4309bed 100644 --- a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/JschConfigSessionFactoryTest.java +++ b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactoryTest.java
@@ -9,7 +9,7 @@ */ //TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static org.junit.Assert.assertEquals; @@ -19,6 +19,7 @@ import java.util.concurrent.TimeUnit; import org.eclipse.jgit.junit.MockSystemReader; +import org.eclipse.jgit.transport.URIish; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.SystemReader; import org.junit.After;
diff --git a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfigTest.java similarity index 98% rename from org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java rename to org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfigTest.java index 93d85e2..4399ad9 100644 --- a/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java +++ b/org.eclipse.jgit.ssh.jsch.test/tst/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfigTest.java
@@ -8,8 +8,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.assertArrayEquals; @@ -29,7 +28,8 @@ import org.eclipse.jgit.junit.RepositoryTestCase; import org.eclipse.jgit.lib.Constants; -import org.eclipse.jgit.transport.OpenSshConfig.Host; +import org.eclipse.jgit.transport.SshConstants; +import org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FileUtils; import org.eclipse.jgit.util.SystemReader;
diff --git a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF index 4301692..1a498ce 100644 --- a/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF +++ b/org.eclipse.jgit.ssh.jsch/META-INF/MANIFEST.MF
@@ -9,12 +9,7 @@ Bundle-ActivationPolicy: lazy Bundle-Version: 6.0.0.qualifier Bundle-RequiredExecutionEnvironment: JavaSE-11 -Export-Package: org.eclipse.jgit.internal.transport.jsch;version="6.0.0";x-friends:="org.eclipse.egit.core", - org.eclipse.jgit.transport;version="6.0.0"; - uses:="org.eclipse.jgit.transport, - org.eclipse.jgit.internal.transport.ssh, - org.eclipse.jgit.util, - com.jcraft.jsch" +Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.0.0" Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.0)", org.eclipse.jgit.errors;version="[6.0.0,6.1.0)", org.eclipse.jgit.internal;version="[6.0.0,6.1.0)",
diff --git a/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory b/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory deleted file mode 100644 index 8192746..0000000 --- a/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.SshSessionFactory +++ /dev/null
@@ -1 +0,0 @@ -org.eclipse.jgit.transport.JschConfigSessionFactory
diff --git a/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.ssh.jsch.SshSessionFactory b/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.ssh.jsch.SshSessionFactory new file mode 100644 index 0000000..aca4896 --- /dev/null +++ b/org.eclipse.jgit.ssh.jsch/resources/META-INF/services/org.eclipse.jgit.transport.ssh.jsch.SshSessionFactory
@@ -0,0 +1 @@ +org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory
diff --git a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/CredentialsProviderUserInfo.java b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/CredentialsProviderUserInfo.java similarity index 94% rename from org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/CredentialsProviderUserInfo.java rename to org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/CredentialsProviderUserInfo.java index 01adcf3..5053493 100644 --- a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/CredentialsProviderUserInfo.java +++ b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/CredentialsProviderUserInfo.java
@@ -8,13 +8,16 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.internal.transport.ssh.jsch; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import org.eclipse.jgit.transport.CredentialItem; +import org.eclipse.jgit.transport.CredentialsProvider; +import org.eclipse.jgit.transport.URIish; + import com.jcraft.jsch.Session; import com.jcraft.jsch.UIKeyboardInteractive; import com.jcraft.jsch.UserInfo;
diff --git a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/jsch/JSchText.java b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.java similarity index 94% rename from org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/jsch/JSchText.java rename to org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.java index 4d4c9cb..c090cd7 100644 --- a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/jsch/JSchText.java +++ b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/internal/transport/ssh/jsch/JSchText.java
@@ -7,7 +7,7 @@ * * SPDX-License-Identifier: BSD-3-Clause */ -package org.eclipse.jgit.internal.transport.jsch; +package org.eclipse.jgit.internal.transport.ssh.jsch; import org.eclipse.jgit.nls.NLS; import org.eclipse.jgit.nls.TranslationBundle;
diff --git a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactory.java similarity index 94% rename from org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java rename to org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactory.java index 88202dd..453433e 100644 --- a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschConfigSessionFactory.java +++ b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschConfigSessionFactory.java
@@ -15,8 +15,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.toList; @@ -38,7 +37,13 @@ import java.util.stream.Stream; import org.eclipse.jgit.errors.TransportException; -import org.eclipse.jgit.internal.transport.jsch.JSchText; +import org.eclipse.jgit.internal.transport.ssh.jsch.CredentialsProviderUserInfo; +import org.eclipse.jgit.internal.transport.ssh.jsch.JSchText; +import org.eclipse.jgit.transport.CredentialsProvider; +import org.eclipse.jgit.transport.RemoteSession; +import org.eclipse.jgit.transport.SshConstants; +import org.eclipse.jgit.transport.SshSessionFactory; +import org.eclipse.jgit.transport.URIish; import org.eclipse.jgit.util.FS; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -60,8 +65,10 @@ * used by C Git. * <p> * The factory does not provide UI behavior. Override the method - * {@link #configure(org.eclipse.jgit.transport.OpenSshConfig.Host, Session)} to - * supply appropriate {@link com.jcraft.jsch.UserInfo} to the session. + * {@link #configure(org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host, Session)} + * to supply appropriate {@link com.jcraft.jsch.UserInfo} to the session. + * + * @since 6.0 */ public class JschConfigSessionFactory extends SshSessionFactory { @@ -177,8 +184,20 @@ private static boolean isAuthenticationCanceled(JSchException e) { return e.getCause() == null && e.getMessage().equals("Auth cancel"); //$NON-NLS-1$ } - // Package visibility for tests - Session createSession(CredentialsProvider credentialsProvider, + /** + * Use for tests only + * + * @param credentialsProvider + * @param fs + * @param user + * @param pass + * @param host + * @param port + * @param hc + * @return session + * @throws JSchException + */ + public Session createSession(CredentialsProvider credentialsProvider, FS fs, String user, final String pass, String host, int port, final OpenSshConfig.Host hc) throws JSchException { final Session session = createSession(hc, user, host, port, fs); @@ -535,7 +554,7 @@ public String getValue(String key) { * @param config * to use */ - synchronized void setConfig(OpenSshConfig config) { + public synchronized void setConfig(OpenSshConfig config) { this.config = config; } }
diff --git a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschSession.java b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschSession.java similarity index 95% rename from org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschSession.java rename to org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschSession.java index c7d0941..02cdf70 100644 --- a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/JschSession.java +++ b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/JschSession.java
@@ -13,8 +13,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import java.io.BufferedOutputStream; import java.io.IOException; @@ -29,7 +28,10 @@ import java.util.concurrent.TimeUnit; import org.eclipse.jgit.errors.TransportException; -import org.eclipse.jgit.internal.transport.jsch.JSchText; +import org.eclipse.jgit.internal.transport.ssh.jsch.JSchText; +import org.eclipse.jgit.transport.FtpChannel; +import org.eclipse.jgit.transport.RemoteSession2; +import org.eclipse.jgit.transport.URIish; import org.eclipse.jgit.util.io.IsolatedOutputStream; import com.jcraft.jsch.Channel; @@ -43,8 +45,10 @@ * Run remote commands using Jsch. * <p> * This class is the default session implementation using Jsch. Note that - * {@link org.eclipse.jgit.transport.JschConfigSessionFactory} is used to create - * the actual session passed to the constructor. + * {@link org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory} is used to + * create the actual session passed to the constructor. + * + * @since 6.0 */ public class JschSession implements RemoteSession2 { final Session sock;
diff --git a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/OpenSshConfig.java b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfig.java similarity index 94% rename from org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/OpenSshConfig.java rename to org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfig.java index 5c6c80c..2873307 100644 --- a/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/OpenSshConfig.java +++ b/org.eclipse.jgit.ssh.jsch/src/org/eclipse/jgit/transport/ssh/jsch/OpenSshConfig.java
@@ -8,8 +8,7 @@ * SPDX-License-Identifier: BSD-3-Clause */ -//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 -package org.eclipse.jgit.transport; +package org.eclipse.jgit.transport.ssh.jsch; import static org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile.positive; @@ -20,6 +19,8 @@ import org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile; import org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile.HostEntry; +import org.eclipse.jgit.transport.SshConstants; +import org.eclipse.jgit.transport.SshSessionFactory; import org.eclipse.jgit.util.FS; import com.jcraft.jsch.ConfigRepository; @@ -40,7 +41,7 @@ * <p> * This parser makes the critical options available to * {@link org.eclipse.jgit.transport.SshSessionFactory} via - * {@link org.eclipse.jgit.transport.OpenSshConfig.Host} objects returned + * {@link org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host} objects returned * by {@link #lookup(String)}, and implements a fully conforming * {@link com.jcraft.jsch.ConfigRepository} providing * {@link com.jcraft.jsch.ConfigRepository.Config}s via @@ -48,6 +49,7 @@ * </p> * * @see OpenSshConfigFile + * @since 6.0 */ public class OpenSshConfig implements ConfigRepository { @@ -77,7 +79,15 @@ public static OpenSshConfig get(FS fs) { /** The base file. */ private OpenSshConfigFile configFile; - OpenSshConfig(File h, File cfg) { + /** + * Create an OpenSshConfig + * + * @param h + * user's home directory + * @param cfg + * ssh configuration file + */ + public OpenSshConfig(File h, File cfg) { configFile = new OpenSshConfigFile(h, cfg, SshSessionFactory.getLocalUserName()); } @@ -264,7 +274,12 @@ private void complete(String initialHostName, String localUserName) { } } - Config getConfig() { + /** + * Get the ssh configuration + * + * @return the ssh configuration + */ + public Config getConfig() { if (config == null) { config = new Config() {