groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul King <pa...@asert.com.au>
Subject Re: Looking for testers & feedback: new Groovy binaries for Windows
Date Thu, 08 Sep 2016 09:13:31 GMT
I think there are numerous problems with the argument passing in the batch
files. That was one of the things that the exe files aimed to improve on. I
must admit to having reservations about the new approach. Not so much with
the concept but more about relying on the current bat files. That said, I
am not sure staying with the current approach is ideal either.

Cheers, Paul.

On Thu, Sep 8, 2016 at 4:57 PM, Paco Zarate <contacto@nazcasistemas.com>
wrote:

> Hello Keegan
> groovy and groovyc are working for me now! thanks!!
>
> The bat file seems to have an issue on Windows though:
>
> When the JAVA_HOME is not defined, and the PATH has an element with &
> (ampersand), the groovy invocation seems to try to execute the code after
> the & (eg. if mysql is installed there is a PATH defined to
> "c:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5")
> This is the output:
> C:\WINDOWS\system32>groovy.bat -v
> 'MySQL' is not recognized as an internal or external command,
> operable program or batch file.
> 'MySQL' is not recognized as an internal or external command,
> operable program or batch file.
> Groovy Version: 2.4.7 JVM: 1.8.0_101 Vendor: Oracle Corporation OS:
> Windows 10
>
> I did this another test: I created an empty folder "c:\Programs\sample1 &
> sample2" and added it to the PATH just before "%GROOVY_HOME%\bin"
>
> When i run:
> C:\WINDOWS\system32> groovy.bat -v
> 'sample2' is not recognized as an internal or external command,
> operable program or batch file.
> Groovy Version: 2.4.7 JVM: 1.8.0_101 Vendor: Oracle Corporation OS:
> Windows 10
>
> So it looks like an ampersand in an element in the PATH can affect the
> groovy invocation.
>
> Paco
>
>
>
>
> On Wed, Sep 7, 2016 at 8:39 PM, Keegan Witt <keeganwitt@gmail.com> wrote:
>
>> I've uploaded new executables to fix the issue with invoking without .exe
>> suffix.
>>
>> -Keegan
>>
>> On Wed, Sep 7, 2016 at 5:21 PM, Keegan Witt <keeganwitt@gmail.com> wrote:
>>
>>> Paco,
>>> Good catch.  I'll correct that.
>>>
>>> Raviteja,
>>> That's correct, they are just wrappers.  The advantage is that you can
>>> set file associations in Windows to an exe, but you can't associate a file
>>> type with a bat file.  If you could, than you'd be right -- there'd be no
>>> reason to have a wrapper.
>>>
>>> -Keegan
>>>
>>> On Wed, Sep 7, 2016 at 1:57 PM, Raviteja Lokineni <
>>> raviteja.lokineni@gmail.com> wrote:
>>>
>>>> I just glanced over the code and found that the cpp code just seems to
>>>> be a wrapper on top of existing bat file. Although it is good that you
>>>> wanted to contribute, I don't see the advantage in using exe file iff all
>>>> it does is wrap existing bat file.
>>>>
>>>> Thanks,
>>>> Raviteja
>>>>
>>>> On Wed, Sep 7, 2016 at 5:45 AM, Paco Zarate <contacto@nazcasistemas.com
>>>> > wrote:
>>>>
>>>>> Hello Keegan!
>>>>>
>>>>> I was trying the new .exe files and i receive these errors when using
>>>>> the commands without .exe:
>>>>>
>>>>> C:\WINDOWS\system32>groovyc -v
>>>>> 'groobat' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>>
>>>>> C:\WINDOWS\system32>groovy -v
>>>>> 'grobat' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>>
>>>>>
>>>>> Including the .exe seems  to work fine:
>>>>>
>>>>> C:\WINDOWS\system32>groovy.exe -v
>>>>> Groovy Version: 2.4.7 JVM: 1.8.0_101 Vendor: Oracle Corporation OS:
>>>>> Windows 10
>>>>>
>>>>> C:\WINDOWS\system32>groovyc.exe -v
>>>>> Groovy compiler version 2.4.7
>>>>> Copyright 2003-2016 The Apache Software Foundation.
>>>>> http://groovy-lang.org/
>>>>>
>>>>>
>>>>> If i remove the JAVA_HOME env variable I get these responses:
>>>>> C:\WINDOWS\system32>groovy.exe -v
>>>>> 'MySQL' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>> 'MySQL' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>> Groovy Version: 2.4.7 JVM: 1.8.0_101 Vendor: Oracle Corporation OS:
>>>>> Windows 10
>>>>>
>>>>> C:\WINDOWS\system32>groovyc.exe -v
>>>>> 'MySQL' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>> 'MySQL' is not recognized as an internal or external command,
>>>>> operable program or batch file.
>>>>> Groovy compiler version 2.4.7
>>>>> Copyright 2003-2016 The Apache Software Foundation.
>>>>> http://groovy-lang.org/
>>>>>
>>>>> Thanks!!
>>>>>
>>>>> Paco.
>>>>>
>>>>> On Thu, Sep 1, 2016 at 2:05 PM, Keegan Witt <keeganwitt@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I'm building some new binaries for Windows (groovy.exe,
>>>>>> groovyConsole.exe, etc) and am looking for some folks to test and
code
>>>>>> review it.  Their temporary home is here: https://github.com/keega
>>>>>> nwitt/groovy-binaries.  After I've incorporated any feedback I get,
>>>>>> I'll transfer it to a repo under the groovy org on Github (haven't
decided
>>>>>> yet whether that should be groovy-windows-installer
>>>>>> <https://github.com/groovy/groovy-windows-installer> or
>>>>>> groovy-native-launcher
>>>>>> <https://github.com/groovy/groovy-native-launcher>).
>>>>>>
>>>>>> To make it easy to test, you can download the compiled binaries from
>>>>>> here (https://drive.google.com/folderview?id=0B_uOQFeu84v0TDVkS00
>>>>>> xeE5yNHc&usp=sharing) and put them in your current Groovy
>>>>>> installation (whether from zip or installer).
>>>>>>
>>>>>> The overall approach is to have an exe that calls the matching .bat
>>>>>> file.  This approach was to avoid a few things I didn't like about
the
>>>>>> current binaries, namely
>>>>>> Windows installer determines 32 or 64 bit version of Java at install
>>>>>> time and installs the appropriate groovy.exe, but if you change your
Java
>>>>>> version later, exe won't be able to run Groovy because it won't be
able to
>>>>>> find right Java to invoke.
>>>>>> Binaries have their own logic to find Java, which adds unnecessary
>>>>>> complexity since the batch files maintained by the Groovy team already
have
>>>>>> this logic.
>>>>>> Parameters are hard-coded into the binaries, coupling any change
in
>>>>>> parameters between Groovy versions to that binary.
>>>>>> I'm not a Windows or C++ guy, so there are some things I'd like
>>>>>> somebody's thoughts on:
>>>>>> Am I following best practices in C++ source and Makefile?
>>>>>> Would it be better to have wmain() instead of main()?
>>>>>> Any better way to have done resource templating other than* sed*?
>>>>>> Would there be a reason to have chosen C over C++?
>>>>>> Any non-ASCII character hangups?
>>>>>> Running groovy.exe 象.groovy 象 seemed to invoke and pass argument
in
>>>>>> fine, but it printed the arg as a question mark.  Although the current
>>>>>> binaries binaries do the same thing, so maybe it's a limitation of*
>>>>>> cmd.exe*.
>>>>>> Does my strategy of passing args from exe to bat have any edge cases
>>>>>> to worry about with the use of system() and CreateProcess()?
>>>>>>
>>>>>> -Keegan
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> *Raviteja Lokineni* | Business Intelligence Developer
>>>> TD Ameritrade
>>>>
>>>> E: raviteja.lokineni@gmail.com
>>>>
>>>> [image: View Raviteja Lokineni's profile on LinkedIn]
>>>> <http://in.linkedin.com/in/ravitejalokineni>
>>>>
>>>>
>>>
>>
>

Mime
View raw message