Bug 1271243

Summary: groovy-lib has unnecessary requires
Product: [Fedora] Fedora Reporter: Michael Simacek <msimacek>
Component: groovyAssignee: Michael Simacek <msimacek>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 24CC: java-sig-commits, mizdebsk, msrb
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: groovy-2.4.5-8.fc25 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-07 09:05:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Split into subpackages none

Description Michael Simacek 2015-10-13 13:14:42 UTC
Description of problem:
I think the groovy-lib subpackage was introduced to allow packages that use groovy as embedded language to depend on it without pulling in a ton of dependencies. But as of now, groovy-lib still pulls in ant, junit, testng etc., which I believe are not needed (are optional).

Version-Release number of selected component (if applicable):
groovy-lib-0:2.4.5-1.fc24.noarch

How reproducible:
always

Steps to Reproduce:
1. repoquery --requires groovy-lib

Actual results:
java-headless
jpackage-utils
mvn(bsf:bsf)
mvn(com.beust:jcommander)
mvn(com.thoughtworks.qdox:qdox)
mvn(commons-logging:commons-logging)
mvn(jline:jline)
mvn(junit:junit)
mvn(org.apache.ant:ant)
mvn(org.apache.ant:ant-antlr)
mvn(org.apache.ant:ant-junit)
mvn(org.apache.ant:ant-launcher)
mvn(org.testng:testng)


Expected results:
no requires on ant, junit, etc.

Additional info:
On the other hand, I'd expect objectweb-asm to be among requires, as that is what groovy uses internally, isn't it?

Comment 1 Michal Srb 2015-10-13 13:44:04 UTC
AFAIK the requires are correct. Groovy 2.x comes with artifacts like org.codehaus.groovy:groovy-testng (which pulls in testng), or org.codehaus.groovy:groovy-test (which pulls in junit). testng and junit deps are not optional in those cases.
Those artifacts didn't exist in 1.8.x and therefore having singe -lib subpackage was enough. It would make sense to put each artifact into separate subpackage in case of Groovy 2.x.
objectweb-asm seems to be jarjar-ed inside org.codehaus.groovy:groovy (and groovy-all), so we should probably unbundle it, or add bundled(objectweb-asm) provides.

Comment 2 Jan Kurik 2016-02-24 13:50:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 3 Michael Simacek 2016-04-07 08:08:38 UTC
Created attachment 1144609 [details]
Split into subpackages