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