You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Paul King (Jira)" <ji...@apache.org> on 2020/01/28 00:15:00 UTC

[jira] [Comment Edited] (GROOVY-9376) Groovy completely ignores @GrabResolver annotation

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

Paul King edited comment on GROOVY-9376 at 1/28/20 12:14 AM:
-------------------------------------------------------------

Your script seems to work for me (outside docker) using Groovy 2.5.0 and 3.0.0-rc-3.

In my case, it finds the jar from jcenter before even needing to try maven.restlet.org.
 It doesn't ignore the latter though since it tries to find the javadoc jar which doesn't exist in any of the repos.
{noformat}
...
	jcenter: found md file for org.restlet#org.restlet;1.1.6
		=> https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom (1.1.6)
...
	 trying http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
		tried http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
HTTP response status: 404 url=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
CLIENT ERROR: Not Found url=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
	restlet.org: resource not reachable for org/restlet#org.restlet;1.1.6: res=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
no javadoc artifact found for org.restlet#org.restlet;1.1.6
...
sha1 OK for https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar
	[SUCCESSFUL ] org.restlet#org.restlet;1.1.6!org.restlet.jar (3223ms)
	resolve done (6318ms resolve - 3233ms download)
{noformat}
As to whether we should be trying by default to download the javadoc jars, that is a good question ... but another issue.

As to why maven.restlet.org doesn't appear in your log, I have no idea. We'll have to dig deeper.


was (Author: paulk):
Your script seems to work for me using Groovy 2.5.0 and 3.0.0-rc-3.

In my case, it finds the jar from jcenter before even needing to try maven.restlet.org.
 It doesn't ignore the latter though since it tries to find the javadoc jar which doesn't exist in any of the repos.
{noformat}
...
	jcenter: found md file for org.restlet#org.restlet;1.1.6
		=> https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom (1.1.6)
...
	 trying http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
		tried http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
HTTP response status: 404 url=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
CLIENT ERROR: Not Found url=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
	restlet.org: resource not reachable for org/restlet#org.restlet;1.1.6: res=http://maven.restlet.org/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6-javadoc.jar
no javadoc artifact found for org.restlet#org.restlet;1.1.6
...
sha1 OK for https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar
	[SUCCESSFUL ] org.restlet#org.restlet;1.1.6!org.restlet.jar (3223ms)
	resolve done (6318ms resolve - 3233ms download)
{noformat}
As to whether we should be trying by default to download the javadoc jars, that is a good question ... but another issue.

As to why maven.restlet.org doesn't appear in your log, I have no idea. We'll have to dig deeper.

