According to the title of a earlier response from Thibault in this email chain,
this is concerning https://github.com/apache/incubator-groovy/pull/104
(although after reviewing it again I would not have known it unless he had said
so). According to my conversations with Thibault (again in this email chain)
fixing the tab completion also fixes the broken grapes in the groovy command
line "-e" switch. I would like to use grapes in my "groovy -e
'groovy.grapes.Grape.Grap....'" command and Thibault explained that this was
fixed in his fork because of his fixes but was awaiting for a review to be
merged into main. So it has been month and a half so far. Is someone planning
on approving (or at least reviewing) Thibault's merge soon so I can download
it?
ThanksSiegfried
On Friday, October 9, 2015 9:12 AM, Pascal Schumacher
<[email protected]> wrote:
Hi Siegfried,
I guess you are talking about
https://github.com/apache/incubator-groovy/pull/104 or more specific this
commit:
https://github.com/tkruse/incubator-groovy/commit/c1a2b74839f9c4539d772c311af7acc39c9e41a1
(Grapes: Select higher-level classloader to add new URLs to. )?
-Pascal
Am 08.10.2015 um 03:35 schrieb Richard Heintze:
Can someone give me an update getting Thibault's fix (patch) to my problem
into a release? Last Thibault explained to me (in a private email) was that he
had implemented the fix (before I discovered the problem) but was waiting for
someone with more expertise in class loaders to merge his changes into the main
stream.
Thanks Siegfried
On Monday, September 7, 2015 2:50 PM, Pascal Schumacher
<[email protected]> wrote:
Hi Richard,
you can download groovy snapshots from
https://oss.jfrog.org/oss-snapshot-local/org/codehaus/groovy/
-Pascal
Am 07.09.2015 um 23:43 schrieb Richard Heintze:
Thibault: Can you help me reproduce your environment? (1) I cannot find
groovy 2.5.0-Snapshot on http://groovy-lang.org/download.html#distro . Do I
need 2.5.0-Snapshot or will 2.4.4 do? Can I download 2.5.0 without having to
build it myself? Is it difficult to build on windows? Where do I download it
from? (2) I'm confused about that link: it just takes me to the mailing list
page. Can you give a link to the patch? Thanks siegfried
On Saturday, September 5, 2015 10:41 AM, Thibault Kruse
<[email protected]> wrote:
Actually, sorry, this was using Groovy 2.5.0-SNAPSHOT from master.
With my patch to Grape classloading.
http://groovy.329449.n5.nabble.com/groovysh-import-completion-for-Grape-loaded-classes-td5727025.html
With 2.4.x, I get Caught: java.sql.SQLException: No suitable driver
found for jdbc:h2:mem:test_mem
So I guess my patch for grapes does the same as you do.
On Sat, Sep 5, 2015 at 7:12 PM, Richard Heintze <[email protected]> wrote:
> Well shucks! I just cut and pasted your code to windows/Cygwin and then to
> Ubuntu. I got the exact same results on both machines!
>
> What version and which Linux are you using? What version of groovy?
>
> Can anyone else detect what I am doing wrong?
>
>
> groovy -e "import groovy.xml.MarkupBuilder;
> import groovy.sql.Sql
> groovy.grape.Grape.grab(group:'com.h2database', module:'h2',
> version:'1.4.188')
> def sql = Sql.newInstance('jdbc:h2:mem:test_mem', 'sa', '',
> 'org.h2.Driver');
> println(sql)
> "
> Caught: java.lang.ClassNotFoundException: org.h2.Driver
> java.lang.ClassNotFoundException: org.h2.Driver
> at script_from_command_line.run(script_from_command_line:4)
>
> Process compilation exited abnormally with code 1
>
>
>
> On Saturday, September 5, 2015 2:07 AM, Thibault Kruse
> <[email protected]> wrote:
>
>
> I am not sure what the classloader business is about. I get your -e
> examplke running on Linux:
>
> $ groovy -e "import groovy.xml.MarkupBuilder;
> import groovy.sql.Sql
> groovy.grape.Grape.grab(group:'com.h2database', module:'h2',
> version:'1.4.188')
> def sql = Sql.newInstance('jdbc:h2:mem:test_mem', 'sa', '',
> 'org.h2.Driver');
> println(sql)
> "
> groovy.sql.Sql@6ba2507
>
> On Fri, Sep 4, 2015 at 6:13 PM, Richard Heintze <[email protected]>
> wrote:
>>
>> The script below works with groovy 2.3.0-beta-2 with the groovy program. I
>> want to move the SQL code to separate text files and execute it from (1)
>> "groovy -e" (2) groovy-console and (3) groovysh.
>>
>> After looking at
>>
>> http://www.techper.net/2010/04/19/groovy-grape-adding-dependencies-to-root-classloader/
>> here is my first attempt using Cygwin on windows 8 and groovy that is not
>> working:
>>
>>
>> groovy -e "import groovy.sql.Sql
>> import groovy.xml.MarkupBuilder;
>> import groovy.sql.Sql
>>
>> def classLoader = this.getClass().getClassLoader();
>> while
>>
>>(!classLoader.getClass().getName().equals('org.codehaus.groovy.tools.RootLoader'))
>> {
>> classLoader = classLoader.getParent()
>> }
>> groovy.grape.Grape.grab(group:'com.h2database', module:'h2',
>> version:'1.4.188')
>> def sql = Sql.newInstance('jdbc:h2:mem:test_mem', 'sa', '',
>> 'org.h2.Driver');"
>> Caught: java.lang.ClassNotFoundException: org.h2.Driver
>> java.lang.ClassNotFoundException: org.h2.Driver
>> at script_from_command_line.run(script_from_command_line:10)
>>
>>
>> As you can see, I'm trying to convert the @GrabConfig which does not seem
>> to
>> work with "groovy -e".
>>
>>
>> Thanks
>> Siegfried
>>
>>
>>
>>
>> This works:
>>
>> import groovy.sql.Sql
>> import groovy.xml.MarkupBuilder
>> @GrabConfig(systemClassLoader=true)
>> @Grab(group='com.h2database', module='h2', version='1.4.188')
>> sqltext = ["""
>> create table gov_unit (
>> id integer NOT NULL,
>> parent_id integer DEFAULT 3,
>> name varchar(10),
>> type varchar(8),
>> constraint gov_unit_pk
>> primary key (id),
>> constraint gov_unit_type_chk
>> check (type in ('County','Township','City','State')),
>> constraint gov_unit_loop
>> foreign key (parent_id)
>> references gov_unit
>> );
>> insert into gov_unit values (3,null,'Michigan','State');
>> insert into gov_unit values (2,3,'Alger','County');
>> insert into gov_unit values (1,2,'Munising','City');
>> insert into gov_unit values (4,2,'Munising','Township');
>> insert into gov_unit values (5,2,'Au Train','Township');
>> insert into gov_unit values (6,3,'Baraga','County');
>> insert into gov_unit values (7,3,'Ontonagon','County');
>> insert into gov_unit values (8,7,'Interior','Township');
>> insert into gov_unit values (9,3,'Dickinson','County');
>> insert into gov_unit values (10,3,'Gogebic','County');
>> insert into gov_unit values (11,3,'Delta','County');
>> insert into gov_unit values (12,11,'Masonville','Township');
>> ""","""
>> WITH RECURSIVE gov (depth, id, parent_id, name, type) AS(
>> SELECT 1 AS depth, parent.* FROM gov_unit parent WHERE parent.parent_id
>> IS NULL
>> UNION ALL
>> SELECT parent.depth+1 AS depth, child.* FROM gov parent, gov_unit
>> child
>> WHERE child.parent_id = parent.id
>> )
>> SELECT * FROM gov ;
>> """]
>>
>> def sql = Sql.newInstance("jdbc:h2:mem:test_mem", "sa", "",
>> "org.h2.Driver")
>> sql.execute sqltext[0]
>>
>> def xml = new groovy.xml.MarkupBuilder(new
>> FileWriter(java.io.FileDescriptor.out))
>>
>> xml.table (name:"gov_unit") {
>> sql.rows(sqltext[1]).each{ row->
>> xml.gov_unit (
>> row
>> ) }
>> }
>
>