Eclipse Platform on Java 9 b118

I’d taken a little break from testing Eclipse Platform on Java 9 Jigsaw builds. A few nights ago, I pulled down the latest builds of both and gave them a spin.

I pulled down build 118 of the 64 bit Linux version of the Java 9 JDK. The last time I did this, the Jigsaw builds were separate, but they’ve since replaced the Java 9 builds, so when you download Java 9 you now get Jigsaw. It’s currently delivered as a .tar.gz file, so I extracted it into a directory on my system.

I then turned my attention to the Eclipse Installer which has a handy feature that hunts down JREs installed on your system and lets you pick the one that you want to use. It also has a handy feature that lets you manually add JREs to the list. The installer includes some logic to help the user avoid making a poor choice, and changes in the way that the JRE reports its version means that the installer doesn’t recognise this particular version of the JRE as a JRE and won’t let you select it (see Bug 493759). I decided to install the latest Neon M7 build anyway using a Java 8 JRE. I launched my newly-installed configuration.

I added the Java 9 Support (Beta) feature from the Eclipse Marketplace. You can install it yourself by simply dragging and dropping the “Install” button below onto your Neon version of Eclipse Platform:

Drag to your running Eclipse workspace to install Java 9 Support (BETA) for Neon

The last time I tested this, I needed to have Eclipse JDT run on the Java 9 JRE to use the Java 9 support; but now, the Java 9 support seems to work just fine when running the Eclipse JDT on a Java 8 runtime. The JDT team has done some significant work, it seems, since I last looked.

I added the Java 9 JRE to the Installed JREs page in the preferences and was able to create and run a Java 9 application.

InstalledJREs

The bits that I tested all seem to work as expected; e.g. the Package Explorer lists modules.

Java9App

I only spent a few minutes poking around before moving on to the next task: I wanted to get the Eclipse Platform itself running on this Java 9 build.

I tweaked the eclipse.ini file to point to the Java 9 JVM, by adding the path to the JVM at the top of the file:

-vm
/home/apps/jdk-9/bin

I launched the Eclipse Platform and got as far as selecting the workspace before it died with a message to check the log. I opened Bug 493761. The JDT team engaged within hours. Tom Watson (from the Equinox project team) determined that a change in the boot classpath configuration is the cause and suggested as a workaround to add some additional configuration to the configuration file (after the -vmargs line) to ensure that the necessary modules are available.

-addmods
java.se.ee

For more information, see JEP 261. With that modification, everything works as expected.

The workaround is not optimal. For one, the Eclipse Platform fails to launch with this option when you launch under Java 8. The JDT team is looking for a better solution.

Your help is appreciated. If you have the time, please test this yourself and report any new information that you discover.

Posted in Java, Neon, Screenshots | Leave a comment

Git Staging View

I’ll admit that I never bothered much with the Git Staging View before now, preferring instead to make all of my commits from the Commit dialog.

The milestone seven (M7) builds of the Neon versions of the various Eclipse IDE downloads now all bring the Git Staging view to the top instead of opening the Commit dialog when you invoke the “Commit…” command.

Screenshot from 2016-05-16 15-33-08

This is configurable in the preferences (on by default).

Screenshot from 2016-05-16 15-46-51

Using the view requires a bit of a change in my habits, and so it will probably take a few iterations before it starts to get comfortable, but it’s a change that I think is worth making: probably every other time I open the Commit dialog, I have to close it to go and copy some bits of a comment that I want to put into the commit message, before opening it again. The non-blocking nature of views makes this problem go away.

Dragging and dropping between unstaged and staged changes is also darned handy.

The Eclipse Neon Simultaneous Release is scheduled for June 22/2016. Milestone (developer) builds of the Eclipse IDEs for this release are now available as Developer Builds on the Eclipse download site.

Posted in Neon, Screenshots | 6 Comments

Great Fixes from Till Brychcy

Our third winner in the Great Fixes for Neon skills competition is Till Brychcy.

Till has used the Eclipse Java development tools (JDT) since 2003, and made his first contribution in 2013. In the time between the 2015 Mars release and today, Till has had 41 separate commits accepted by the JDT project team—most of which provide improvements in the null analysis support—adding almost 20K net new lines of code.

Till quite likes the annotation based null analysis that was introduced with Eclipse JDT 3.8 and is looking forward to Substring code completion and the problem decorator for Info severity introduced in the M5 Neon milestone builds.

substring-code-completion

The Great Fixes Candidates page shows a list of the commits attributed to Till, along with those of the other Great Fix candidates.

Eclipse Neon is on track to be released into the world on June 22/2016. But you can download and test out the latest milestone builds today.

Edit: Till has been invited to join the JDT team as a committer.

Posted in Announcements, Community, Great Fix, Neon, Uncategorized | Leave a comment

Great Fixes from Nathan Ridge

Our second winner in the Great Fixes for Eclipse Neon Skills Competition is Nathan Ridge. Nathan made eighty qualifying contributions to the Eclipse C/C++ Development Tools (CDT) project.

Nathan uses CDT both in his day job, which involves systems programming in C++, and in personal projects, which are mostly small fun projects primarily for learning, also in C++. He uses both gcc and clang, primarily on Linux, though most of the code that he writes is cross-platform. He likes the CDT editor’s code navigation features, which he finds invaluable for finding his way around large code bases.

