Bug 1392131
Summary: | Update closure-compiler | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Orion Poplawski <orion> | ||||
Component: | closure-compiler | Assignee: | Orphan Owner <extras-orphan> | ||||
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | do, me+bugs, per, zbyszek | ||||
Target Milestone: | --- | Keywords: | Tracking | ||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2020-08-18 12:24:33 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: |
|
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle. Changing version to '26'. Updating closure-compiler would be beneficial for DomTerm (see issue 1424890). It would reduce the JavScript by about 100k (before zip-compression). The version of closure-compiler in f26 is very old! There are many new releases with important features. Once such feature is the processing of UMD modules which landed in 2016-06-19 [0]. Without this feature, processing the majority of libraries in npm with closure compiler is not possible. [0]: https://github.com/google/closure-compiler/commit/aa0a99cf380b05b2185156735d023b6fa78ec4ac I checked out the source for this package, and there have been some changes: 1. the 'maven-release-vXXXX.tar.gz' is now called 'closure-compiler-parent-vXXXX.tar.gz' 2. Three new mvn dependencies which are not packaged by fedora: com.google.errorprone:error_prone_annotations, com.google.auto.value:auto-value, com.google.jsinterop:jsinterop-annotations) That's as far as I got. I'm afraid I don't have time this weekened to dive down that rabbit hole up maven deps. This message is a reminder that Fedora 26 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 26. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '26'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 26 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. This doesn't just apply to Fedora 26. The 20160315 Closure Compiler version is still being used in Fedora 27, 28, and 29 (https://apps.fedoraproject.org/packages/closure-compiler/builds/). The current latest version is 20180610. The situation is not good. There's a bunch of new dependencies. Apart from com.google.jsinterop:*, google's truth, error-prone, checker-framework, and some other stuff. Following the dep tree we immediately run into projects using gradle to build, and gradle requires groovy and kotlin. I could package a few maven projects, but anything that requires gradle is a no-go currently. (If anyone wants to follow up on that, I can post the specs for error-prone and truth, which don't build because of missing deps). I also looked into converting gradle.build files into maven using gradle2maven, but g2m only supports some very basic constructs, so this doesn't go anywhere. Dunno, without a major effort to support gradle in Fedora, I think it'll be harder and harder to build java projects in Fedora. I'll push a fix for FTBFS in F32+, but with the same old version. This package has changed maintainer in the Fedora. Reassigning to the new maintainer of this component. Automation has figured out the package is retired in rawhide. If you like it to be unretired, please open a ticket at https://pagure.io/releng/new_issue?template=package_unretirement |
Created attachment 1217519 [details] closure-compiler.spec for 20160517 Description of problem: closure-compiler is quite old. Many newer releases have been made. That said, I tried to update to 20161024 and ran into missing deps, one of which was com.google.jsinterop:jsinterop-annotations. I tried to update to 20160517 but ended up with: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile (default-compile) on project closure-compiler-unshaded: Compilation failure: Compilation failure: [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/parsing/JsDocInfoParser.java:[1216,41] error: cannot find symbol [ERROR] symbol: method javaUpperCase() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/parsing/JsDocInfoParser.java:[1217,19] error: cannot find symbol [ERROR] symbol: method javaLetterOrDigit() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/deps/JsFileLineParser.java:[275,23] error: cannot find symbol [ERROR] symbol: method whitespace() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/deps/DepsFileParser.java:[185,19] error: cannot find symbol [ERROR] symbol: method whitespace() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/deps/JsFunctionParser.java:[150,19] error: cannot find symbol [ERROR] symbol: method whitespace() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/deps/JsFileParser.java:[194,22] error: cannot find symbol [ERROR] symbol: method whitespace() [ERROR] location: class CharMatcher [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/ConformanceRules.java:[1029,20] error: cannot find symbol [ERROR] symbol: method isSupertypeOf(TypeToken<AbstractCompiler>) [ERROR] location: variable param1 of type TypeToken<?> [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/ConformanceRules.java:[1029,59] error: cannot find symbol [ERROR] symbol: method isSupertypeOf(TypeToken<Requirement>) [ERROR] location: variable param2 of type TypeToken<?> [ERROR] /builddir/build/BUILD/closure-compiler-maven-release-v20160517/src/com/google/javascript/jscomp/ConformanceRules.java:[1055,19] error: cannot find symbol [ERROR] symbol: method isSupertypeOf(TypeToken<CAP#1>) [ERROR] location: variable RULE_TYPE of type TypeToken<Rule> [ERROR] where CAP#1 is a fresh type-variable: [ERROR] CAP#1 extends Object from capture of ?