I want to deploy my maven compiled OSGi bundle to my remote OSGi repository. I'm on Windows 7 and use the maven-bundle-plugin (2.3.7) from eclipse. The repository is on linux and is accessed over ssh.
I have configured in settings.xml
to use plink
and pscp
(Putty tools) to do the ssh work.
In <distributionManagement>
I set the repository url, which starts with scpexe://
The maven-deploy goal works fine and uploads the jar files and metadata.xml to the repository.
Now I also want the OBR metadata to be produced and uploaded. I thus add in the configuration of the maven-bundle-plugin, <remoteOBR>my-repository</remoteOBR>
(which is the same ID as the repository in <distributionManagement>
.
When executing deploy, (after the maven deploy phase finishes successfully), I get the error.
[ERROR] Failed to execute goal org.apache.felix:maven-bundle-plugin:2.3.7:deploy (default-deploy) on project bootstrapper: Transfer failed: Exit code: 1 - 'scp' is not recognized as an internal or external command, operable program or batch file.
-> [Help 1]
This means that the maven-bundle-plugin does not use the pscp
command as specified in settings.xml, but rather "scp", which is not available on the path.
How can I configure the maven-bundle-plugin to upload the OBR data using PuTTY's pscp?
I eventually found a working solution:
So the POM looks like (note, scp:// protocol is used for the url)
And settings.xml (which is located at C:\Users\myUsernameOnWindows\.m2\)