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