Nathan started filing bugs against the CDT in 2010, and started fixing them in late 2012. He was nominated to become a committer on the project in January 2016 by committer Sergey Prigogin, was enthusiastically endorsed by the project team, and has joined the team. He has made more than thirty commits since becoming a project committer.

The Great Fixes Candidates page shows a list of the commits attributed to Nathan, along with those of the other Great Fix candidates.

Eclipse Neon is the eleventh named simultaneous release of Eclipse projects. Our first official simultaneous release, Eclipse Callisto included ten open source projects; with Neon, we coordinate the release of 87 open source projects. Participating projects commit to implement a set of participation requirements and agree to produce regular milestone builds following the schedule established by the Eclipse Planning Council. Project teams engage in regular inter-project communication via the cross-project-issues-dev mailing list.

 

Posted in Announcements, Great Fix, Neon | Leave a comment

Great Fixes from Eric Williams

Updating to GTK3 has been a bit of a challenge. While researching this problem earlier this year, I ran across countless blog posts, and forum comments from all sorts of open source project teams that were frustrated with their own efforts to update to GTK. Some had starting making plans to just abandon it, but that’s just not a realistic option for the Eclipse Platform.

eclipse-screenshot3

Getting our GTK3 binding running well was selected by the Eclipse Architecture Council as the highest priority work item for the Friends-Enabled Eclipse IDE/Platform Enhancements Program (FEEP): we allocated some development funds for it last year, but finding the right combination of skills and experience to complete the work has been challenging. That is, until the team from Red Hat stepped up.

Red Hat developers (along with others from IBM and Ericsson) have been steadily improving the implementation for a couple of years, but the bulk of the work has been done in the last year with the majority of the commits coming from third-year Computer Science undergraduate student, Eric Williams.

Eric is working at Red Hat in a sixteen month co-op (intern) programme as part of the University of Toronto’s Professional Experience Year (PEY). He returns to school in September 2016 to finish his last year. Eric credits his managers Alexander Kurtakov and Martha Benitez, and mentor Leo Ufimtsev (Alexander and Leo are Eclipse SWT committers) for getting him set up to make real contributions to a thriving open source project and providing what he calls a “fantastic experience”.

In recognition of his efforts, Eric was asked by the SWT project team to join them as a committer; happily, he’s accepted the nomination. In appreciation for his Great Fix contributions, we’re sending Eric a Samsung Galaxy S6.

The Great Fixes Candidates page shows a list of the commits attributed to Eric, along with those of the other Great Fix candidates.

Posted in Announcements, Great Fix, Neon | Leave a comment

Great Fixes for Neon

Great Fixes for Eclipse Neon is a skills competition. Flex your Eclipse development skills for an opportunity to win prizes and acclaim!

A Great Fix is a contribution provides a significant improvement in projects participating in the Eclipse Neon Simultaneous Release, with a particular focus on projects that contribute to the desktop Eclipse IDE experience.

This competition has been in progress since June 2015: if you’ve submitted a patch that’s been accepted, then you’re already on the pool of potential winners. It’s not too late to join. The final deadline to have your patches accepted is May 26/2016, but the effective deadline for many projects is the Eclipse Neon M7 milestone date (after M7, most projects will only accept critical fixes; check with the project team).

To enter, all you need to do is a submit one or more patches. All contributions that are accepted by the corresponding project team and merged into the project code base before the deadline automatically qualify.

To qualify for consideration as a Great Fix, a contribution must:

  • Be for a project that is participating in the Eclipse Neon Simultaneous Release;
  • Be submitted between June 24/2015 and May 26/2016;
  • Be submitted by a non-committer;
  • Be accepted by a project committer and merged into the corresponding source code repository; and
  • Be deemed “significant” by the Architecture Council.

Fixes may be considered individually or in groups. Priority will be given to fixes that address the issues identified as high-value by the Architecture Council or otherwise improve the desktop IDE experience. Members of the Architecture Council are excluded from winning.

We’ve set up a page that lists all of the candidates based on a query against our Git commit index. Note that this list is provided for informational purposes only and that it may contain errors due to limitations in the underlying data. It will be used as input into the process.

Prizes are Android devices. There will be ten winners.

The Architecture Council will start picking weekly winners out of the pool on April 15th.

Posted in Great Fix, Neon | Leave a comment

Quick Access to Eclipse IDE Features

As Lars points out on the ide-dev mailing list, a lot of Eclipse IDE users aren’t aware of some very handy features, especially the one-feature-to-rule-them-all: Quick Access.

In an Eclipse IDE, Quick Access will take you quickly to the feature you need. To activate Quick Access, type Ctrl+3 and start typing (or click in the entry field in the toolbar and start typing).

Screenshot from 2016-04-06 15-24-27

Quick Access will find and list all of the features that match what you type, including commands, views, editors, menus, preferences, and perspectives. Selecting an entry will take the appropriate action for whatever is selected (e.g. invoke the command or open the preferences page).

Note that if they exist, the list of available features will include key bindings. You get at the full list of key bindings (Key Assist) by typing Ctrl+Shift+L.

I’m not sure what the key bindings for Quick Access or Key Assist are on the Mac, but if you’re using a Mac, start typing in the Quick Access toolbar field to find out…

Posted in Eclipse 101, Screenshots | 10 Comments