Revision: 108
          http://mvn-infix.svn.sourceforge.net/mvn-infix/?rev=108&view=rev
Author:   bindul
Date:     2011-02-14 00:57:36 +0000 (Mon, 14 Feb 2011)

Log Message:
-----------
Work in progress to have tests succeed with:
1. Mac OS-X
2. Maven plugin plugin v2.7

Modified Paths:
--------------
    
plugins/sfnet-mvnrepo-plugin/trunk/src/main/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SftpDirectoryScanner.java
    plugins/sfnet-mvnrepo-plugin/trunk/src/main/mdo/mvn-repo-config.mdo
    
plugins/sfnet-mvnrepo-plugin/trunk/src/main/resources/velocity/repositories.inc.vm
    
plugins/sfnet-mvnrepo-plugin/trunk/src/test/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SFTPParseTest.java

Modified: 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SftpDirectoryScanner.java
===================================================================
--- 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SftpDirectoryScanner.java
       2011-02-14 00:56:09 UTC (rev 107)
+++ 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SftpDirectoryScanner.java
       2011-02-14 00:57:36 UTC (rev 108)
@@ -20,6 +20,7 @@
  */
 package com.mindtree.techworks.infix.plugins.sfnetmvnrepo.mapper.sfnetsftp;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -37,6 +38,7 @@
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
 import org.codehaus.plexus.util.AbstractScanner;
 import org.codehaus.plexus.util.SelectorUtils;
+import org.codehaus.plexus.util.StringUtils;
 
 import com.jcraft.jsch.Channel;
 import com.jcraft.jsch.ChannelSftp;
