Ticket #27442 (closed defect: wontfix)
groovy @1.7.5 Compile error - build failure
| Reported by: | lyle2.0+macports@… | Owned by: | breskeby@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | ||
| Port: | groovy |
Description
Upgrading (or uninstalling/reinstalling) Groovy fails as follows:
$ sudo port install groovy ---> Computing dependencies for groovy ---> Building groovy Error: Target org.macports.build returned: shell command failed (see log for details) Log for groovy is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_java_groovy/main.log Error: Status 1 encountered during processing.
Attachments
Change History
comment:3 Changed 3 years ago by macsforever2000@…
- Keywords groovy compile failure removed
- Owner changed from macports-tickets@… to breskeby@…
comment:4 Changed 2 years ago by breskeby@…
- Status changed from new to assigned
I had a look at it and wondering why its compiling on my machine. Instead of getting a compiler error, I just got a warning:
-stagedcompile-groovy: [groovyc] Compiling 164 source files to /Users/Rene/temp/testgroovy/groovy-1.7.5/target/classes [groovyc] /var/folders/Vz/VzNG-a66FeetbrNeL6mWhk+++TM/-Tmp-/groovy-generated-6886142433661346346-java-source/groovy/swing/SwingBuilder.java:21: warning: [deprecation] FactoryBuilderSupport(groovy.lang.Closure) in groovy.util.FactoryBuilderSupport has been deprecated [groovyc] super ((groovy.lang.Closure)null); [groovyc] ^ [groovyc] Note: Some input files use unchecked or unsafe operations. [groovyc] Note: Recompile with -Xlint:unchecked for details. [groovyc] 1 warning
comment:5 Changed 2 years ago by breskeby@…
I am not able to reproduce your problem. could you remove the jline lib from your m2 repository and retry it? I assume that there's a versioning issue with this lib here.
regards, René
comment:6 Changed 2 years ago by lyle2.0+macports@…
Removing jline from my local maven repo did not fix the issue.
A little more investigation has me confused. Groovy 1.7.5 depends on jline 0.9.94 and is failing on a call to jline.ConsoleReader#setDefaultPrompt(String prompt). However, inspecting the actual jar file shipped with jline 0.9.94 doesn't show that method being defined at all.
$ pwd /Users/ldhanson2/.m2/repository/jline/jline/0.9.94 $ jar tf jline-0.9.94.jar |grep ConsoleReader jline/ConsoleReader.class jline/ConsoleReaderInputStream$ConsoleEnumeration.class jline/ConsoleReaderInputStream$ConsoleLineInputStream.class jline/ConsoleReaderInputStream.class $ javap jline.ConsoleReader|grep setDefault $
The method is definitely in the source distribution for jline 0.9.94, but again does not appear in the jar file:
$ cd ~/Downloads/jline-0.9.94/src/src/main/java/jline/
$ grep setDefaultPrompt *
ConsoleReader.java: public void setDefaultPrompt(String prompt) {
Compiling a trivial Java program which uses jline and trying to use the setDefaultPrompt method results in the same error. Am I missing something, or is this a problem with the jline distribution?
comment:7 Changed 2 years ago by ryandesign@…
groovy was updated to 1.8.0; do you still see the problem?
comment:8 Changed 2 years ago by lyle2.0+macports@…
The problem was that apparently on my OS X installation there existed /Library/Java/Extensions/jline-0_9_5.jar, and that path is automatically added to the classpath so I was seeing strange results at compile-time as well as inaccurate results from javap stemming from this older version of jline. More explanation on the stackoverflow question I posed.
It's an unfortunate side-effect of the way Apple's Java installation is set up, so the issue can be closed.


Error log