Author: evenisse
Date: Tue Jan 31 13:03:42 2006
New Revision: 373910
URL: http://svn.apache.org/viewcvs?rev=373910&view=rev
Log:
[SCM-22] Allow to configure path of ss.exe
Added:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/pom.xml
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
Modified: maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/pom.xml
URL:
http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/pom.xml?rev=373910&r1=373909&r2=373910&view=diff
==============================================================================
--- maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/pom.xml
(original)
+++ maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/pom.xml Tue Jan
31 13:03:42 2006
@@ -8,4 +8,26 @@
<artifactId>maven-scm-provider-vss</artifactId>
<version>1.0-beta-3-SNAPSHOT</version>
<name>Maven SCM Visual Source Safe Provider</name>
+ <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/vss-settings.mdo</model>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Modified:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
URL:
http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java?rev=373910&r1=373909&r2=373910&view=diff
==============================================================================
---
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
(original)
+++
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/java/org/apache/maven/scm/provider/vss/commands/changelog/VssHistoryCommand.java
Tue Jan 31 13:03:42 2006
@@ -24,9 +24,17 @@
import org.apache.maven.scm.provider.vss.commands.VssCommandLineUtils;
import org.apache.maven.scm.provider.vss.commands.VssConstants;
import org.apache.maven.scm.provider.vss.repository.VssScmProviderRepository;
+import org.apache.maven.scm.providers.vss.settings.Settings;
+import org.apache.maven.scm.providers.vss.settings.io.xpp3.VssXpp3Reader;
+import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.cli.CommandLineUtils;
import org.codehaus.plexus.util.cli.Commandline;
+import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
@@ -34,6 +42,34 @@
public class VssHistoryCommand
extends AbstractChangeLogCommand
{
+ private static Settings settings;
+
+ static
+ {
+ File scmUserHome = new File( System.getProperty( "user.home" ), ".scm"
);
+ File settingsFile = new File( scmUserHome, "vss-settings.xml" );
+ if ( settingsFile.exists() )
+ {
+ VssXpp3Reader reader = new VssXpp3Reader();
+ try
+ {
+ settings = 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 );
+ }
+ }
+ }
+
protected ChangeLogScmResult executeChangeLogCommand(
ScmProviderRepository repository, ScmFileSet fileSet,
Date startDate, Date
endDate, int numDays, String branch )
throws ScmException
@@ -75,7 +111,20 @@
command.addEnvironment( "SSDIR", repo.getVssdir() );
- command.setExecutable( VssConstants.SS_EXE );
+ String ssDir = "";
+
+ if ( settings != null )
+ {
+ ssDir = settings.getVssDirectory();
+
+ ssDir = StringUtils.replace( ssDir, "\\", "/" );
+
+ if ( !ssDir.endsWith( "/" ) )
+ {
+ ssDir += "/";
+ }
+ }
+ command.setExecutable( ssDir + VssConstants.SS_EXE );
command.createArgument().setValue( VssConstants.COMMAND_HISTORY );
Added:
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo
URL:
http://svn.apache.org/viewcvs/maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo?rev=373910&view=auto
==============================================================================
---
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo
(added)
+++
maven/scm/trunk/maven-scm-providers/maven-scm-provider-vss/src/main/mdo/vss-settings.mdo
Tue Jan 31 13:03:42 2006
@@ -0,0 +1,26 @@
+<model>
+ <id>vss</id>
+ <name>Vss</name>
+ <description>VSS Provider Model.</description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>org.apache.maven.scm.providers.vss.settings</value>
+ </default>
+ </defaults>
+
+ <classes>
+ <class rootElement="true" xml.tagName="vss-settings">
+ <name>Settings</name>
+ <version>1.0.0+</version>
+ <fields>
+ <field>
+ <name>vssDirectory</name>
+ <version>1.0.0+</version>
+ <type>String</type>
+ <description>Visual Source Safe path</description>
+ </field>
+ </fields>
+ </class>
+ </classes>
+</model>