> Groovy completely ignores @GrabResolver annotation
> --------------------------------------------------
>
>                 Key: GROOVY-9376
>                 URL: https://issues.apache.org/jira/browse/GROOVY-9376
>             Project: Groovy
>          Issue Type: Bug
>            Reporter: Damian Szuberski
>            Priority: Major
>
> Steps to reproduce inside docker. Repository added using GrabResolver is completely ignored during resolution and fetching.
>  
> Manually putting repository location into ~/.groovy/grapeConfig.xml solves the problem and make the custom repository work properly. Tested on Groovy 2.5.x and Groovy 3.x, both have the same issue. This example comes from docker container *groovy:3.0.0-rc-3-jre8*
>  
> *root@40bc8b504667:~# rm -rf ~/.ivy* ~/.groovy**
> *root@40bc8b504667:~# cat example.groovy*
> {code:java}
> #!/usr/bin/env groovy
> @GrabResolver(name='restlet.org', root='http://maven.restlet.org')
> @Grab(group='org.restlet', module='org.restlet', version='1.1.6')
> import org.restlet.Restlet;
> {code}
> *root@40bc8b504667:~# groovy -Dgroovy.grape.report.downloads=true -Divy.message.logger.level=4  example.groovy*
> {noformat}
> setting 'ivy.default.settings.dir' to 'jar:[file:/opt/groovy/lib/ivy-2.5.0.jar!/org/apache/ivy/core/settings'
> setting 'ivy.basedir' to '/root/.'
> setting 'ivy.default.conf.dir' to 'jar:[file:/opt/groovy/lib/ivy-2.5.0.jar!/org/apache/ivy/core/settings'
> setting 'java.runtime.name' to 'OpenJDK Runtime Environment'
> setting 'sun.boot.library.path' to '/opt/java/openjdk/lib/amd64'
> setting 'java.vm.version' to '25.232-b09'
> setting 'groovy.grape.report.downloads' to 'true'
> setting 'java.vm.vendor' to 'AdoptOpenJDK'
> setting 'java.vendor.url' to 'http://java.oracle.com/'
> setting 'path.separator' to ':'
> setting 'java.vm.name' to 'OpenJDK 64-Bit Server VM'
> setting 'file.encoding.pkg' to 'sun.io'
> setting 'user.country' to 'US'setting 'sun.java.launcher' to 'SUN_STANDARD'
> setting 'sun.os.patch.level' to 'unknown'
> setting 'program.name' to 'groovy'
> setting 'java.vm.specification.name' to 'Java Virtual Machine Specification'
> setting 'user.dir' to '/root'
> setting 'java.runtime.version' to '1.8.0_232-b09'
> setting 'java.awt.graphicsenv' to 'sun.awt.X11GraphicsEnvironment'
> setting 'java.endorsed.dirs' to '/opt/java/openjdk/lib/endorsed'
> setting 'os.arch' to 'amd64'
> setting 'java.io.tmpdir' to '/tmp'
> setting 'line.separator' to ''
> setting 'java.vm.specification.vendor' to 'Oracle Corporation'
> setting 'os.name' to 'Linux'
> setting 'tools.jar' to '/opt/java/openjdk/lib/tools.jar'
> setting 'sun.jnu.encoding' to 'UTF-8'
> setting 'script.name' to '/usr/bin/groovy'
> setting 'java.library.path' to '/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib'
> setting 'java.specification.name' to 'Java Platform API Specification'
> setting 'java.class.version' to '52.0'
> setting 'sun.management.compiler' to 'HotSpot 64-Bit Tiered Compilers'
> setting 'os.version' to '5.4.0-3-amd64'
> setting 'user.home' to '/root'
> setting 'user.timezone' to ''
> setting 'java.awt.printerjob' to 'sun.print.PSPrinterJob'
> setting 'file.encoding' to 'UTF-8'
> setting 'java.specification.version' to '1.8'
> setting 'java.class.path' to '/opt/groovy/lib/groovy-3.0.0-rc-3.jar'
> setting 'user.name' to 'root'
> setting 'ivy.message.logger.level' to '4'
> setting 'java.vm.specification.version' to '1.8'
> setting 'sun.java.command' to 'org.codehaus.groovy.tools.GroovyStarter --main groovy.ui.GroovyMain --conf /opt/groovy/conf/groovy-starter.conf --classpath . -Dgroovy.grape.report.downloads=true -Divy.message.logger.level=4 example.groovy'
> setting 'java.home' to '/opt/java/openjdk'
> setting 'sun.arch.data.model' to '64'
> setting 'user.language' to 'en'
> setting 'java.specification.vendor' to 'Oracle Corporation'
> setting 'awt.toolkit' to 'sun.awt.X11.XToolkit'
> setting 'java.vm.info' to 'mixed mode'
> setting 'java.version' to '1.8.0_232'
> setting 'java.ext.dirs' to '/opt/java/openjdk/lib/ext:/usr/java/packages/lib/ext'
> setting 'sun.boot.class.path' to '/opt/java/openjdk/lib/resources.jar:/opt/java/openjdk/lib/rt.jar:/opt/java/openjdk/lib/sunrsasign.jar:/opt/java/openjdk/lib/jsse.jar:/opt/java/openjdk/lib/jce.jar:/opt/java/openjdk/lib/charsets.jar:/opt/java/openjdk/lib/jfr.jar:/opt/java/openjdk/classes'
> setting 'java.vendor' to 'AdoptOpenJDK'
> setting 'file.separator' to '/'
> setting 'groovy.jaxb' to 'jaxb'
> setting 'java.vendor.url.bug' to 'http://bugreport.sun.com/bugreport/'
> setting 'sun.io.unicode.encoding' to 'UnicodeLittle'
> setting 'sun.cpu.endian' to 'little'
> setting 'groovy.starter.conf' to '/opt/groovy/conf/groovy-starter.conf'
> setting 'groovy.home' to '/opt/groovy'
> setting 'sun.cpu.isalist' to ''
> setting 'user.home.url' to 'file:/root/':: loading settings :: url = jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xmlsetting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xmlsetting] 'ivy.settings.url' to 'jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xml'setting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xml'setting] 'ivy.conf.url' to 'jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xml'setting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape/defaultGrapeConfig.xml'setting] 'ivy.settings.dir' to 'jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting] 'ivy.settings.dir.url' to 'jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting] 'ivy.conf.dir' to 'jar:[file:/opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting|file://opt/groovy/lib/groovy-3.0.0-rc-3.jar!/groovy/grape'setting] 'ivy.default.ivy.user.dir' to '/root/.ivy2'setting 'ivy.home' to '/root/.ivy2'
> no default ivy user dir defined: set to /root/.ivy2
> setting 'ivy.log.modules.in.use' to 'false'
> setting 'ivy.resolver.default.check.modified' to 'false'
> setting 'ivy.default.always.check.exact.revision' to 'false'
> setting 'ivy.retrieve.pattern' to '${ivy.lib.dir}/[artifact]-[revision](-[classifier]).[ext]'
> setting 'ivy.configurations' to '*'
> setting 'ivy.buildlist.ivyfilepath' to 'ivy.xml'
> setting 'ivy.status' to 'integration'
> setting 'ivy.resolve.default.type.filter' to '*'
> setting 'ivy.project.dir' to '${basedir}'
> setting 'ivy.dep.file' to 'ivy.xml'
> setting 'ivy.settings.file' to 'ivysettings.xml'
> setting 'ivy.report.output.pattern' to '[organisation]-[module]-[conf].[ext]'
> setting 'ivy.cache.ttl.default' to '10s'
> setting 'ivy.publish.src.artifacts.pattern' to '${ivy.distrib.dir}/[type]s/[artifact]-[revision](-[classifier]).[ext]'
> setting 'ivy.deliver.ivy.pattern' to '${ivy.distrib.dir}/[type]s/[artifact]-[revision](-[classifier]).[ext]'
> setting 'ivy.build.artifacts.dir' to '${ivy.project.dir}/build/artifacts'
> setting 'ivy.checksums' to 'sha1,md5'
> setting 'ivy.distrib.dir' to '${ivy.project.dir}/distrib'
> setting 'ivy.lib.dir' to '${ivy.project.dir}/lib'
> setting 'ivy.cache.dir' to '/root/.ivy2/cache'
> no default cache defined: set to /root/.ivy2/cachedownloadGrapes:
> no namespace defined: using systemdownloadGrapes:
> no latest strategy defined: using defaultjcenter:
> no namespace defined: using systemjcenter:
> no latest strategy defined: using defaultcachedGrapes:
> no namespace defined: using systemcachedGrapes:
> no latest strategy defined: using defaultlocalm2:
> no namespace defined: using systemlocalm2:
> no latest strategy defined: using defaultibiblio:
> no namespace defined: using systemibiblio:
> no latest strategy defined: using default'ivy.default.ivy.user.dir' already set: discarding '/root/.ivy2'settings loaded (175ms)
> default cache: /root/.ivy2/
> cache default resolver: downloadGrapes
> default latest strategy: latest-revision
> default conflict manager: latest-revision
> circular dependency strategy: warn
> validate: true
> check up2date: true
> – 5 resolvers: downloadGrapes [chain] [cachedGrapes, localm2, jcenter, ibiblio] return first: true dual: false -> cachedGrapes -> localm2 -> jcenter -> ibiblio jcenter [ibiblio] cache: null m2compatible: true ivy patterns: [https://jcenter.bintray.com/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
> artifact patterns: [https://jcenter.bintray.com/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
> repository: jcenter
>   root: [https://jcenter.bintray.com/]
>   pattern: [organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
>   usepoms: true
>   useMavenMetadata: true
>   cachedGrapes [file]
>   cache: null
>   m2compatible: false
>   ivy patterns: /root/.groovy/grapes/[organisation]/[module]/ivy-[revision].xml
>   artifact patterns: /root/.groovy/grapes/[organisation]/[module]/[type]s/[artifact]-[revision](-[classifier]).[ext]
> repository: cachedGrapes localm2 [ibiblio]
>   cache: null
>   m2compatible: true
>   ivy patterns: [file:/root//.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext|file://root//.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
>   artifact patterns: [file:/root//.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext|file://root//.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
> repository: localm2
>   root: [file:/root//.m2/repository/|file://root//.m2/repository/]
>   pattern: [organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
>   usepoms: true
>   useMavenMetadata: true
>   ibiblio [ibiblio]
>   cache: null
>   m2compatible: true
>   ivy patterns: [https://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
>   artifact patterns: [https://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]]
> repository: ibiblio
>   root: [https://repo1.maven.org/maven2/]
>   pattern: [organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]
>   usepoms: true
>   useMavenMetadata: true
>   module settings: NONE'ivy.cache.dir' already set: discarding '/root/.groovy/grapes'
> setting 'ivy.default.configuration.m2compatible' to 'true'
> Resolving dependency: org.restlet#org.restlet;1.1.6 {default=[default]}:: resolving dependencies :: caller#all-caller;working26 confs: [default] validate = false refresh = false
> resolving dependencies for configuration 'default'== resolving dependencies for caller#all-caller;working26 [default]loadData of caller#all-caller;working26 of rootConf=default== resolving dependencies caller#all-caller;working26->org.restlet#org.restlet;1.1.6 [default->default]loadData of org.restlet#org.restlet;1.1.6 of rootConf=default using downloadGrapes to resolve org.restlet#org.restlet;1.1.6downloadGrapes:
> Checking cache for: dependency: org.restlet#org.restlet;1.1.6 {default=[default]} no ivy file in cache for org.restlet#org.restlet;1.1.6: tried /root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml no ivy file in cache for org.restlet#org.restlet;1.1.6: tried /root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml trying /root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml tried /root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml
> cachedGrapes: resource not reachable for org.restlet#org.restlet;1.1.6: res=/root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml trying /root/.groovy/grapes/org.restlet/org.restlet/jars/org.restlet-1.1.6.jar tried /root/.groovy/grapes/org.restlet/org.restlet/jars/org.restlet-1.1.6.jar
> cachedGrapes: resource not reachable for org.restlet#org.restlet;1.1.6: res=/root/.groovy/grapes/org.restlet/org.restlet/jars/org.restlet-1.1.6.jar
> cachedGrapes: no ivy file nor artifact found for org.restlet#org.restlet;1.1.6
> don't use cache for org.restlet#org.restlet;1.1.6: checkModified=true trying [file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom] tried [file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom]
> localm2: resource not reachable for org/restlet#org.restlet;1.1.6: res=[file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom] trying [file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar] tried [file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar]
> localm2: resource not reachable for org/restlet#org.restlet;1.1.6: res=[file:/root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar|file://root//.m2/repository/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.jar]
> localm2: no ivy file nor artifact found for org.restlet#org.restlet;1.1.6 no ivy file in cache for org.restlet#org.restlet;1.1.6: tried /root/.groovy/grapes/org.restlet/org.restlet/ivy-1.1.6.xml trying [https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom] tried [https://jcenter.bintray.com/org/restlet/org.restlet/1.1.6/org.restlet-1.1.6.pom]
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)