Which dependencies to exclude when using SVNKit without SSH support

Hi,

I write a small tool that does not require support for communicating with a remote repository using the svn+ssh protocol; I only need local-only svn status and svn info operations with working copies of svn, svn+ssh, http(s) and file repositories.

As the tool is meant to be small, I would like to exclude the various dependencies needed for SSH support from my distribution.

Is this possible or will I run into ClassNotFoundExceptions at runtime? And which dependencies to exclude?

|    \--- org.tmatesoft.svnkit:svnkit -> 1.10.9
|         +--- org.apache.sshd:sshd-core:2.8.0 -> 2.9.2
|         |    +--- org.apache.sshd:sshd-common:2.9.2
|         |    |    +--- org.slf4j:slf4j-api:1.7.32
|         |    |    \--- org.slf4j:jcl-over-slf4j:1.7.32
|         |    |         \--- org.slf4j:slf4j-api:1.7.32
|         |    +--- org.slf4j:slf4j-api:1.7.32
|         |    \--- org.slf4j:jcl-over-slf4j:1.7.32 (*)
|         +--- org.apache.sshd:sshd-common:2.8.0 -> 2.9.2 (*)
|         +--- net.i2p.crypto:eddsa:0.3.0
|         +--- de.regnis.q.sequence:sequence-library:1.0.4
|         +--- org.tmatesoft.sqljet:sqljet:1.1.15
|         |    \--- org.antlr:antlr-runtime:3.4
|         +--- net.java.dev.jna:jna:5.6.0
|         +--- net.java.dev.jna:jna-platform:5.6.0
|         |    \--- net.java.dev.jna:jna:5.6.0
|         +--- com.trilead:trilead-ssh2:1.0.0-build222
|         +--- com.jcraft:jsch.agentproxy.connector-factory:0.0.7
|         |    +--- com.jcraft:jsch.agentproxy.core:0.0.7
|         |    +--- com.jcraft:jsch.agentproxy.usocket-jna:0.0.7
|         |    |    +--- com.jcraft:jsch.agentproxy.core:0.0.7
|         |    |    +--- net.java.dev.jna:jna:3.4.0 -> 5.6.0
|         |    |    \--- net.java.dev.jna:platform:3.4.0 -> net.java.dev.jna:jna-platform:5.6.0 (*)
|         |    +--- com.jcraft:jsch.agentproxy.usocket-nc:0.0.7
|         |    |    \--- com.jcraft:jsch.agentproxy.core:0.0.7
|         |    +--- com.jcraft:jsch.agentproxy.sshagent:0.0.7
|         |    |    \--- com.jcraft:jsch.agentproxy.core:0.0.7
|         |    \--- com.jcraft:jsch.agentproxy.pageant:0.0.7
|         |         +--- com.jcraft:jsch.agentproxy.core:0.0.7
|         |         +--- net.java.dev.jna:jna:3.4.0 -> 5.6.0
|         |         \--- net.java.dev.jna:platform:3.4.0 -> net.java.dev.jna:jna-platform:5.6.0 (*)
|         +--- com.jcraft:jsch.agentproxy.svnkit-trilead-ssh2:0.0.7
|         |    +--- com.trilead:trilead-ssh2:1.0.0-build217 -> 1.0.0-build222
|         |    \--- com.jcraft:jsch.agentproxy.core:0.0.7
|         \--- org.lz4:lz4-java:1.4.1 -> 1.8.0

org.apache.sshd:*, com.trilead:*, and com.jcraft:jsco.* for sure. Others?

(FWIW, we have a Commercial License.)

Hello Andreas,

org.apache.sshd:, com.trilead:, and com.jcraft:jsco.* for sure. Others?
This completes the list.

You may exclude these libraries and shouldn’t get ClassNotFound exceptions unless you use “svn+ssh” protocol.

Thanks for confirming this. FWIW, entirely local svn info and svn status operations seem to work even with svn+ssh URLs.