You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-dev@incubator.apache.org by Xavier Hanin <xa...@gmail.com> on 2007/05/08 23:12:37 UTC
Re: svn commit: r536344 - in /incubator/ivy/core/trunk: ant.patterns build.properties build.xml optional.patterns src/java/org/apache/ivy/core/settings/IvySettings.java src/java/org/apache/ivy/util/url/URLHandlerRegistry.java
On 5/8/07, maartenc@apache.org <ma...@apache.org> 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