Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
<!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 name="copyright" content=
    "Copyright (c) IBM Corporation and others 2014. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." />
    <meta http-equiv="Content-Language" content="en-us" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type=
    "text/css" />
    <style type="text/css">
/*<![CDATA[*/
    table.news td {border-top: solid thin black;}
    table.news tr {vertical-align: top;}
    table.news tr td.section {font-size: 20px; font-weight: bold;}
    table.news tr td.title {vertical-align: top; width: 30%; font-weight: bold;}
    table.news tr td.content {vertical-align: top; width: 70%;}
    /*]]>*/
    </style>
    <title>
      PDE - What's New in Luna
    </title>

  </head>
  <body>
    <h2>
      What's New in Luna (PDE)
    </h2>
    <p>
      Here are descriptions of some of the more interesting or significant
      changes made to the Plug-in Development Environment (PDE) for the Luna (4.4)
      release of Eclipse, grouped into:</p>
    <ul>
      <li>
        <a href="#APITools">API Tools</a>
      </li>
      <li>
        <a href="#ViewsAndEditors">Views and Editors</a>
      </li>
      <li>
        <a href="#Misc">Misc</a>
      </li>
    </ul>
    
    <!-- ****************** START OF N&N TABLE ****************** -->

  <table class="news" border="0" cellpadding="10" cellspacing="0" width="80%">
  <tbody>
  
  <!-- ******************** APITools ********************** -->
  <tr>
    <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td>
  </tr>
  
  <tr id="api-tag-visibility">
    <td class="title">API Tools javadoc tag visibility matches Java Language Specification</td>
    <td class="content">
     API Tools supports API restrictions using <a href="http://wiki.eclipse.org/PDE/API_Tools/Javadoc_Tags">javadoc tags</a> such as 
     @noextend and @noreference. The API Tools builder has an option to add problem markers for invalid use of the tags. The
     logic to check whether a tag is valid has been upgraded and now follows the visibility rules in the 
     <a href="http://docs.oracle.com/javase/specs/">Java Language Specification (JLS)</a>.
     <p><img src="images/tag-visibility.png" alt="Example tag visibility problem"/></p>
    </td>
  </tr>
  
  <tr id="api-tools-bree">
    <td class="title">API Tools moved to JavaSE-1.6</td>
    <td class="content">
     All API Tools plug-ins now have a bundle required execution environment (BREE) of JavaSE-1.6.
    </td>
  </tr>
  
  <tr id="api-tools-annotations">
    <td class="title">Annotation support in API Tools</td>
    <td class="content">
          API Tools now provides support for using annotations to describe your API usage. Prior to the new annotation support you would have, for example,
          used the <code>@noreference</code> Javadoc tag to indicate noone should use the tagged type / member. Now you can add the <code>@NoReference</code>
          annotation (in Java 1.5+ source) to the member directly without the need for Javadoc.
      <img src="images/annotation-example.png" alt="The @NoExtend annotation being used on a class"/>
      <p>
        To make the transition from Javadoc tags to the new annotation support, API Tools provides a conversion wizard that is found 
        using the <strong>Plug-in Tools &gt; Convert API Tools Javadoc tags...</strong> command for a selected project. The wizard can convert all existing Javadoc tags to their annotation
        equivalent, update the <code>build.properties</code> file and optionally remove all of the old Javadoc tags.
      </p>
      <img src="images/javadoc-conversion.png" alt="The Javadoc conversion wizard"/>
    </td>
  </tr>
  
  <tr id="ApiToolsJava8"> 
    <td class="title">Java 8 support for API Tools complete</td>
    <td class="content">
       API Tools now has full support for Java 8.  This includes illegal use, binary comparisons, restriction validation (for both
       javadoc tags and annotations), and completion proposals.  Support has been added for the following code structures:
       <ul>
       <li>Default Methods</li>
       <li>Type Annotations</li>
       <li>Lambda Expressions</li>
       <li>Method References</li>
       </ul>
       <p>There is also a new <b>JavaSE-1.8</b> execution environment fragment available. Update the <b>API Tools Execution 
       Environment Descriptions</b> feature.  API tools now uses the 5.0.1 release of ASM to read Java 8 class files.</p>
    </td>       
  </tr>
  
  
  <!-- ******************** Views and Editors ********************** -->
  <tr>
    <td id="ViewsAndEditors" class="section" colspan="2"><h2>Views and Editors</h2></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="feature-dialog-contains-plugins">
    <td class="title">Feature selection dialog filters by plug-ins</td>
    <td class="content">
     When entering text into the filter field of the feature selection dialog, features that contain a plug-in matching
     the filter will be returned. This provides a quick way to add the correct feature to include in a product.
     <p><img src="images/feature-selection.png" alt="The feature selection dialog"/></p>
    </td>
  </tr>
  
  <tr id="bundle-exceptions-in-editor">
    <td class="title">OSGi bundle exceptions are displayed in the manifest editor</td>
    <td class="content">
     Certain syntax errors, such as missing a comma between entries in the <code>Require-Bundle</code> header, cause bundle exceptions
     when PDE tries to add the bundle to an OSGi State. The exceptions are now logged and displayed in the manifest editor.   
     <p><img src="images/bundle-exception.png" alt="Bundle exception displayed in the manifest editor"/></p>
    </td>
  </tr>
  
  <tr id="target-status">
    <td class="title">Updated target platform state in the status bar</td>
    <td class="content">
          In 4.4 you could add the target platform indicator to the status bar allowing easy access to the preferences to customize it. Now this 
          indicator has been updated to show problems with the target platform (if any). The state of the target platform is immediately apparent based on its 
          icon / decoration and any problems are added to the tooltip.
      <img src="images/target-status.png" alt="The target platform state in the status bar showing an error"/>
    </td>
  </tr>
  
  <tr id="trace-std-out">
    <td class="title">Print debug trace to the standard output stream</td>
    <td class="content">
      On the <b>General &gt; Tracing</b> preference page you can now choose to have the output of debug trace statements
      being sent to the standard output stream.
      <p>
      <img src="images/trace-output.png" alt="The tracing preference page with output to standard output stream option"/>
      </p>
    </td>
  </tr>
  
  <tr id="os-arch-system-props">
    <td class="title">Products can specify OS/arch system properties</td>
    <td class="content">
      In the <b>Product Editor</b> you can now add system properties that will only apply to a single OS, a single architecture or a 
      an OS/architecture combination.
      <p>
      <img src="images/osarch-systemprops.png" alt="The product editor showing os/arch system properties"/>
      </p>
    </td>
  </tr>
  
  <tr id="os-arch-vm-args">
    <td class="title">Products can specify OS/arch launch arguments</td>
    <td class="content">
      In the <b>Product Editor</b> you can now add program and VM arguments to all platforms, a specific operating system or
      a specific architecture/OS combination. A preview area shows the complete list of arguments that will apply to the selected
      OS and architecture.
      <p>
      <img src="images/osarch-args.png" alt="The product editor showing os/arch vm arguments"/>
      </p>
    </td>
  </tr>
  
  <tr id="product-add-update-sites"> 
    <td class="title">Product can add p2 update sites</td>
    <td class="content">
      A new page has been added to the <b>Product Editor</b> where you can add p2 repository update sites.  When your product
      is exported, the list of update sites will be added to the repository list that p2 uses to check for updates.  You can
      set a site as disabled to have it visible on the <b>Install/Update > Available Software Sites</b> preference page, but it
      will not be used during install/update operations unless the user enables it first.
      <p>
      <img src="images/updatePage.png" alt="Update page in the product editor"/>
      </p>
    </td>
  </tr>
  
  <tr id="product-custom-start-levels"> 
    <td class="title">Product can define custom default start levels</td>
    <td class="content">
      On the <b>Configuration</b> page of the <b>Product Editor</b>, there is a new button: <b>Add Recommended...</b>.  When pressed,
      a dialog will open offering to add a list of recommended custom start levels to your product definition. This is helpful
      for new product developers as they may not be aware that some plug-ins require custom start levels to function correctly. The 
      operation will not overwrite any existing custom start levels you have set previously. 
      <p>
      <img src="images/startLevels.png" alt="Product editor start levels with add recommended button"/>
      </p>
      <p>
      This is the list of recommended start levels currently provided:
      </p>
