Bug 958008 - gradle: Please migrate from plexus-container-default to more recent container
Summary: gradle: Please migrate from plexus-container-default to more recent container
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gradle
Version: 20
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: gil cattaneo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 985700 1029534
Blocks: 958010 1027190
TreeView+ depends on / blocked
 
Reported: 2013-04-30 06:22 UTC by Mikolaj Izdebski
Modified: 2013-11-12 16:13 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-12 16:13:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Proposed patch (2.90 KB, patch)
2013-07-25 05:56 UTC, Mikolaj Izdebski
no flags Details | Diff
0001-Migrate-to-new-plexus-container.patch (6.00 KB, patch)
2013-07-26 10:10 UTC, Mat Booth
no flags Details | Diff
0002-Non-bootstrap-build.patch (1.19 KB, patch)
2013-07-26 10:11 UTC, Mat Booth
no flags Details | Diff

Description Mikolaj Izdebski 2013-04-30 06:22:42 UTC
Description of problem:
gradle package is currently using plexus-container-default. Please migrate to a newer container, such as plexus-containers-container-default or sisu-inject-plexus.

Currently gradle is the only package that requires or build-requires plexus-container-default. plexus-container-default is unmaintained upstream for several years and two other packages provide mostly compatible API. Because of that plexus-container-default will be retired and gradle should migrate to more recent container to keep working.

Version-Release number of selected component (if applicable):
1.0-17

Comment 1 gil cattaneo 2013-04-30 07:44:23 UTC
for now I do not it is possible, given that the current existing version requires
plexus-container-default and maven 2.x.
i have to enable a plugin (gradle maven plugin) if I want to import the latest release of gradle, and then remove the dependency in question
regards

Comment 2 gil cattaneo 2013-04-30 07:49:14 UTC
I've tried to use the most recent versions of container-default, but then gradle does not work. cause: incompatible apis

Comment 3 Mikolaj Izdebski 2013-04-30 08:11:16 UTC
(In reply to comment #2)
> I've tried to use the most recent versions of container-default, but then
> gradle does not work. cause: incompatible apis

The incompatibilities are minor and usually easy to overcome.

The right solution is working with upstream to move to newer container API, preferably providing patches.  I have done that myself for some packages I maintain (for eg. [1]), upstreams are usually happy to accept patches.

[1] https://github.com/sonatype/modello/commit/30879533928bac89373a57af159999767461c6c6

Comment 4 Mikolaj Izdebski 2013-07-25 05:56:47 UTC
Created attachment 778067 [details]
Proposed patch

Comment 5 Alexander Kurtakov 2013-07-25 05:59:01 UTC
Gil, 
Can you try the patch Mikolaj provided?
Is there something that works if the patch is not applied but breaks if applied?
If yes please give instructions how to test it.

Comment 6 gil cattaneo 2013-07-25 06:05:12 UTC
unfortunately the patch is not applicable, make it unusable gradle
regards

Comment 7 Mikolaj Izdebski 2013-07-25 06:06:56 UTC
Could you provide more details?
Gradle builds with this patch and it is able to rebuild itself.
Could you explain what errors you get with the patch applied?

Comment 8 gil cattaneo 2013-07-25 07:48:44 UTC
subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/ant/BaseMavenDeployer.java:70: 
error: cannot find symbol
                 plexusContainer.addJarResource(wagonProviderJar);
                                ^
   symbol:   method addJarResource(File)
   location: variable plexusContainer of type PlexusContainer

Comment 9 gil cattaneo 2013-07-25 07:53:06 UTC
the patch provided is incomplete,
must be changed also references in subprojects/core-impl/core-impl.gradle
(see PATCH24) and ant build script
regards

Comment 10 gil cattaneo 2013-07-25 08:24:40 UTC
also for the latest release 1.6 the problem persist, this is a maven-ant-task inherits ...

Comment 11 Mikolaj Izdebski 2013-07-25 08:32:58 UTC
As far as I know maven-ant-tasks is broken in Fedora as it Requires Maven 2 and doesn't work with Maven 3.

For Maven 3 you should use aether-ant-tasks instead.

Comment 12 gil cattaneo 2013-07-25 08:35:54 UTC
(In reply to Mikolaj Izdebski from comment #11)
> As far as I know maven-ant-tasks is broken in Fedora as it Requires Maven 2
> and doesn't work with Maven 3.
> 
> For Maven 3 you should use aether-ant-tasks instead.

sorry but isnt compatible

Comment 13 Mikolaj Izdebski 2013-07-25 08:37:16 UTC
(In reply to gil cattaneo from comment #12)
> (In reply to Mikolaj Izdebski from comment #11)
> > As far as I know maven-ant-tasks is broken in Fedora as it Requires Maven 2
> > and doesn't work with Maven 3.
> > 
> > For Maven 3 you should use aether-ant-tasks instead.
> 
> sorry but isnt compatible

It is mostly compatible, with some small exceptions.

Comment 14 gil cattaneo 2013-07-25 08:40:37 UTC
if you have to apply a patch to make it compatible with aether ant task is welcome

Comment 15 Mikolaj Izdebski 2013-07-25 08:51:25 UTC
Gil, you have reported the incompatibility yourself to the upstream, 10 months ago [1].  There was no response from maintainers.  Clearly it's legacy software which shouldn't be used.

Aether Ant tasks are actively maintained.  There is quite recent activity in their git repository.  Maintainers usually respond on mailing lists within one day.

IMHO instead of insisting on keeping old software you should try to update to newer upstream versions and, if needed, convince upstreams to do the same, providing patches if needed.

[1] http://jira.codehaus.org/browse/MANTTASKS-232

Comment 16 Mat Booth 2013-07-26 10:10:54 UTC
Created attachment 778727 [details]
0001-Migrate-to-new-plexus-container.patch

Comment 17 Mat Booth 2013-07-26 10:11:30 UTC
Created attachment 778728 [details]
0002-Non-bootstrap-build.patch

Comment 18 Mat Booth 2013-07-26 10:15:50 UTC
I was able to bootstrap gradle against the newer plexus-containers-container-default package by using the two patches I've just attached.

Do you have a use case that illustrates the maven-ant-tasks problem? If I can get a reproducable problem case, I can work on fixing it (probably by using aether-ant-tasks instead, as Mikolaj suggests.)

Comment 19 gil cattaneo 2013-07-26 10:25:13 UTC
hi
try with http://gil.fedorapeople.org/gradle/gradle-1.6-1.fc19.src.rpm
in boostrap mode (already set) and disable in ant build script only the references on M-A-T.
regards

Comment 20 Mat Booth 2013-07-26 15:34:24 UTC
Thanks gil, I am looking at this now.

Comment 21 Fedora End Of Life 2013-09-16 13:42:50 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20

Comment 22 Fedora Admin XMLRPC Client 2013-11-12 16:03:57 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.


Note You need to log in before you can comment on or make changes to this bug.