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)