<pre>org.eclipse.core.runtime@start
org.eclipse.equinox.common@2:start
org.eclipse.equinox.ds@2:start
org.eclipse.equinox.event@2:start
org.eclipse.equinox.simpleconfigurator@1:start
org.eclipse.equinox.p2.reconciler.dropins@start</pre>
    </td>
  </tr>
  
    <tr id="pdeDeprecatedExtensions"> 
    <td class="title">Plug-in editor indicates deprecated extension elements</td>
    <td class="content">
       When editing the extensions of a plug-in, you now have a visual indication that an extension element or attribute
       has been deprecated.
       <ul>
         <li>Icons in the tree are marked with a warning decoration:
         <p><img src="images/deprecatedExtension1.png" alt="Deprecated extension in tree"/></p>
         </li>
         <li>Menu items are marked with <i>(deprecated)</i>:
         <p><img src="images/deprecatedExtension2.png" alt="Deprecated extension in menu"/></p>
         </li>
         <li>Details of elements include deprecation information and deprecated attributes are marked with <i>(!)</i>:
         <p><img src="images/deprecatedExtension3.png" alt="Deprecated extension in details"/></p>
         </li>
       </ul>
    </td>
  </tr>
  
  <tr id="pdeNewIcons"> 
    <td class="title">New eclipse launcher icons</td>
    <td class="content">
       PDE has a new set of icons used in preference pages, launch configurations and editors.  These new icons match the new platform icons.
       <p><img src="images/pdeIcons.png" alt="New PDE launcher icons"/></p>
    </td>
  </tr>


  
  
  <!-- ******************** Misc ********************** -->
  <tr>
    <td id="Misc" class="section" colspan="2"><h2>Misc</h2></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 id="target-no-preferences">
    <td class="title">Target platform content is no longer stored in preferences</td>
    <td class="content">
     The target platform specified on the <b>Target Platform</b> preference page uses flexible target definitions, stored in .target files,
     to specify the set of plug-ins PDE should build against and use to launch applications. However, the content of the target platform 
     was previously stored in preferences. This could lead to inconsistencies between what you expect to exist in the target platform and 
     what is actually available. This problem was more noticeable when using a complex target definition containing feature or software 
     site locations.
     
     <p>In Luna, the target platform information is always created from the target definition chosen on the preference
     page. In addition to reducing inconsistencies in the target, there are performance improvements when interacting with the 
     target.</p>
    </td>
  </tr>
  
  <tr id="pdeNoUnboundEE"> 
    <td class="title">Launch configurations don't select unbound execution environment</td>
    <td class="content">
       When creating a new launch configuration, PDE examines the list of plug-ins to be launched and selects the lowest
       execution environment (EE) that supports each plug-in's required EE.  However, this could lead to selecting an EE
       that no installed JRE matches.  With no bound JRE, launching with that execution environment would always fail. 
       Now, when choosing an execution environment, any plug-in that requires an unbound EE will be ignored.
    </td>
  </tr>
  
  <tr id="pdeBuildConfigurator"> 
    <td class="title">PDE Build depends on org.eclipse.update.configurator</td>
    <td class="content">
       PDE Build now has a non-optional dependency on <code>org.eclipse.update.configurator [3.1.0,4.0.0)</code>.  Functionality
       from that bundle is required by PDE Build and previously was added via an optional dependency on <code>org.eclipse.core.runtime.compatibility</code>.
       If this optional dependency was missing, PDE Build or PDE UI operations could fail with cryptic errors.
    </td>
  </tr>
  
  
  <!-- ****************** END OF N&N TABLE ****************** -->
  </tbody>
  </table>
  </body>
</html>
New to GrepCode? Check out our FAQ X