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
This commit is contained in:
Matthias Sohn 2021-09-12 23:35:33 +02:00
parent 68a638deb0
commit 9683bc71b6
15 changed files with 84 additions and 38 deletions

View File

@ -43,6 +43,7 @@ Import-Package: javax.servlet;version="[3.1.0,4.0.0)",
org.eclipse.jgit.transport;version="[6.0.0,6.1.0)", 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.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.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.transport.sshd;version="[6.0.0,6.1.0)",
org.eclipse.jgit.treewalk;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)", org.eclipse.jgit.treewalk.filter;version="[6.0.0,6.1.0)",

View File

@ -36,8 +36,8 @@
import org.eclipse.jgit.pgm.internal.SshDriver; import org.eclipse.jgit.pgm.internal.SshDriver;
import org.eclipse.jgit.pgm.opt.CmdLineParser; import org.eclipse.jgit.pgm.opt.CmdLineParser;
import org.eclipse.jgit.revwalk.RevWalk; import org.eclipse.jgit.revwalk.RevWalk;
import org.eclipse.jgit.transport.JschConfigSessionFactory;
import org.eclipse.jgit.transport.SshSessionFactory; 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.DefaultProxyDataFactory;
import org.eclipse.jgit.transport.sshd.JGitKeyCache; import org.eclipse.jgit.transport.sshd.JGitKeyCache;
import org.eclipse.jgit.transport.sshd.SshdSessionFactory; import org.eclipse.jgit.transport.sshd.SshdSessionFactory;

View File

@ -13,6 +13,7 @@ Import-Package: com.jcraft.jsch;version="[0.1.54,0.2.0)",
org.eclipse.jgit.junit.ssh;version="[6.0.0,6.1.0)", 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.lib;version="[6.0.0,6.1.0)",
org.eclipse.jgit.transport;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.eclipse.jgit.util;version="[6.0.0,6.1.0)",
org.hamcrest;version="[1.1.0,3.0.0)", org.hamcrest;version="[1.1.0,3.0.0)",
org.junit;version="[4.13,5.0.0)", org.junit;version="[4.13,5.0.0)",

View File

@ -9,7 +9,7 @@
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 //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; import static org.junit.Assert.assertTrue;
@ -24,7 +24,11 @@
import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.lib.StoredConfig; 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 org.eclipse.jgit.util.FS;
import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSch;

View File

@ -8,8 +8,7 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
@ -22,7 +21,11 @@
import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.errors.TransportException;
import org.eclipse.jgit.junit.ssh.SshTestBase; import org.eclipse.jgit.junit.ssh.SshTestBase;
import org.eclipse.jgit.lib.Constants; 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.eclipse.jgit.util.FS;
import org.junit.experimental.theories.Theories; import org.junit.experimental.theories.Theories;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;

View File

@ -9,7 +9,7 @@
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 //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; import static org.junit.Assert.assertEquals;
@ -19,6 +19,7 @@
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.eclipse.jgit.junit.MockSystemReader; import org.eclipse.jgit.junit.MockSystemReader;
import org.eclipse.jgit.transport.URIish;
import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.FS;
import org.eclipse.jgit.util.SystemReader; import org.eclipse.jgit.util.SystemReader;
import org.junit.After; import org.junit.After;

View File

@ -8,8 +8,7 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import static java.nio.charset.StandardCharsets.UTF_8; import static java.nio.charset.StandardCharsets.UTF_8;
import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertArrayEquals;
@ -29,7 +28,8 @@
import org.eclipse.jgit.junit.RepositoryTestCase; import org.eclipse.jgit.junit.RepositoryTestCase;
import org.eclipse.jgit.lib.Constants; 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.FS;
import org.eclipse.jgit.util.FileUtils; import org.eclipse.jgit.util.FileUtils;
import org.eclipse.jgit.util.SystemReader; import org.eclipse.jgit.util.SystemReader;

View File

@ -9,12 +9,7 @@ Bundle-Localization: plugin
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Bundle-Version: 6.0.0.qualifier Bundle-Version: 6.0.0.qualifier
Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.jgit.internal.transport.jsch;version="6.0.0";x-friends:="org.eclipse.egit.core", Export-Package: org.eclipse.jgit.transport.ssh.jsch;version="6.0.0"
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"
Import-Package: com.jcraft.jsch;version="[0.1.37,0.2.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.errors;version="[6.0.0,6.1.0)",
org.eclipse.jgit.internal;version="[6.0.0,6.1.0)", org.eclipse.jgit.internal;version="[6.0.0,6.1.0)",

View File

@ -1 +0,0 @@
org.eclipse.jgit.transport.JschConfigSessionFactory

View File

@ -0,0 +1 @@
org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory

View File

