You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm-commits@maven.apache.org by ev...@apache.org on 2006/02/03 19:01:09 UTC
svn commit: r374716 - in
/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn: ./
src/main/java/org/apache/maven/scm/provider/svn/command/
src/main/java/org/apache/maven/scm/provider/svn/util/ src/main/mdo/
Author: evenisse
Date: Fri Feb 3 10:01:01 2006
New Revision: 374716
URL: http://svn.apache.org/viewcvs?rev=374716&view=rev
Log:
[SCM-148] Allow to define --config-dir svn option
Added:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java (with props)
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/svn-settings.mdo
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/pom.xml
maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommandLineUtils.java
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/pom.xml
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/pom.xml?rev=374716&r1=374715&r2=374716&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/pom.xml (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/pom.xml Fri Feb 3 10:01:01 2006
@@ -15,4 +15,26 @@
<version>1.3</version>
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <version>1.0-alpha-6</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>java</goal>
+ <goal>xpp3-reader</goal>
+ <goal>xsd</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <version>1.0.0</version>
+ <model>src/main/mdo/svn-settings.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommandLineUtils.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommandLineUtils.java?rev=374716&r1=374715&r2=374716&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommandLineUtils.java (original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/command/SvnCommandLineUtils.java Fri Feb 3 10:01:01 2006
@@ -18,6 +18,7 @@
import org.apache.maven.scm.log.ScmLogger;
import org.apache.maven.scm.provider.svn.repository.SvnScmProviderRepository;
+import org.apache.maven.scm.provider.svn.util.SvnUtil;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.cli.CommandLineException;
import org.codehaus.plexus.util.cli.CommandLineUtils;
@@ -49,6 +50,17 @@
cl.setExecutable( "svn" );
cl.setWorkingDirectory( workingDirectory.getAbsolutePath() );
+
+ if ( !StringUtils.isEmpty( System.getProperty( "maven.scm.svn.config_directory" ) ) )
+ {
+ cl.createArgument().setValue( "--config-dir" );
+ cl.createArgument().setValue( System.getProperty( "maven.scm.svn.config_directory" ) );
+ }
+ else if ( !StringUtils.isEmpty( SvnUtil.getSettings().getConfigDirectory() ) )
+ {
+ cl.createArgument().setValue( "--config-dir" );
+ cl.createArgument().setValue( SvnUtil.getSettings().getConfigDirectory() );
+ }
if ( !StringUtils.isEmpty( repository.getUser() ) )
{
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java?rev=374716&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java Fri Feb 3 10:01:01 2006
@@ -0,0 +1,66 @@
+package org.apache.maven.scm.provider.svn.util;
+
+/*
+ * Copyright 2001-2006 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import org.apache.maven.scm.providers.svn.settings.Settings;
+import org.apache.maven.scm.providers.svn.settings.io.xpp3.SvnXpp3Reader;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
+ * @version $Id$
+ */
+public class SvnUtil
+{
+ private SvnUtil()
+ {
+ }
+
+ public static Settings getSettings()
+ {
+ File scmUserDir = new File( System.getProperty( "user.dir" ), ".scm" );
+ File settingsFile = new File( scmUserDir, "svn-settings.xml" );
+
+ if ( settingsFile.exists() )
+ {
+ SvnXpp3Reader reader = new SvnXpp3Reader();
+ try
+ {
+ return reader.read( new FileReader( settingsFile ) );
+ }
+ catch ( FileNotFoundException e )
+ {
+ }
+ catch ( IOException e )
+ {
+ }
+ catch ( XmlPullParserException e )
+ {
+ String message = settingsFile.getAbsolutePath() + " isn't well formed. SKIPPED." + e.getMessage();
+
+ System.out.println( message );
+ }
+ }
+
+ return new Settings();
+ }
+}
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/java/org/apache/maven/scm/provider/svn/util/SvnUtil.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/svn-settings.mdo
URL: http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/svn-settings.mdo?rev=374716&view=auto
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/svn-settings.mdo (added)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-svn/src/main/mdo/svn-settings.mdo Fri Feb 3 10:01:01 2006
@@ -0,0 +1,28 @@
+<model>
+ <id>svn</id>
+ <name>Svn</name>
+ <description>SVN Provider Model.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.scm.providers.svn.settings</value>
+ </default>
+ </defaults>
+
+ <classes>
+ <class rootElement="true" xml.tagName="svn-settings">
+ <name>Settings</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field>
+ <name>configDirectory</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description><![CDATA[
+ Instructs Subversion to read configuration information from the specified directory instead of the default location.
+ ]]></description>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>