groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GROOVY-8295) Groovyc ant task can overflow Windows command line if classpath is large
Date Tue, 07 Nov 2017 02:32:00 GMT

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

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

GitHub user paulk-asert opened a pull request:

    https://github.com/apache/groovy/pull/629

    GROOVY-8295: Groovyc ant task can overflow Windows command line if cl…

    …asspath is large. PR based on Eric's patch in the related issue.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paulk-asert/groovy groovy8295

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/groovy/pull/629.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #629
    
----
commit b34e1b00101470659fbadf0f23952207d4bfb63b
Author: paulk <paulk@asert.com.au>
Date:   2017-11-07T02:30:10Z

    GROOVY-8295: Groovyc ant task can overflow Windows command line if classpath is large

----


> Groovyc ant task can overflow Windows command line if classpath is large
> ------------------------------------------------------------------------
>
>                 Key: GROOVY-8295
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8295
>             Project: Groovy
>          Issue Type: Bug
>          Components: Ant integration
>         Environment: Windows
>            Reporter: Eric Milles
>         Attachments: Groovyc.patch
>
>
> The groovyc ant adapter tries to account for the 32K command line length limit on windows
in its addSourceFiles method.  However, if the command line gets long for other reasons --
we include a number of libraries in our compiled projects -- the command line can still be
overflown.
> This results in:
> {code}
> CompileAntScript.xml:129: Error running forked groovyc.
> 	at org.codehaus.groovy.ant.Groovyc.runForked(Groovyc.java:1121)
> 	at org.codehaus.groovy.ant.Groovyc.compile(Groovyc.java:1214)
> 	at org.codehaus.groovy.ant.Groovyc.execute(Groovyc.java:831)
> Caused by: java.io.IOException: Cannot run program "C:\Program Files\Java\jdk1.8.0_60\jre\bin\java":
CreateProcess error=206, The filename or extension is too long
> 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
> 	at java.lang.Runtime.exec(Runtime.java:620)
> 	at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.java:862)
> 	at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:481)
> 	at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:495)
> 	at org.codehaus.groovy.ant.Groovyc.runForked(Groovyc.java:1119)
> 	... 31 more
> Caused by: java.io.IOException: CreateProcess error=206, The filename or extension is
too long
> 	at java.lang.ProcessImpl.create(Native Method)
> 	at java.lang.ProcessImpl.<init>(ProcessImpl.java:386)
> 	at java.lang.ProcessImpl.start(ProcessImpl.java:137)
> 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
> 	... 36 more
> {code}
> Would it be possible to add command line length checking to {{runForked}} instead of
{{addSourceFiles}} and use a command file for groovyc to prevent command line overflow?  Without
this, we are having to use a lot of verbose workarounds in Ant.
> https://github.com/apache/groovy/blob/master/subprojects/groovy-ant/src/main/java/org/codehaus/groovy/ant/Groovyc.java



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message