Description
SFTP resolver doesn't have proper check when hostname missing from both url and hostname. If it's not specified in both places, the following exception will be thrown
Caused by: java.lang.NullPointerException
at org.apache.ivy.plugins.repository.ssh.SshCache.createCacheKey(SshCache.java:184)
at org.apache.ivy.plugins.repository.ssh.SshCache.getCacheEntry(SshCache.java:165)
at org.apache.ivy.plugins.repository.ssh.SshCache.getSession(SshCache.java:307)
at org.apache.ivy.plugins.repository.ssh.AbstractSshBasedRepository.getSession(AbstractSshBasedRepository.java:82)
at org.apache.ivy.plugins.repository.sftp.SFTPRepository.getSftpChannel(SFTPRepository.java:223)
at org.apache.ivy.plugins.repository.sftp.SFTPRepository.put(SFTPRepository.java:134)
at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
at org.apache.ivy.plugins.resolver.RepositoryResolver.put(RepositoryResolver.java:177)
at org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:167)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:242)
at org.apache.ivy.core.publish.PublishEngine.publish(PublishEngine.java:195)
at org.apache.ivy.core.install.InstallEngine.install(InstallEngine.java:146)
at org.apache.ivy.Ivy.install(Ivy.java:511)
at org.apache.ivy.ant.IvyInstall.doExecute(IvyInstall.java:95)