groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paco Zarate <conta...@nazcasistemas.com>
Subject Re: Looking for testers & feedback: new Groovy binaries for Windows
Date Thu, 08 Sep 2016 06:57:37 GMT
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