You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by ma...@apache.org on 2009/11/22 23:19:00 UTC
svn commit: r883156 - in /ant/ivy/core/trunk: CHANGES.txt
src/java/org/apache/ivy/core/IvyPatternHelper.java
test/java/org/apache/ivy/util/IvyPatternHelperTest.java
Author: maartenc
Date: Sun Nov 22 22:18:59 2009
New Revision: 883156
URL: http://svn.apache.org/viewvc?rev=883156&view=rev
Log:
FIX: ivy:retrieve sync="true" does nothing if first variable is optional (IVY-1142) (thanks to Andreas Axelsson)
Modified:
ant/ivy/core/trunk/CHANGES.txt
ant/ivy/core/trunk/src/java/org/apache/ivy/core/IvyPatternHelper.java
ant/ivy/core/trunk/test/java/org/apache/ivy/util/IvyPatternHelperTest.java
Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=883156&r1=883155&r2=883156&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Sun Nov 22 22:18:59 2009
@@ -16,6 +16,7 @@
Ingo Adler
alex322
Mathieu Anquetin
+ Andreas Axelsson
Stephane Bailliez
Karl Baum
Mikkel Bjerg
@@ -98,6 +99,7 @@
- IMPROVEMENT: Trace a message when a property file referenced from the settings doesn't exixts (IVY-1074)
- IMPROVEMENT: use defaultconf in combination with defaultconfmapping (IVY-1135) (thanks to Jon Schneider)
+- FIX: ivy:retrieve sync="true" does nothing if first variable is optional (IVY-1142) (thanks to Andreas Axelsson)
- FIX: Latest Compatible Conflict Manager + Extra Attributes in Dependencies' IVY files == infinite loop (IVY-956)
- FIX: Resolve with Extra Attributes, Forced Dependencies causes invalid delivered ivy file (IVY-1079)
- FIX: ResolveEngine.getDependencies does not work using extra attributes (IVY-1115)
Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/core/IvyPatternHelper.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/core/IvyPatternHelper.java?rev=883156&r1=883155&r2=883156&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/core/IvyPatternHelper.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/core/IvyPatternHelper.java Sun Nov 22 22:18:59 2009
@@ -475,6 +475,12 @@
if (index == -1) {
return pattern;
} else {
+ // it could be that pattern is something like "lib/([optional]/)[module]"
+ // we don't want the '(' in the result
+ int optionalIndex = pattern.indexOf('(');
+ if (optionalIndex >= 0) {
+ index = Math.min(index, optionalIndex);
+ }
return pattern.substring(0, index);
}
}
Modified: ant/ivy/core/trunk/test/java/org/apache/ivy/util/IvyPatternHelperTest.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/test/java/org/apache/ivy/util/IvyPatternHelperTest.java?rev=883156&r1=883155&r2=883156&view=diff
==============================================================================
--- ant/ivy/core/trunk/test/java/org/apache/ivy/util/IvyPatternHelperTest.java (original)
+++ ant/ivy/core/trunk/test/java/org/apache/ivy/util/IvyPatternHelperTest.java Sun Nov 22 22:18:59 2009
@@ -69,4 +69,13 @@
pattern, "apache", "Test", "1.0", "test", "jar", "jar"));
}
+ public void testTokenRoot() {
+ String pattern = "lib/[type]/[artifact].[ext]";
+ assertEquals("lib/", IvyPatternHelper.getTokenRoot(pattern));
+ }
+
+ public void testTokenRootWithOptionalFirstToken() {
+ String pattern = "lib/([type]/)[artifact].[ext]";
+ assertEquals("lib/", IvyPatternHelper.getTokenRoot(pattern));
+ }
}