blob: 3f73494a6fa8d352977cfd8d94bb143b359eb75e [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="default_style.css" type="text/css" title="main" media="screen" />
<title>Eclipse Project 4.4 M1 News</title>
</head>
<body>
<h1>Eclipse Project 4.4 M1 - New and Noteworthy</h1>
<p>Here are some of the more noteworthy things available in milestone build M1
(August 9, 2013) which is now available for <a href="http://download.eclipse.org/eclipse/downloads/" target="_top">download</a>.
</p>
<ul>
<li><a href="#Platform">Platform</a></li>
<li><a href="#JDT">JDT</a></li>
<li><a href="#PDE">PDE</a></li>
<li><a href="#Equinox">Equinox</a></li>
</ul>
<table class="news" border="0" cellpadding="10" cellspacing="0" width="80%">
<tr>
<td colspan="2" class="section" id="Platform">Platform</td>
</tr>
<tr id="e4-views-1">
<td class="title">Contribute E4 Views into the IDE</td>
<td class="content">
As part of our goal to remove some of the barriers between e4-based code and the IDE
we've just added a new element 'e4view' into the <code>org.eclipse.ui.views</code>
extension point. This allows you to declare a new view for the IDE whose implementation
is done in the e4 style (i.e. an annotated POJO).
<p>
<img src="images/new-e4view-extension.png" alt="new extension"/>
</p><p>
The new type of extension is identical to the original 'view' except for relaxing the
requirement that the 'class' implement IViewPart.
</p><p>
This is the first trial run for this type of extension. Once we are sure we have the pattern
correct, we'll make similar changes to other extension points such as <code>org.eclipse.ui.menus</code>.
</p><p>
For those that are unaware of the e4 way of coding, here's what the implementation of an e4 view
looks like:
</p>
<pre>
import javax.annotation.PostConstruct;
import org.eclipse.e4.ui.di.Focus;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
public class RealE4View {
Label label;
@PostConstruct
void createView(Composite parent) {
label = new Label(parent, SWT.BORDER);
label.setText("Testing");
}
@Focus
void setFocus() {
label.setFocus();
}
}
</pre>
<p>
Note how it's a simple POJO and how few dependencies it has; this has already proven itself as
a far more convenient way to write the code and has great advantages in testing (because of its
few dependencies).
</p>
</td>
</tr>
<tr id="e4-views-2">
<td class="title">Tweaking the UX</td>
<td class="content">
We've finally gotten to the point where we can return and address some of the current pain
points you all see when using Eclipse 4. This will be part of our focus for each milestone
in Luna...while not necessarily 'New' these changes *are* 'Noteworthy'...;-).
<p>
First up is fixing how we handle minimized views that are brought up by the framework
being hard to dismiss. The most common (and justifiably complained about) use case for
this is having the Debug view overlay the editor when it hits a breakpoint. This has
been refactored to match the 3.x behavior more closely and should now work as expected.
</p><p>
Next up will be re-enabling the ability to reorder the perspectives on the perspective bar.
</p>
</td>
</tr>
<tr id="signed-executables">
<td class="title">Signed SDK Executables (for Windows and Mac)</td>
<td class="content">Thanks to the efforts of the
Eclipse Foundation (see <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=388878">bug
388878</a>), we now provide signed Windows and Mac
executables for the Eclipse SDK. This improves the initial impression of the
software, as well as improves security for you, since
there is no need to disable "Gatekeeper" or other
security measures of the operating systems.
</td>
</tr>
<tr id="recenter-command">
<td class="title">Improved Recenter command</td>
<td class="content">
Like in Emacs, the <b>Recenter</b> command in textual editors now cycles between center, bottom and top.
</td>
</tr>
<tr id="ant-1.9.2-update">
<td class="title">Ant 1.9.2</td>
<td class="content">
The platform has been updated to use the latest version of Apache Ant (1.9.2). For
more information on what is new in Ant 1.9.2, see the official <a href="http://mirror.olnevhost.net/pub/apache//ant/README.html">what's new</a>.
</td>
</tr>
<tr id="ant-bree-update">
<td class="title">Platform Ant BREE update</td>
<td class="content">
Platform Ant has had a BREE update to require a Java 1.6 compatible execution environment (or newer).
</td>
</tr>
<tr id="ant-view-collapse-all">
<td class="title">Collapse All in Ant view</td>
<td class="content">
The Ant view now supports the <b>Collapse All</b> command:
<p>
<img src="images/ant-view.png" alt="The Ant view showing the collapse all action"/>
</p>
</td>
</tr>
<tr>
<td class="title">Platform Debug BREE update</td>
<td class="content">
Platform Debug has had a BREE update to require a Java 1.6 compatible execution environment (or newer).
</td>
</tr>
<tr>
<td colspan="2" class="section" id="JDT">JDT</td>
</tr>
<tr id="junit-failure-trace-font">
<td class="title">Failure trace font for the JUnit view</td>
<td class="content">
The font for the failure trace in the JUnit view is now configurable on the <b>General &gt; Appearance &gt; Colors and Fonts</b> preference page.
<p><img src="images/junit-failure-trace-font.png" alt=""/></p>
</td>
</tr>
<tr id="contrib-jres">
<td class="title">Contributed VMs are more recognizable</td>
<td class="content">
You can't remove VMs that have been contributed to Eclipse via the <code>org.eclipse.jdt.launching.vmInstalls</code> extension point.This
fact is now more recognizable:
<p>
<img src="images/contrib-vm.png" alt="The Installed JREs preference page showing a contributed VM install"/>
</p>
</td>
</tr>
<tr id="improved-hcr">
<td class="title">Improved HCR for member types</td>
<td class="content">
Hot Code Replace (HCR) has been improved in the Java debugger to ensure the correct method is dropped to
in member types (inner / anonymous / local classes).
<p>
For more information see the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=409023">bugzilla entry</a>.
</p>
</td>
</tr>
<tr>
<td colspan="2" class="section" id="PDE">PDE</td>
</tr>
<tr id="target-statusbar">
<td class="title">Display target platform in the status bar</td>
<td class="content">
You can now have target platform information displayed in the workbench status bar. Currently it displays the active target
name and double clicking on it will open the <b>Target Platform</b> preference page. This feature can be enabled on the
<b>General &gt; Plug-in Development</b> preference page.
<p><img src="images/target-statusbar.png" alt="Target platform in the status bar"/></p>
</td>
</tr>
<tr id="pde-tracing">
<td class="title">PDE UI tracing options available</td>
<td class="content">
The tracing options provided by PDE UI can now be enabled from the <b>General &gt; Tracing</b> preference page:
<p><img src="images/pde-tracing.png" alt="PDE tracing options"/></p>
</td>
</tr>
<tr id="warn-platformadmin-unavailable">
<td class="title">Warning if PlatformAdmin is unavailable</td>
<td class="content">
PDE requires the PlatformAdmin service to function. The Equinox Framework has moved this service to the <b>org.eclipse.osgi.compatibility.state</b>
compatibility fragment. If the fragment is not installed, PDE will write an error to the log and will not function correctly. The fragment
is included in the Eclipse SDK, so most users will be unaffected.
<p><img src="images/platformadmin-message.png" alt="Error message for PlatformAdmin unavailable"/></p>
</td>
</tr>
<tr id="pde-build-6">
<td class="title">PDE Build moved to JavaSE-1.6</td>
<td class="content">
The org.eclipse.pde.build bundle now has a bundle required execution environment (BREE) of JavaSE-1.6, matching the Platform Ant bundles.
</td>
</tr>
<tr>
<td colspan="2" class="section" id="Equinox">Equinox</td>
</tr>
<tr id="framework-update">
<td class="title">Equinox OSGi framework update</td>
<td class="content">
The Equinox Framework implementation has been updated to implement the latest
API available for the upcoming OSGi R6 Framework specification. The OSGi
R6 Core Framework specification (finalized in March 2014) will contain
enhancements in the following areas:
<ul>
<li> Introduction of Service Scopes to the OSGi Service Registry
(<a href="http://www.osgi.org/Specifications/Drafts">RFC 195</a>)
</li>
<li> Improvements of Weaving Hooks
(<a href="http://www.osgi.org/Specifications/Drafts">RFC 191</a>)
</li>
<li> Clarification of hooks on the system bundle
(<a href="http://www.osgi.org/Specifications/Drafts">RFC 198</a>)
</li>
<li> Native environment namespace
(<a href="http://www.osgi.org/Specifications/Drafts">RFC 188</a>)
</li>
<li> Data Transfer Objects
(<a href="http://www.osgi.org/Specifications/Drafts">RFC 185</a>)
</li>
<li> Addition of FrameworkWiring.findProviders
</li>
</ul>
From an Equinox perspective these are considered incremental enhancements.
The enhancements mentioned above are implemented in M1. A majority of the
development effort during this release cycle is focused on refactoring and, in
many cases, rewriting the core Equinox Framework implementation to be based on
the OSGi generic dependency model.
<p>
For most consumers and developers this change should not be noticed. But, as
documented in the <a href="http://wiki.eclipse.org/Equinox/Luna_Framework">wiki</a>,
there are four main areas of concern that the community should be aware of:
</p>
<ul>
<li>The Framework no longer uses the old Equinox resolver API
org.eclipse.osgi.service.resolver internally to resolve bundles.</li>
<li>All Equinox Framework specific hook implementations are broken and will
need to migrate.</li>
<li>Removal of old style plug-in support. A compatibility fragment is available to add the support back.</li>
<li>Removal of PlatformAdmin Service Implementation. A compatibility fragment is available to add support back.</li>
</ul>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
</body>
</html>