[ 
https://issues.apache.org/jira/browse/GROOVY-7018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14609643#comment-14609643
 ] 

ASF GitHub Bot commented on GROOVY-7018:
----------------------------------------

Github user Persi commented on a diff in the pull request:

    https://github.com/apache/incubator-groovy/pull/43#discussion_r33652610
  
    --- Diff: src/main/groovy/ui/GroovyMain.java ---
    @@ -391,17 +391,16 @@ public String getText(String uriOrFilename) throws 
IOException {
         protected GroovyCodeSource getScriptSource(boolean isScriptFile, 
String script) throws IOException, URISyntaxException {
             //check the script is currently valid before starting a server 
against the script
             if (isScriptFile) {
    -            if (uriPattern.matcher(script).matches()) {
    +            // search for the file and if it exists don't try to use URIs 
...
    +            File scriptFile = huntForTheScriptFile(script);
    +            if (!scriptFile.exists() && 
uriPattern.matcher(script).matches()) {
                     return new GroovyCodeSource(new URI(script));
    -            } else {
    -                return new GroovyCodeSource(huntForTheScriptFile(script));
                 }
    -        } else {
    -            return new GroovyCodeSource(script, 
"script_from_command_line", GroovyShell.DEFAULT_CODE_BASE);
    +            return new GroovyCodeSource(huntForTheScriptFile(script));
    --- End diff --
    
    Hello Paul,
    
    indeed I could reduce the calls to "huntForTheScriptFile" to one.
    
    I'll commit it.



> 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)

Reply via email to