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.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)",

View File

@ -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;

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.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)",

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -9,12 +9,7 @@ Bundle-Localization: plugin
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)",

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
*/
//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;

View File

@ -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;

View File

@ -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[] getValues(String key) {
* @param config
* to use
*/
synchronized void setConfig(OpenSshConfig config) {
public synchronized void setConfig(OpenSshConfig config) {
this.config = config;
}
}

View File

@ -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;

View File

@ -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() {