You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Pascal Schumacher (JIRA)" <ji...@apache.org> on 2015/06/04 21:17:39 UTC

[jira] [Updated] (GROOVY-7018) GroovyClassLoader addClasspath RegexPattern issue

     [ https://issues.apache.org/jira/browse/GROOVY-7018?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pascal Schumacher updated GROOVY-7018:
--------------------------------------
    Fix Version/s:     (was: 2.4.4)

> GroovyClassLoader addClasspath RegexPattern issue
> -------------------------------------------------
>
>                 Key: GROOVY-7018
>                 URL: https://issues.apache.org/jira/browse/GROOVY-7018
>             Project: Groovy
>          Issue Type: Bug
>          Components: GroovyScriptEngine
>    Affects Versions: 2.3.6
>         Environment: JDK 1.7u51
>            Reporter: Stefan Leonhartsberger
>
> When adding Groovy Files from the file system to the GroovyClassLoader's classpath grabbed from a default java properties file ("/" instead of "\"))
> Then the addClasspath() method uses a simple URL instead of the File URL
> This is due to a simple mistake in this mentioned method:
> {code}
> public void addClasspath(final String path) {
> ....
>      if (!URI_PATTERN.matcher(path).matches()) {
>           newURI = new File(path).toURI();
>      } else {
>           newURI = new URI(path);
>      }
> }
> private static final Pattern URI_PATTERN = Pattern.compile("\\p{Alpha}[-+.\\p{Alnum}]*:[^\\\\]*");
> {code}
> The URI_PATTERN which should match "URIs but not Windows filenames" doesn't work as expected.
> It matches i.e. C:/xxx/file.ext 
> This is related to using forward instead of backslashes - which souldn't matter.
> This was i.e. NOT the case for Groovy 2.1.3



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)