[jboss-svn-commits] JBL Code SVN: r25601 - labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin/src/main/java/org/jboss/maven/plugins/jdocbook.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Mar 11 15:30:42 EDT 2009
Author: steve.ebersole at jboss.com
Date: 2009-03-11 15:30:42 -0400 (Wed, 11 Mar 2009)
New Revision: 25601
Modified:
labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin/src/main/java/org/jboss/maven/plugins/jdocbook/AbstractDocBookMojo.java
Log:
MPJDOCBOOK-14 - http proxy support
Modified: labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin/src/main/java/org/jboss/maven/plugins/jdocbook/AbstractDocBookMojo.java
===================================================================
--- labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin/src/main/java/org/jboss/maven/plugins/jdocbook/AbstractDocBookMojo.java 2009-03-11 18:57:15 UTC (rev 25600)
+++ labs/jbossbuild/maven-plugins/trunk/maven-jdocbook-plugin/src/main/java/org/jboss/maven/plugins/jdocbook/AbstractDocBookMojo.java 2009-03-11 19:30:42 UTC (rev 25601)
@@ -41,6 +41,8 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectHelper;
import org.apache.maven.execution.MavenSession;
+import org.apache.maven.settings.Settings;
+import org.apache.maven.settings.Proxy;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.jboss.jdocbook.JDocBookProcessException;
import org.jboss.jdocbook.Log;
@@ -78,6 +80,15 @@
protected MavenSession session;
/**
+ * INTERNAL : The user settings (used to locate http proxy information).
+ *
+ * @parameter expression="${settings}"
+ * @required
+ * @readonly
+ */
+ protected Settings settings;
+
+ /**
* INTERNAL : The artifacts associated with the dependencies defined as part
* of the project to which we are being attached.
*
@@ -256,6 +267,54 @@
protected void process(FormatPlan[] formatPlans) throws JDocBookProcessException {
}
+ private void doExecuteWithProxy(Proxy proxy) throws JDocBookProcessException {
+ String originalHost = null;
+ String originalPort = null;
+ String originalUser = null;
+ String originalPswd = null;
+
+ // First set up jvm environemnt with the proxy settings (storing the original values for later)
+ if ( ! empty( proxy.getHost() ) ) {
+ originalHost = System.getProperty( "http.proxyHost" );
+ System.setProperty( "http.proxyHost", proxy.getHost() );
+
+ originalPort = System.getProperty( "http.proxyPort" );
+ System.setProperty( "http.proxyPort", Integer.toString( proxy.getPort() ) );
+ }
+
+ if ( !empty( proxy.getUsername() ) ) {
+ originalUser = System.getProperty( "http.proxyUser" );
+ System.setProperty( "http.proxyUser", proxy.getUsername() );
+ }
+
+ if ( ! empty( proxy.getPassword() ) ) {
+ originalPswd = System.getProperty( "http.proxyPassword" );
+ System.setProperty( "http.proxyPassword", proxy.getPassword() );
+ }
+
+ try {
+ // Do the processing
+ doExecute();
+ }
+ finally {
+ // Restore the original settings
+ if ( ! empty( proxy.getHost() ) ) {
+ System.setProperty( "http.proxyHost", originalHost );
+ System.setProperty( "http.proxyPort", originalPort );
+ }
+ if ( !empty( proxy.getUsername() ) ) {
+ System.setProperty( "http.proxyUser", originalUser );
+ }
+ if ( !empty( proxy.getPassword() ) ) {
+ System.setProperty( "http.proxyPassword", originalPswd );
+ }
+ }
+ }
+
+ private boolean empty(String string) {
+ return string == null || "".equals( string );
+ }
+
protected void doExecute() throws JDocBookProcessException {
process( determineFormatPlans() );
}
@@ -289,7 +348,12 @@
}
try {
- doExecute();
+ if ( settings.getActiveProxy() != null ) {
+ doExecuteWithProxy( settings.getActiveProxy() );
+ }
+ else {
+ doExecute();
+ }
}
catch ( XSLTException e ) {
throw new MojoExecutionException( "XSLT problem", e );
More information about the jboss-svn-commits
mailing list