Author: olamy
Date: Tue Sep 4 10:32:49 2012
New Revision: 1380528
URL: http://svn.apache.org/viewvc?rev=1380528&view=rev
Log:
add a parameter if folks want avoid automatic remote path creation for svn
Modified:
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
Modified:
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java?rev=1380528&r1=1380527&r2=1380528&view=diff
==============================================================================
---
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
(original)
+++
maven/plugins/trunk/maven-scm-publish-plugin/src/main/java/org/apache/maven/plugins/scmpublish/AbstractScmPublishMojo.java
Tue Sep 4 10:32:49 2012
@@ -173,6 +173,12 @@ public abstract class AbstractScmPublish
@Parameter ( property = "scmpublish.scm.branch" )
protected String scmBranch;
+ /**
+ * for svn avoid automatic remote url create
+ */
+ @Parameter ( property = "scmpublish.automaticRemotePatCreation",
defaultValue = "true" )
+ protected boolean automaticRemotePatCreation;
+
protected ScmProvider scmProvider;
protected ScmRepository scmRepository;
@@ -253,10 +259,12 @@ public abstract class AbstractScmPublish
getLog().debug( "use AbstractSvnScmProvider so we can check if
remote url exists and create it" );
AbstractSvnScmProvider svnScmProvider =
(AbstractSvnScmProvider) scmProvider;
-
+ String remoteUrl = ( (SvnScmProviderRepository)
scmRepository.getProviderRepository() ).getUrl();
boolean remoteExists = svnScmProvider.remoteUrlExist(
scmRepository.getProviderRepository(), null );
- if ( !remoteExists )
+
+ if ( !remoteExists && automaticRemotePatCreation )
{
+ logInfo( "remote url %s not exists so create it",
remoteUrl );
// create a temporary directory for svnexec
baseDir = File.createTempFile( "scm", "tmp" );
baseDir.delete();
@@ -266,9 +274,20 @@ public abstract class AbstractScmPublish
CommandParameters commandParameters = new
CommandParameters();
commandParameters.setString(
CommandParameter.SCM_MKDIR_CREATE_IN_LOCAL, Boolean.FALSE.toString() );
- commandParameters.setString( CommandParameter.MESSAGE,
"automatic path creation:"
- + ( (SvnScmProviderRepository)
scmRepository.getProviderRepository() ).getUrl() );
+ commandParameters.setString( CommandParameter.MESSAGE,
"automatic path creation: " + remoteUrl );
svnScmProvider.mkdir(
scmRepository.getProviderRepository(), scmFileSet, commandParameters );
+
+ // new remote url so force checkout !
+ if ( checkoutDirectory.exists() )
+ {
+ FileUtils.deleteDirectory( checkoutDirectory );
+ }
+ }
+ else
+ {
+ //olamy: return ?? that will fail during checkout IMHO :-)
+ logInfo( "remote url %s not exists and not create it as
field %s configured to false", remoteUrl,
+ Boolean.toString( automaticRemotePatCreation ) );
}
}
catch ( IOException e )