Bug 195985 - [MAINTAINER] java/eclipse: Update to 4.4.2
Summary: [MAINTAINER] java/eclipse: Update to 4.4.2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-15 05:13 UTC by Jimmy Kelley
Modified: 2015-03-21 16:47 UTC (History)
6 users (show)

See Also:


Attachments
SVN diff (152.22 KB, patch)
2014-12-15 05:13 UTC, Jimmy Kelley
no flags Details | Diff
eclipse 4.4.2 patch (156.64 KB, patch)
2015-03-20 20:27 UTC, Jimmy Kelley
ljboiler: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jimmy Kelley 2014-12-15 05:13:36 UTC
Created attachment 150595 [details]
SVN diff

Update the Eclipse port to version 4.4.1 (Luna SR-1).
Comment 1 Michael Zhilin 2014-12-26 18:34:19 UTC
Please ship it! It will be best present for New Year!
Comment 3 John Marino freebsd_committer 2015-01-20 19:11:39 UTC
Hi Jimmy,

Two major things.
One, you changes this to require openjdk8 but didn't mention that.  I assume this means openjdk8 is the minimum requirement for this.

Related, this a major upgrade to eclipse, but there is no mention of an "exp-run" on all the eclipse plugins.

I think we need to see a poudriere bulk run on not only eclipse, but all the plugins (or a report, pass/fail on if they build and work).  Also, do the plugins need openjdk7 or 8?  Is it a concern at all?

I'm trying to avoid updating eclipse and not knowing about big fallout on the plugins.  We need to understand which plugins need to be removed as a result of this upgrade, before we upgrade.
Comment 4 Michael Zhilin 2015-01-20 20:10:18 UTC
Hi John, Jimmy,

I would like to share some thoughts about JDK version.

