The Pull Request is here: https://github.com/apache/incubator-groovy/pull/104 To get it, you would have to clone my fork on github (or use it as alternative remote), then switch to the groovysh-grab branch, run gradle dist. That should create the version 2.5.0-SNAPSHOT, which you could then use.
On Mon, Sep 7, 2015 at 11:43 PM, Richard Heintze <sieg_hein...@yahoo.com> wrote: > 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 > <tibokr...@googlemail.com> 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 <sieg_hein...@yahoo.com> > 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 >> <tibokr...@googlemail.com> 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 <sieg_hein...@yahoo.com> >> 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 >>> ) } >>> } >> >> > > On Mon, Sep 7, 2015 at 11:50 PM, Pascal Schumacher <pascalschumac...@gmx.net> 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 > <tibokr...@googlemail.com> 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 <sieg_hein...@yahoo.com> > 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 >> <tibokr...@googlemail.com> 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 <sieg_hein...@yahoo.com> >> 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 >>> ) } >>> } >> >> > > >