Bug 958008 - gradle: Please migrate from plexus-container-default to more recent container
gradle: Please migrate from plexus-container-default to more recent container
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: gradle (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: gil cattaneo
Fedora Extras Quality Assurance
: Patch
Depends On: 985700 1029534
Blocks: 958010 1027190
  Show dependency treegraph
 
Reported: 2013-04-30 02:22 EDT by Mikolaj Izdebski
Modified: 2013-11-12 11:13 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-11-12 11:13:17 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Mikolaj Izdebski 2013-04-30 02:22:42 EDT
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 03:44:23 EDT
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 03:49:14 EDT
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 04:11:16 EDT
(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 01:56:47 EDT
Created attachment 778067 [details]
Proposed patch
Comment 5 Alexander Kurtakov 2013-07-25 01:59:01 EDT
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 02:05:12 EDT
unfortunately the patch is not applicable, make it unusable gradle
regards
Comment 7 Mikolaj Izdebski 2013-07-25 02:06:56 EDT
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 03:48:44 EDT
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 03:53:06 EDT
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 04:24:40 EDT
also for the latest release 1.6 the problem persist, this is a maven-ant-task inherits ...
Comment 11 Mikolaj Izdebski 2013-07-25 04:32:58 EDT
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 04:35:54 EDT
(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 04:37:16 EDT
(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 04:40:37 EDT
if you have to apply a patch to make it compatible with aether ant task is welcome
Comment 15 Mikolaj Izdebski 2013-07-25 04:51:25 EDT
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 06:10:54 EDT
Created attachment 778727 [details]
0001-Migrate-to-new-plexus-container.patch
Comment 17 Mat Booth 2013-07-26 06:11:30 EDT
Created attachment 778728 [details]
0002-Non-bootstrap-build.patch
Comment 18 Mat Booth 2013-07-26 06:15:50 EDT
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 06:25:13 EDT
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 11:34:24 EDT
Thanks gil, I am looking at this now.
Comment 21 Fedora End Of Life 2013-09-16 09:42:50 EDT
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 11:03:57 EST
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.