Quantcast

Release plugin writes correct version ranges in POM but Grails/Ivy can't parse them?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Release plugin writes correct version ranges in POM but Grails/Ivy can't parse them?

Göran Ehrsson
Hi,

I installed release plugin version 1.0.0.M3 and published my plugins to
a local Artifactory repository.
Other plugins depending on the published plugins fails to resolve them
because grails can't parse the version range in the POM.

http://jira.grails.org/browse/GPRELEASE-1

If I have this in my plugin:

def dependsOn = [jquery:'1.4.4 > *']

The version range is written as [1.4.4,) in the pom. That is correct if
I understand the docs. But the plugin resolver in Grails 1.3.7 does not
understand that format. I'm not the only one with problem:

http://jira.grails.org/browse/GRAILS-7491
http://jira.grails.org/browse/GRAILS-7559
http://jira.grails.org/browse/GRAILS-7490
http://jira.grails.org/browse/GRAILS-6637


Resolving new plugins. Please wait... ...
:: problems summary ::
:::: WARNINGS
                 ::::::::::::::::::::::::::::::::::::::::::::::

                 ::          UNRESOLVED DEPENDENCIES         ::

                 ::::::::::::::::::::::::::::::::::::::::::::::
                 :: org.grails.plugins#jquery;[1.4.4,): several problems
occurred while resolving dependency: org.grails.plugins#jquery;[1.4.4,)
{compile=[compile(*), master(*)], runtime=[runtime(*)]}:
         invalid end of optional part at position 77 in pattern
http://svn.codehaus.org/grails-plugins/grails-[artifact]/tags/RELEASE_[1_4_4,)/grails-[artifact]-[revision].[ext]
         invalid end of optional part at position 90 in pattern
http://svn.codehaus.org/grails/trunk/grails-plugins/grails-[artifact]/tags/RELEASE_[1_4_4,)/grails-[artifact]-[revision].[ext]

This makes the release plugin useless for me and I have to go back to
manual uploads.
grails package-plugin and manually uploading the zip to Artifactory
works ok. But that's probably because it does not generate a complete
pom in that case.

What should I do? Remove all plugins from dependsOn and specify fixed
numbers in BuildConfig.groovy?
Is this solved in Grails 2.0?

/Goran

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Release plugin writes correct version ranges in POM but Grails/Ivy can't parse them?

pledbrook
> http://jira.grails.org/browse/GRAILS-7491
> http://jira.grails.org/browse/GRAILS-7559
> http://jira.grails.org/browse/GRAILS-7490
> http://jira.grails.org/browse/GRAILS-6637

I've marked 6637 as having a patch, so hopefully that will be reviewed
before the 2.0 release candidates.

> This makes the release plugin useless for me and I have to go back to manual
> uploads.
> grails package-plugin and manually uploading the zip to Artifactory works
> ok. But that's probably because it does not generate a complete pom in that
> case.

OK, so this is only an issue for dependencies that are in the central
plugin repository, correct? Version ranges should work with plugins
published to a Maven-compatible repository.

> What should I do? Remove all plugins from dependsOn and specify fixed
> numbers in BuildConfig.groovy?

Yes. This is the preferred approach going forward and is supported by
Grails 1.3.7. Version ranges in general aren't a great idea because
they increase the dependency resolution time considerably, especially
if you have network issues.

> Is this solved in Grails 2.0?

Not yet as far as I know. The best way to make sure it gets attention
is for as many people to vote for it as possible.

Peter

--
Peter Ledbrook
Grails Advocate
SpringSource - A Division of VMware

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Release plugin writes correct version ranges in POM but Grails/Ivy can't parse them?

Göran Ehrsson
Peter Ledbrook wrote 2011-07-08 10:57:
>> This makes the release plugin useless for me and I have to go back to manual
>> uploads.
>> grails package-plugin and manually uploading the zip to Artifactory works
>> ok. But that's probably because it does not generate a complete pom in that
>> case.
> OK, so this is only an issue for dependencies that are in the central
> plugin repository, correct? Version ranges should work with plugins
> published to a Maven-compatible repository.

No I publish plugins to Artifactory (Maven-compatible) and the problem
exists in that environment.

>
>> What should I do? Remove all plugins from dependsOn and specify fixed
>> numbers in BuildConfig.groovy?
> Yes. This is the preferred approach going forward and is supported by
> Grails 1.3.7. Version ranges in general aren't a great idea because
> they increase the dependency resolution time considerably, especially
> if you have network issues.

Thanks, I changed all plugin descriptors to dependsOn = [:] and got
around the problem for now.

Regards

/Göran Ehrsson

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Release plugin writes correct version ranges in POM but Grails/Ivy can't parse them?

mos-7
Hello Göran,

you wrote:

Thanks, I changed all plugin descriptors to dependsOn = [:] and got around the problem for now.

That seems to help with the dependency resolution. 
But don't you need the dependsOn definition when running the application?
I thought Grails 1.3.7 still needs this declaration at runtime.

Facing the same problem and getting compiler errors like "...unable to resolve class..."
when setting dependsOn = [:]

Cheers,
Mos
---
http://www.mosbase.com/


On Sun, Jul 10, 2011 at 8:19 PM, Goran Ehrsson <[hidden email]> wrote:
Peter Ledbrook wrote 2011-07-08 10:57:

This makes the release plugin useless for me and I have to go back to manual
uploads.
grails package-plugin and manually uploading the zip to Artifactory works
ok. But that's probably because it does not generate a complete pom in that
case.
OK, so this is only an issue for dependencies that are in the central
plugin repository, correct? Version ranges should work with plugins
published to a Maven-compatible repository.

No I publish plugins to Artifactory (Maven-compatible) and the problem exists in that environment.



What should I do? Remove all plugins from dependsOn and specify fixed
numbers in BuildConfig.groovy?
Yes. This is the preferred approach going forward and is supported by
Grails 1.3.7. Version ranges in general aren't a great idea because
they increase the dependency resolution time considerably, especially
if you have network issues.

Thanks, I changed all plugin descriptors to dependsOn = [:] and got around the problem for now.

Regards

/Göran Ehrsson


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

  http://xircles.codehaus.org/manage_email



Loading...