On 5/8/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

Author: maartenc
Date: Tue May  8 14:50:22 2007
New Revision: 536344

URL: http://svn.apache.org/viewvc?view=rev&rev=536344
Log:
bootstrap Ivy (instead of downloading a previous version) to resolve our
own dependencies...
[...]

Modified:
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
URL:
http://svn.apache.org/viewvc/incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java?view=diff&rev=536344&r1=536343&r2=536344

==============================================================================
---
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
(original)
+++
incubator/ivy/core/trunk/src/java/org/apache/ivy/core/settings/IvySettings.java
Tue May  8 14:50:22 2007
@@ -22,6 +22,7 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.lang.reflect.Field;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
@@ -55,7 +56,6 @@
import org.apache.ivy.plugins.latest.LatestTimeStrategy;
import org.apache.ivy.plugins.matcher.ExactOrRegexpPatternMatcher;
import org.apache.ivy.plugins.matcher.ExactPatternMatcher;
-import org.apache.ivy.plugins.matcher.GlobPatternMatcher;
import org.apache.ivy.plugins.matcher.ModuleIdMatcher;
import org.apache.ivy.plugins.matcher.PatternMatcher;
import org.apache.ivy.plugins.matcher.RegexpPatternMatcher;
@@ -179,7 +179,15 @@
         addMatcher(ExactPatternMatcher.INSTANCE);
         addMatcher(RegexpPatternMatcher.INSTANCE);
         addMatcher(ExactOrRegexpPatternMatcher.INSTANCE);
-        addMatcher(GlobPatternMatcher.INSTANCE);
+
+        try {
+            // GlobPatternMatcher is optional. Only add it when
available.
+                       Class globClazz = IvySettings.class.getClassLoader
().loadClass("org.apache.ivy.plugins.matcher.GlobPatternMatcher");
+                       Field instanceField = globClazz.getField
("INSTANCE");
+                       addMatcher((PatternMatcher) instanceField.get
(null));
+               } catch (Exception e) {
+                       // ignore: the matcher isn't on the classpath
+               }


Maybe we should add some logging at verbose level to notify if glob pattern
matcher has been loaded or not?

Xavier

Reply via email to