Author: drazzib
Date: 2010-03-27 02:14:00 +0000 (Sat, 27 Mar 2010)
New Revision: 11946

Modified:
   trunk/maven-repo-helper/
   trunk/maven-repo-helper/debian/changelog
   
trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java
   trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java
   trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed
Log:
* Rule.java: harden our handling of version string (from pom.xml)
  to cope with specials chars.
* POMTransformer: If we can't find a dependency, just skip it.


Property changes on: trunk/maven-repo-helper
___________________________________________________________________
Added: svn:ignore
   + .classpath
.project
bin


Modified: trunk/maven-repo-helper/debian/changelog
===================================================================
--- trunk/maven-repo-helper/debian/changelog    2010-03-26 23:29:29 UTC (rev 
11945)
+++ trunk/maven-repo-helper/debian/changelog    2010-03-27 02:14:00 UTC (rev 
11946)
@@ -1,3 +1,11 @@
+maven-repo-helper (1.0.6) UNRELEASED; urgency=low
+
+  * Rule.java: harden our handling of version string (from pom.xml)
+    to cope with specials chars.
+  * POMTransformer: If we can't find a dependency, just skip it.
+
+ -- Damien Raude-Morvan <[email protected]>  Sat, 27 Mar 2010 03:13:11 +0100
+
 maven-repo-helper (1.0.5) unstable; urgency=low
 
   * mh_installjar: Add new -e/--set-version switchs and handle

Modified: 
trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java
===================================================================
--- 
trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java 
    2010-03-26 23:29:29 UTC (rev 11945)
+++ 
trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/POMTransformer.java 
    2010-03-27 02:14:00 UTC (rev 11946)
@@ -327,7 +327,8 @@
                                     int index = inc(dependencyIndexes, 
POMInfo.EXTENSIONS);
                                     dependency = (Dependency) 
info.getExtensions().get(index);
                                 }
-                                if (!acceptDependency(dependency, info)) {
+                                // Skip dependency if we can't find it (== 
null)
+                                if (dependency == null || 
!acceptDependency(dependency, info)) {
                                     inIgnoredElement++;
                                     inLevel--;
                                     path.remove(path.size() - 1);

Modified: trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java
===================================================================
--- trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java       
2010-03-26 23:29:29 UTC (rev 11945)
+++ trunk/maven-repo-helper/src/main/java/org/debian/maven/repo/Rule.java       
2010-03-27 02:14:00 UTC (rev 11946)
@@ -19,8 +19,9 @@
             pattern = Pattern.compile(st.nextToken());
             replace = st.nextToken();
         } else {
-            pattern = Pattern.compile(rule.replace(".", "\\.").replace("*", 
"(.*)"));
-            replace = rule.replace("*", "$1");
+            String pat = escapeParameters(rule.replace(".", 
"\\.").replace("*", "(.*)"));
+           pattern = Pattern.compile(pat);
+            replace = escapeGroupMatch(rule).replace("*", "$1");
         }
     }
 
@@ -42,7 +43,6 @@
                 m.appendReplacement(sb, replace);
             }
         }
-       // m.appendTail(sb);
         return sb.toString();
     }
 
@@ -81,4 +81,24 @@
     public String toString() {
         return rule;
     }
-}
\ No newline at end of file
+    
+    /**
+     * Escape (ie. preprend \\) characters which can be specials chars for 
regexp.
+     * 
+     * @param value Input chars
+     * @return Escaped output chars
+     */
+    private String escapeParameters(String value) {
+       return escapeGroupMatch(value).replace("{", "\\{").replace("}", "\\}");
+    }
+    
+    /**
+     * Escape (ie. preprend \\) characters which can be group identifiers for 
replace
+     * 
+     * @param value Input chars
+     * @return Escaped output chars
+     */
+    private String escapeGroupMatch(String value) {
+       return value.replace("$", "\\$");
+    }
+}

Modified: trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed
===================================================================
--- trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed 
2010-03-26 23:29:29 UTC (rev 11945)
+++ trunk/maven-repo-helper/src/test/resources/antlr3-tools.transformed 
2010-03-27 02:14:00 UTC (rev 11946)
@@ -63,7 +63,6 @@
                                                </goals>
                                        </execution>
                                </executions>
-                               <version>2.1</version>
                        </plugin>
                        <plugin>
                                <artifactId>maven-compiler-plugin</artifactId>


_______________________________________________
pkg-java-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits

Reply via email to