@ -8,13 +8,16 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.internal.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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.Session;
import com.jcraft.jsch.UIKeyboardInteractive; import com.jcraft.jsch.UIKeyboardInteractive;
import com.jcraft.jsch.UserInfo; import com.jcraft.jsch.UserInfo;

View File

@ -7,7 +7,7 @@
* *
* SPDX-License-Identifier: BSD-3-Clause * 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.NLS;
import org.eclipse.jgit.nls.TranslationBundle; import org.eclipse.jgit.nls.TranslationBundle;

View File

@ -15,8 +15,7 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import static java.util.stream.Collectors.joining; import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
@ -38,7 +37,13 @@
import java.util.stream.Stream; import java.util.stream.Stream;
import org.eclipse.jgit.errors.TransportException; 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.eclipse.jgit.util.FS;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -60,8 +65,10 @@
* used by C Git. * used by C Git.
* <p> * <p>
* The factory does not provide UI behavior. Override the method * The factory does not provide UI behavior. Override the method
* {@link #configure(org.eclipse.jgit.transport.OpenSshConfig.Host, Session)} to * {@link #configure(org.eclipse.jgit.transport.ssh.jsch.OpenSshConfig.Host, Session)}
* supply appropriate {@link com.jcraft.jsch.UserInfo} to the session. * to supply appropriate {@link com.jcraft.jsch.UserInfo} to the session.
*
* @since 6.0
*/ */
public class JschConfigSessionFactory extends SshSessionFactory { 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$ 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, FS fs, String user, final String pass, String host, int port,
final OpenSshConfig.Host hc) throws JSchException { final OpenSshConfig.Host hc) throws JSchException {
final Session session = createSession(hc, user, host, port, fs); final Session session = createSession(hc, user, host, port, fs);
@ -535,7 +554,7 @@ public String[] getValues(String key) {
* @param config * @param config
* to use * to use
*/ */
synchronized void setConfig(OpenSshConfig config) { public synchronized void setConfig(OpenSshConfig config) {
this.config = config; this.config = config;
} }
} }

View File

@ -13,8 +13,7 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import java.io.BufferedOutputStream; import java.io.BufferedOutputStream;
import java.io.IOException; import java.io.IOException;
@ -29,7 +28,10 @@
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import org.eclipse.jgit.errors.TransportException; 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 org.eclipse.jgit.util.io.IsolatedOutputStream;
import com.jcraft.jsch.Channel; import com.jcraft.jsch.Channel;
@ -43,8 +45,10 @@
* Run remote commands using Jsch. * Run remote commands using Jsch.
* <p> * <p>
* This class is the default session implementation using Jsch. Note that * This class is the default session implementation using Jsch. Note that
* {@link org.eclipse.jgit.transport.JschConfigSessionFactory} is used to create * {@link org.eclipse.jgit.transport.ssh.jsch.JschConfigSessionFactory} is used to
* the actual session passed to the constructor. * create the actual session passed to the constructor.
*
* @since 6.0
*/ */
public class JschSession implements RemoteSession2 { public class JschSession implements RemoteSession2 {
final Session sock; final Session sock;

View File

@ -8,8 +8,7 @@
* SPDX-License-Identifier: BSD-3-Clause * SPDX-License-Identifier: BSD-3-Clause
*/ */
//TODO(ms): move to org.eclipse.jgit.ssh.jsch in 6.0 package org.eclipse.jgit.transport.ssh.jsch;
package org.eclipse.jgit.transport;
import static org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile.positive; 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;
import org.eclipse.jgit.internal.transport.ssh.OpenSshConfigFile.HostEntry; 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 org.eclipse.jgit.util.FS;
import com.jcraft.jsch.ConfigRepository; import com.jcraft.jsch.ConfigRepository;
@ -40,7 +41,7 @@
* <p> * <p>
* This parser makes the critical options available to * This parser makes the critical options available to
* {@link org.eclipse.jgit.transport.SshSessionFactory} via * {@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 * by {@link #lookup(String)}, and implements a fully conforming
* {@link com.jcraft.jsch.ConfigRepository} providing * {@link com.jcraft.jsch.ConfigRepository} providing
* {@link com.jcraft.jsch.ConfigRepository.Config}s via * {@link com.jcraft.jsch.ConfigRepository.Config}s via
@ -48,6 +49,7 @@
* </p> * </p>
* *
* @see OpenSshConfigFile * @see OpenSshConfigFile
* @since 6.0
*/ */
public class OpenSshConfig implements ConfigRepository { public class OpenSshConfig implements ConfigRepository {
@ -77,7 +79,15 @@ public static OpenSshConfig get(FS fs) {
/** The base file. */ /** The base file. */
private OpenSshConfigFile configFile; 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, configFile = new OpenSshConfigFile(h, cfg,
SshSessionFactory.getLocalUserName()); 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) { if (config == null) {
config = new Config() { config = new Config() {