@@ -267,22 +269,32 @@
        private void initialize0 () {
                // Set up the filters
                if (null != configuration.getIncludes() && 
!configuration.getIncludes().isEmpty()) {
-                       includes = configuration.getIncludes().toArray(new 
String[configuration.getIncludes().size()]);
+                       List<String> tempIncl = configuration.getIncludes();
+                       includes = new String[tempIncl.size()];
+                       for (int i = 0; i < tempIncl.size(); i++) {
+                               includes[i] = normalizePattern(tempIncl.get(i));
+                       }
                }
                if (null != configuration.getExcludes() && 
!configuration.getExcludes().isEmpty()) {
                        // Add default excludes
                        List<String> excl = new ArrayList<String>();
                        
excl.addAll(Arrays.asList(AbstractScanner.DEFAULTEXCLUDES));
                        excl.addAll(configuration.getExcludes());
-                       excludes = excl.toArray(new String[excl.size()]);
+                       excludes = new String[excl.size()];
+                       for (int i = 0; i < excl.size(); i++) {
+                               excludes[i] = normalizePattern(excl.get(i));
+                       }
                } else {
-                       excludes = AbstractScanner.DEFAULTEXCLUDES;
+                       excludes = new 
String[AbstractScanner.DEFAULTEXCLUDES.length];
+                       for (int i = 0; i < 
AbstractScanner.DEFAULTEXCLUDES.length; i++) {
+                               excludes[i] = 
normalizePattern(AbstractScanner.DEFAULTEXCLUDES[i]);
+                       }
                }
                
                // The defaults and stuff
                if ( includes == null ) {
                        // No includes supplied, so set it to 'matches all'
-                       includes = new String[] {"**"};
+                       includes = new String[] {normalizePattern("**")};
                }
                if ( excludes == null ) {
                        excludes = new String[0];
@@ -321,8 +333,8 @@
                
                session = null;
                try {
-                       log.info("Opening SSH session to : " + userId + "@" + 
configuration.getFrsHost() + ":22");
-                       session = jsch.getSession(userId, 
configuration.getFrsHost(), 22);
+                       log.info("Opening SSH session to : " + userId + "@" + 
configuration.getFrsHost() + ":" + configuration.getFrsPort());
+                       session = jsch.getSession(userId, 
configuration.getFrsHost(), configuration.getFrsPort());
                        
                        // Get the user info
                        SfNetFRSUserInfo userInfo = 
container.lookup(SfNetFRSUserInfo.class);
@@ -415,4 +427,33 @@
        protected static boolean isNullOrEmpty (String test) {
                return (null == test || test.trim().length() == 0);
        }
+       
+       /**
+        * Normalizes the pattern, e.g. converts forward and backward slashes 
to the
+        * platform-specific file separator.
+        * 
+        * @param pattern
+        *            The pattern to normalize, must not be <code>null</code>.
+        * @return The normalized pattern, never <code>null</code>.
+        */
+       private String normalizePattern(String pattern) {
+               pattern = pattern.trim();
+
+               if (pattern.startsWith(SelectorUtils.REGEX_HANDLER_PREFIX)) {
+                       if (File.separatorChar == '\\') {
+                               pattern = StringUtils.replace(pattern, "/", 
"\\\\");
+                       } else {
+                               pattern = StringUtils.replace(pattern, "\\\\", 
"/");
+                       }
+               } else {
+                       pattern = pattern.replace(File.separatorChar == '/' ? 
'\\' : '/',
+                                       File.separatorChar);
+
+                       if (pattern.endsWith(File.separator)) {
+                               pattern += "**";
+                       }
+               }
+
+               return pattern;
+       }
 }

Modified: plugins/sfnet-mvnrepo-plugin/trunk/src/main/mdo/mvn-repo-config.mdo
===================================================================
--- plugins/sfnet-mvnrepo-plugin/trunk/src/main/mdo/mvn-repo-config.mdo 
2011-02-14 00:56:09 UTC (rev 107)
+++ plugins/sfnet-mvnrepo-plugin/trunk/src/main/mdo/mvn-repo-config.mdo 
2011-02-14 00:57:36 UTC (rev 108)
@@ -190,6 +190,13 @@
                                        
<defaultValue>frs.sourceforge.net</defaultValue>
                                        <type>String</type>
                                </field>
+                               <field>
+                                   <name>frsPort</name>
+                                   <version>0.1.0+</version>
+                                   <description>The port to use on the FRS 
host to get files through SFTP. If not specified defaults to 22</description>
+                                   <type>int</type>
+                                   <defaultValue>22</defaultValue>
+                               </field>
                                <field xml.attribute="true">
                                        <name>baseDir</name>
                                        <version>0.1.0+</version>

Modified: 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/resources/velocity/repositories.inc.vm
===================================================================
--- 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/resources/velocity/repositories.inc.vm
  2011-02-14 00:56:09 UTC (rev 107)
+++ 
plugins/sfnet-mvnrepo-plugin/trunk/src/main/resources/velocity/repositories.inc.vm
  2011-02-14 00:57:36 UTC (rev 108)
@@ -1,5 +1,4 @@
 #* 
- *
  * Copyright (c) 2010 MindTree Ltd.
  * 
  * This file is part of Infix Maven Plugins.

Modified: 
plugins/sfnet-mvnrepo-plugin/trunk/src/test/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SFTPParseTest.java
===================================================================
--- 
plugins/sfnet-mvnrepo-plugin/trunk/src/test/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SFTPParseTest.java
      2011-02-14 00:56:09 UTC (rev 107)
+++ 
plugins/sfnet-mvnrepo-plugin/trunk/src/test/java/com/mindtree/techworks/infix/plugins/sfnetmvnrepo/mapper/sfnetsftp/SFTPParseTest.java
      2011-02-14 00:57:36 UTC (rev 108)
@@ -47,7 +47,7 @@
 public class SFTPParseTest extends AbstractRepoMapTest {
        
        @Rule
-       public SSHServerResource sshServer = new SSHServerResource("test", 22, 
"127.0.0.1");
+       public SSHServerResource sshServer = new SSHServerResource("test", 
4022, "127.0.0.1");
 
        /**
         * Test method for {@link 
com.mindtree.techworks.infix.plugins.sfnetmvnrepo.mapper.sfnetsftp.SfNetFRSParserMapGenerator#generateRepositoryMap(com.mindtree.techworks.infix.plugins.sfnetmvnrepo.model.repoconfig.v0_1_0.SourceForgeFRSMapper,
 com.mindtree.techworks.infix.plugins.sfnetmvnrepo.SfNetMvnMojoInfo)}.
@@ -146,6 +146,7 @@
                
                
mapper.setBaseUrl("http://sourceforge.net/projects/mvn-infix/files/";);
                mapper.setFrsHost("localhost");
+               mapper.setFrsPort(4022);
                mapper.setPassword("test");
                mapper.setUserId("test");
                


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
mvn-Infix-commits mailing list
mvn-Infix-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mvn-infix-commits

Reply via email to