Bug 725739 - Java dependencies for rubygems
Summary: Java dependencies for rubygems
Alias: None
Product: Fedora
Classification: Fedora
Component: distribution
Version: 19
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Marcela Mašláňová
QA Contact: Bill Nottingham
Depends On:
Blocks: 705513 705525 725733 725768
TreeView+ depends on / blocked
Reported: 2011-07-26 12:33 UTC by Marcela Mašláňová
Modified: 2014-03-17 03:28 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2013-08-30 14:37:01 UTC
Type: ---

Attachments (Terms of Use)

Description Marcela Mašláňová 2011-07-26 12:33:55 UTC
This bug will track all rubygems reviews, which depend on Java packages. Some bugs do not have correct or any Java package name, because there is needed opinion from advanced Java packager.

Comment 1 Vít Ondruch 2011-07-26 12:43:35 UTC
Currently, Google Closure Compiler [1] and YUI Compressor [2] are required.

[1] http://code.google.com/intl/cs/closure/compiler/
[2] http://developer.yahoo.com/yui/compressor/

Comment 2 Vít Ondruch 2011-07-26 14:03:33 UTC
The yui-compressor is required in version 2.4.4 and the Closure Compiler originally uses jar as of 2011-03-22. I guess both libraries could be used in newer versions if their command line parameters are backward compatible.

Comment 3 Jesus M. Rodriguez 2011-08-31 15:47:00 UTC
I recommend we simply require Closure Compiler to replace requires of yui-compressor. Closure Compiler states they are backwards compatible from a CLI point of view. This may simplify things.

Comment 4 Stanislav Ochotnicky 2011-09-12 14:14:01 UTC
So after reviewing closure compiler build/sources I have come to this: 
compiler has non-trivial dependencies and considering how small the package is, it's one of the ugliest beasts I've ever seen (and I've seen quite a few ugly ones).

A list of issues that will make it hard to get it to Fedora/RHEL:
1. It needs guava r09 which in turn needs openjdk 1.7.0 to compile (sun jdk 1.6.0 works fine, it's a bug in 1.6.0 openjdk javac, but still...).
2. It needs gwt - Google Web Toolkit. I know there are people working on getting it to Fedora right now, but it's non-trivial task. 
3. It bundles rhino sources and it's unknown if they are patched/modified in any way (my guess would be - yes). It then relocates/renames org.mozilla.javascript classes to com.google.javascript.jscomp.mozilla.rhino package name. This makes it virtually impossible to use upstream rhino without quite a few modifications of source code. It also seems to use latest 1.7r3 whereas fedora currently has 1.7r2 package (size of tarball went from 3MB to 4.5MB so I guess there will be quite a lot of changes)

I'll look into it more but I am really not a fan of Google java libraries (almost all of them contain these bundled traps).

Comment 5 Stanislav Ochotnicky 2011-09-12 14:32:46 UTC
Ah, sorry taking point 2 back. It's actually guava r09 that can build additional targets if gwt is available (not required though). Guava can be updated in F17+ without problems because we have openjdk 1.7.0 there. So in the end it's rhino bundling and relocation that's the biggest issue

Comment 6 Stanislav Ochotnicky 2011-10-10 14:42:20 UTC
I took a look at yuicompressor as well and the situation is somewhat better than closure-compiler.

Current release has modified Rhino 1.7R2 sources, but they are limited to 4 changed source files and package name stays the same so it causes less problems for us. There is an upstream bug [1] for updating rhino dependency to 1.7R3, which includes most of the rhino changes needed so only 1 changed source file is left. This still causes bundling clause of packaging guidelines to come into play though. So what we need is to merge needed changes to Rhino 1.7R4 (if there ever is one) and use latest yuicompressor.

That said, I still believe yuicompressor is a better choice from closure-compiler. If nothing else, it seems to be playing nicer with Rhino upstream which will matter to us in long-term.

[1] http://yuilibrary.com/projects/yuicompressor/ticket/2528105

Comment 7 Fedora End Of Life 2013-04-03 16:23:48 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:

Comment 8 Marcela Mašláňová 2013-08-30 14:37:01 UTC
Imho not needed anymore.

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