According to release notes (http://www.eclipse.org/eclipse/development/readme_eclipse_4.4.php#TargetOperatingEnvironments) both JVM versions are supported. But JVM v8 have several advantages like lambdas, Nashorn, performance improvement and so on. Moreover, Oracle JDK7's end of life is in few months (http://www.oracle.com/technetwork/java/eol-135779.html). From my perspective, if there is choice between 2 versions of JDK for maintenance of any product, I prefer latest build of latest JDK version.

Best regards,
  Michael
Comment 5 Jimmy Kelley 2015-01-21 03:31:18 UTC
OpenJDK 8 is required to build this port and the Makefile indicates this with the JAVA_VERSION, but, as is with most versions of Eclipse, it will run on an older version of the JRE.  Let me throw out this idea:  why not allow the port be packaged without ANY Java runtime dependency defined, and let the end user pick and install the one they want to run with (and note this with a pkg-message).

As to all the eclipse plugin ports, I will go through all of them and make recommendations as to which ones could be deleted because the appropriate versions are easily installed by using the built-in update manager, and note which ones will probably need to be updated because the version(s) of Eclipse they are documented to support.
Comment 6 John Marino freebsd_committer 2015-01-21 10:11:32 UTC
If openjdk8 is required to build, so be it.  It's not the only port like that (see minecraft).  I don't think a change is required.

Thanks in advance for checking all the plugins.
Comment 7 John Marino freebsd_committer 2015-02-16 07:52:54 UTC
Has any progress been made?

As a separate point of interest, I have openjdk7 built by gcc-5, and it fails to build eclipse with this message:

[ERROR] Failed to execute goal org.eclipse.tycho.extras:tycho-eclipserun-plugin:0.19.0:eclipse-run (dont_skip_me) on project org.eclipse.platform.doc.isv: Error while executing platform: Error while executing platform (return code: 13) -> [Help 1]

so I would be interesting in getting the new eclipse in there.
Comment 8 Jimmy Kelley 2015-02-26 03:55:18 UTC
Ok, here's what I found for all the ports that have a run-depends on Eclipse:

  java/veditor			- OK
  java/phpeclipse		- OK
  java/eclipse-windowbuilder	- OK; needs to be made FreeBSD-native
  java/eclipse-webtools		- old, can't update, should just install from
                                  Eclipse site
  java/eclipse-datatools	- old, can update, should just install from
                                  Eclipse site
  java/eclipse-gef		- old, can update, should just install from
                                  Eclipse site
  java/eclipse-emf		- old, can update, should just install from
                                  Eclipse site
  java/eclipse-viplugin		- doesn't work
  devel/mercurialeclipse	- OK
  devel/scala-ide		- doesn't work properly
  devel/subclipse		- can't get it to browse the FreeBSD SVN ports
                                  with the SVN protocol, http works OK; update
                                  available
  devel/subversive		- OK
  java/commonclipse		- doesn't work, very old
  java/eclipse-EPIC		- OK
  java/eclipse-RDT		- superseded by Aptana
  java/eclipse-aptana		- doesn't seem to work; use Aptana Studio 3
  java/eclipse-aptana-radrails	- doesn't seem to work; use Aptana Studio 3
  java/eclipse-aptana2		- doesn't seem to work; use Aptana Studio 3
  java/eclipse-cdt		- Old; throwing error about "spawner"; needs to
                                  be made FreeBSD-native
  java/eclipse-checkstyle	- doesn't seem to work; update available
  java/eclipse-drjava		- OK
  java/eclipse-examples		- old version
  java/eclipse-findbugs		- OK
  java/eclipse-gef-examples	- old version
  java/eclipse-hibernatetools	- crashed Java VM when trying to use it; update
                                  is available
  java/eclipse-jad		- doesn't work with Eclipse 4.x
  java/eclipse-langpack		- crashed X server! update available
  java/eclipse-log4e		- OK
  java/eclipse-lomboz		- does something, very old
  java/eclipse-ocl		- seems to work
  java/eclipse-pmd		- doesn't seem to work
  java/eclipse-propedit		- doesn't work; update is available
  java/eclipse-pydev		- OK
  java/eclipse-quantum		- OK
  java/eclipse-shelled		- OK; update is available
  java/eclipse-sqlexplorer	- doesn't work; update is available
  java/eclipse-sysdeo-tomcat	- not gonna bother - says it's for Tomcat 5 or
                                  earlier.
  java/eclipse-uml		- ?  Update is available.
  java/eclipse-vep		- old; superseded by Eclipse WindowBuilder
  java/eclipse-vep-examples	- old; superseded by Eclipse WindowBuilder

Just about everything needs to be updated, the "superseded" ones probably need to be removed.  None of these should have their own "USE_JAVA" or "JAVA_VERSION" because that can cause multiple java ports being installed when only the one needed for Eclipse itself is needed.
Comment 9 John Marino freebsd_committer 2015-02-26 06:47:44 UTC
Okay, wow, these are not in good shape collectively.  I understand that you tested with eclipse 4.4.1, but I can infer many of these marked "don't work" probably don't work for the current version of eclipse either.

in one particular case you have "use aptana-3" in 4 places, but of course aptana-3 doesn't exist in ports.

So I propose that you break this list up into 4 categories:

category 1) completely ok, no action required
category 2) hopeless, mark it for removal in 4 weeks
category 3) mark "ignore" with a message that it will be updated soon
category 4) new ports that must be created.


Let's be pretty agressive here.  If it works or mostly works, but an update is available or it should be converted to native (whatever that means) then put it in category 3.  Any extension that you think isn't worth time, just dump in category 2.  Category 4 may have very few entries, e.g. one, aptana-3

From what I can tell, most extensions will end up in category 2 destined for removal and that's fine with me. 

Can you make the call on each extension?
Comment 10 Michael Zhilin 2015-02-26 09:44:29 UTC
Hi,

At first, thank you for your effort!

I would like to share my experience of usage of Eclipse 4.4.1. I installed it on December and use it for my daily tasks (Java, Python, C).

Extensions:

 I installed no extension from ports, all extension have been installed from update sites and stored into $HOME/.eclipse folder. CDT/PyDev/MAT work fine, but jgit caused 100% cpu, so I don't use it. To be honest, my preferable way of extension installation is from Update Site, because:
 - I can drop them all when I want (no need of root access), 
 - Eclipse notifies me when new version is released,
 - All extensions are installed in same way (to be honest not all extensions are present in ports), except native libs.
Disclaimer: I don't know how/why CDT from update site works fine on my machine (may be thanks to linuxulator).

Theme:

 Original UI disappointed me. So I've adjusted GTK theme and updated eclipse shell script like:
GTK2_RC_FILES=${ECLIPSE_HOME}/gtkrc.eclipse JAVA_VERSION... exec "${ECLIPSE_HOME}/eclipse" $@

