Ok, I've managed to get it working, specifically I have done the
following (is this sane?):
Added to pom.xml
org.apache.maven:maven-settings:2.0.8
org.apache.maven.wagon:wagon-provider-api:2.1
Added to the Mojo:
/**
* @component
* @required
* @readonly
*/
private WagonManager wagonManager;
/**
* @component
* @required
* @readonly
*/
private MavenSettingsBuilder mavenSettingsBuilder;
...
URL url = file.getURL();
String endPointUrl = url.getProtocol() +
"://" + url.getAuthority();
// Repository Id should be ignored by Wagon ...
Repository repository = new Repository(
"additonal-configs", endPointUrl );
Wagon wagon = wagonManager.getWagon( repository );;
if ( logger.isDebugEnabled() )
{
Debug debug = new Debug();
wagon.addSessionListener( debug );
wagon.addTransferListener( debug );
}
wagon.setTimeout( 1000 );
Settings settings =
mavenSettingsBuilder.buildSettings();
ProxyInfo proxyInfo = null;
if ( settings != null &&
settings.getActiveProxy() != null )
{
Proxy settingsProxy = settings.getActiveProxy();
proxyInfo = new ProxyInfo();
proxyInfo.setHost( settingsProxy.getHost() );
proxyInfo.setType(
settingsProxy.getProtocol() );
proxyInfo.setPort( settingsProxy.getPort() );
proxyInfo.setNonProxyHosts(
settingsProxy.getNonProxyHosts() );
proxyInfo.setUserName(
settingsProxy.getUsername() );
proxyInfo.setPassword(
settingsProxy.getPassword() );
}
if ( proxyInfo != null )
{
wagon.connect( repository,
wagonManager.getAuthenticationInfo( repository.getId() ), proxyInfo );
}
else
{
wagon.connect( repository,
wagonManager.getAuthenticationInfo( repository.getId() ) );
}
wagon.get( url.getPath(), projectRelativeFile );
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]