The file gtkrc.eclipse is:
style "gtkcompact" {
GtkButton::default_border={0,0,0,0}
GtkButton::default_outside_border={0,0,0,0}
GtkButtonBox::child_min_width=0
GtkButtonBox::child_min_heigth=0
GtkButtonBox::child_internal_pad_x=0
GtkButtonBox::child_internal_pad_y=0
GtkMenu::vertical-padding=1
GtkMenuBar::internal_padding=0
GtkMenuItem::horizontal_padding=4
GtkToolbar::internal-padding=0
GtkToolbar::space-size=0
GtkOptionMenu::indicator_size=0
GtkOptionMenu::indicator_spacing=0
GtkPaned::handle_size=4
GtkRange::trough_border=0
GtkRange::stepper_spacing=0
GtkScale::value_spacing=0
GtkScrolledWindow::scrollbar_spacing=0
GtkTreeView::vertical-separator=0
GtkTreeView::horizontal-separator=0
GtkTreeView::fixed-height-mode=TRUE
GtkWidget::focus_padding=0
font_name = "xxxxx 9"
}
class "GtkWidget" style "gtkcompact"

After that change UI looks match better. 

Eclipse 4.4.2: 
   Eclipse 4.4.2 is to be released tomorrow, so it will be nice if you can update ports to version 4.4.2.

Please feel free to ask me any questions.

Sincerely yours,
  Michael
Comment 11 John Marino freebsd_committer 2015-03-18 13:48:01 UTC
(In reply to John Marino from comment #9)
any news here?
You've got the attention of a ports committer, don't squander that opportunity!  Many PRs don't even get looked at.
Comment 12 Jimmy Kelley 2015-03-19 12:44:26 UTC
(In reply to John Marino from comment #11)
Please bear with me for another day; I'm in the process of doing poudriere testport runs on the 4.4.2 release update.
Comment 14 Jimmy Kelley 2015-03-20 21:02:53 UTC
(In reply to John Marino from comment #9)
And now my take on the eclipse-dependent ports.  Since installing stuff from the Eclipse Marketplace or other easily Googled update site seems to work very well, I figured why not let users get things from those sites rather than fill the ports tree with stuff.  The ones that need to be "native" (those that ask the Java VM "what platform am I running on?" and won't work at all or have major features disabled because it doesn't understand "FreeBSD") are the ones that need to be in the ports tree. I have assigned the categories you suggested:

  java/veditor			- [1]
  java/phpeclipse		- [1]
  java/eclipse-windowbuilder	- [3]
  java/eclipse-webtools		- [2]
  java/eclipse-datatools	- [2]
  java/eclipse-gef		- [2]
  java/eclipse-emf		- [2]
  java/eclipse-viplugin		- [2]
  devel/mercurialeclipse	- [1]
  devel/scala-ide		- [2]
  devel/subclipse		- [2]
  devel/subversive		- [1]
  java/commonclipse		- [2]
  java/eclipse-EPIC		- [1]
  java/eclipse-RDT		- [2]
  java/eclipse-aptana		- [2]
  java/eclipse-aptana-radrails	- [2]
  java/eclipse-aptana2		- [2]
  java/eclipse-cdt		- [3]
  java/eclipse-checkstyle	- [2]
  java/eclipse-drjava		- [1]
  java/eclipse-examples		- [2]
  java/eclipse-findbugs		- [1]
  java/eclipse-gef-examples	- [2]
  java/eclipse-hibernatetools	- [2]
  java/eclipse-jad		- [2]
  java/eclipse-langpack		- [2]
  java/eclipse-log4e		- [1]
  java/eclipse-lomboz		- [1]
  java/eclipse-ocl		- [1]
  java/eclipse-pmd		- [2]
  java/eclipse-propedit		- [2]
  java/eclipse-pydev		- [1]
  java/eclipse-quantum		- [1]
  java/eclipse-shelled		- [1]
  java/eclipse-sqlexplorer	- [2]
  java/eclipse-sysdeo-tomcat	- [2]
  java/eclipse-uml		- [2]
  java/eclipse-vep		- [2]
  java/eclipse-vep-examples	- [2]
Comment 15 John Marino freebsd_committer 2015-03-21 09:50:58 UTC
There are 25 [2] ports and 1 [3] ports that I will break/ignore momentarily, but ale@ and @nivit own some, and kami@ owns one.  I'm adding them to the PR so they know what is going on.
Comment 16 commit-hook freebsd_committer 2015-03-21 09:55:55 UTC
A commit references this bug:

Author: marino
Date: Sat Mar 21 09:54:57 UTC 2015
New revision: 381787
URL: https://svnweb.freebsd.org/changeset/ports/381787

Log:
  eclipse plugins: Deprecate 25 for removal, ignore 1 to be updated

  Removal scheduled 4 weeks into the future on April 18.

  PR:		195985
  Submitted by:	Jimmy Kelley (eclipse maintainer)
  Reason:		by-product of upcoming eclipse upgrade

Changes:
  head/devel/scala-ide/Makefile
  head/devel/subclipse/Makefile
  head/java/commonclipse/Makefile
  head/java/eclipse-RDT/Makefile
  head/java/eclipse-aptana/Makefile
  head/java/eclipse-aptana-radrails/Makefile
  head/java/eclipse-aptana2/Makefile
  head/java/eclipse-cdt/Makefile
  head/java/eclipse-checkstyle/Makefile
  head/java/eclipse-datatools/Makefile
  head/java/eclipse-emf/Makefile
  head/java/eclipse-examples/Makefile
  head/java/eclipse-gef/Makefile
  head/java/eclipse-gef-examples/Makefile
  head/java/eclipse-hibernatetools/Makefile
  head/java/eclipse-jad/Makefile
  head/java/eclipse-langpack/Makefile
  head/java/eclipse-pmd/Makefile
  head/java/eclipse-propedit/Makefile
  head/java/eclipse-sqlexplorer/Makefile
  head/java/eclipse-sysdeo-tomcat/Makefile
  head/java/eclipse-uml/Makefile
  head/java/eclipse-vep/Makefile
  head/java/eclipse-vep-examples/Makefile
  head/java/eclipse-viplugin/Makefile
  head/java/eclipse-webtools/Makefile
Comment 17 John Marino freebsd_committer 2015-03-21 10:33:29 UTC
I think the Makefile.plugins patch is wrong

1) I guess JAVA_VERSION should be 1.7+, not 1.7 
2) the "@dir" line was removed and replaced with "@dirrm".  That's incorrect.  @dirrm is not used anymore.
Comment 18 John Marino freebsd_committer 2015-03-21 10:36:33 UTC
since the changes to Makefile.plugins is just a revert of the last commit to the file, I'm going to assume that you created the diff using an old version of Makefile.plugin and didn't realize it had been changed.
Comment 19 commit-hook freebsd_committer 2015-03-21 10:41:00 UTC
A commit references this bug:

Author: marino
Date: Sat Mar 21 10:40:53 UTC 2015
New revision: 381788
URL: https://svnweb.freebsd.org/changeset/ports/381788

Log:
  java/eclipse: Upgrade version 4.3.2 => 4.4.2

  Note that Eclipse now requires openJDK8 to build.

  PR:		195985
  Submitted by:	Jimmy Kelley (maintainer)

Changes:
  head/java/eclipse/Makefile
  head/java/eclipse/Makefile.plugins
  head/java/eclipse/distinfo
  head/java/eclipse/files/patch-aggregator
  head/java/eclipse/files/patch-freebsd_natives
  head/java/eclipse/files/patch-submodules
  head/java/eclipse/scripts/pre-patch
Comment 20 John Marino freebsd_committer 2015-03-21 11:20:31 UTC
Thanks!
Comment 21 John Marino freebsd_committer 2015-03-21 16:40:17 UTC
java/eclipse-ocl and java/eclipse-quantum have to be deprecated too.  They depend on eclipse-emf and eclipse-gef
Comment 22 commit-hook freebsd_committer 2015-03-21 16:47:31 UTC
A commit references this bug:

Author: marino
Date: Sat Mar 21 16:46:53 UTC 2015
New revision: 381798
URL: https://svnweb.freebsd.org/changeset/ports/381798

Log:
  java/eclipse-(ocl|quantum): Deprecate due to deprecated run dependencies

  PR:	195985

Changes:
  head/java/eclipse-ocl/Makefile
  head/java/eclipse-quantum/Makefile