| <!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) Eclipse contributors and others 2018. 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="news.css" type="text/css"/> | 
 | <style type="text/css"> | 
 | body {max-width: 900px;} | 
 | table.news col.title {width: 30%;} | 
 | /*img {max-width: 520px;}*/ | 
 | table.news {table-layout: fixed; border-collapse: collapse; width: 100%;} | 
 | table.news td {border-top: solid thin black; padding: 10px; overflow: visible;} | 
 | 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; font-weight: bold;} | 
 | table.news tr td.content {vertical-align: top;} | 
 | ul {padding-left: 13px;} | 
 | </style> | 
 | <title>Eclipse Project 4.12 - New and Noteworthy</title> | 
 | </head> | 
 |  | 
 | <body> | 
 | <h2>Plug-in Development Environment</h2> | 
 | <ul> | 
 | 	<li><a href="#dialogs-wizards-views">Dialogs, Wizards and Views</a></li> | 
 | 	<li><a href="#editors">Editors</a></li> | 
 | 	<li><a href="#APITools">API Tools</a></li> | 
 | 	<!--<li><a href="#pde-compiler">PDE Compiler</a></li>--> | 
 | </ul> | 
 |  | 
 | <!-- ****************** START OF N&N TABLE****************** --> | 
 | <table class="news"> | 
 | <colgroup> | 
 |   <col class="title" /> | 
 |   <col /> | 
 | </colgroup> | 
 | <tbody> | 
 |   <!-- ******************** Dialogs, Wizards and Views ********************** --> | 
 |   <tr> | 
 |     <td id="dialogs-wizards-views" class="section" colspan="2"><h2>Dialogs, Wizards and Views</h2></td> | 
 |   </tr> | 
 |   <tr id="pde-target-platform-preferences"> <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=546400 --> | 
 |     <td class="title">Target Platform preferences</td> | 
 |     <td class="content"> | 
 | 	The <b>Preferences > Plug-in Development > Target Platform</b> preference page now allows to change the height balance between 'Target definitions' and 'Locations' areas. | 
 |     </td> | 
 |   </tr> | 
 |   <!-- | 
 |   --> | 
 |   <!-- ******************** End ofDialogs, Wizards and Views ********************** --> | 
 |    | 
 |   <!-- ******************** Editors ********************** --> | 
 |   <!-- | 
 |   --> | 
 |   <tr> | 
 |     <td id="editors" class="section" colspan="2"><h2>Editors</h2></td> | 
 |   </tr> | 
 |   <tr id="pde-category-editor-source"> <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=546803 https://bugs.eclipse.org/bugs/show_bug.cgi?id=547322 --> | 
 |     <td class="title">'Source' tab for Product and Category Editor</td> | 
 |     <td class="content"> | 
 | 	The <b>Product Editor</b> and <b>Category Editor</b> now have a 'Source' tab to enable direct access to their manifests. | 
 |     <p> | 
 |         <img src="images/pde-category-editor-source.png" alt="" /> | 
 |     </p> | 
 |     </td> | 
 |   </tr> | 
 |   <!-- ******************** End of Editors ********************** --> | 
 |  | 
 |   <!-- ******************** APITools ********************** --> | 
 |   <tr> | 
 |     <td id="APITools" class="section" colspan="2"><h2>API Tools</h2></td> | 
 |   </tr> | 
 |   <tr id="pde-restriction-removal-reported"> <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=327452 --> | 
 |     <td class="title">Removing API restriction results in API error</td> | 
 |     <td class="content"> | 
 |       Removing PDE API tools restriction such as <code>@noextend</code>, <code>@noimplement</code> and <code>@noinstantiate</code> now results in an incompatible bundle version API tool error, since clients of this code can  | 
 |       access more APIs after the removal. | 
 |       <p> | 
 |         A quick fix for this error is available, and it increases the minor version to reflect the code changes. | 
 |       </p> | 
 |       <p> | 
 |         <img src="images/pde-remove-restriction.png" alt="" /> | 
 |       </p> | 
 |     </td> | 
 |   </tr> | 
 |  | 
 |   <tr id="api-analysis-report-application"> <!--https://bugs.eclipse.org/bugs/show_bug.cgi?id=547206 --> | 
 |     <td class="title">Run API analysis as application</td> | 
 |     <td class="content"> | 
 |       To ease automation without Ant, the API Tools analysis can be performed using a regular Eclipse application | 
 |       named <code>org.eclipse.pde.api.tools.apiAnalysis</code>. | 
 |       <p> | 
 |         It can receive the following parameters: | 
 |       </p> | 
 |        <ul> | 
 |        <li><code>-project </path/to/project></code> configures which project should be analyzed. It has to be a valid Plug-in project containing a .project file.</li> | 
 |        <li><code>-dependencyList </path/to/a/dependencyList.txt></code> configures the target platform for the analysis. This file will be parsed, using new lines and | 
 |           colon (:) as separator and all tokens that match a path on the filesystem will be added to the Target Platform.</li> | 
 |        <li><code>-baseline <default|/path/to/baseline.target></code> specifies the baseline to use for comparison. If omitted or <code>default</code>, it is the current | 
 |           running platform. If a path to a <code>.target</code> file is specified, it will resolve the target definition and use the included bundles as baseline.</li> | 
 |        <li><code>-failOnError</code> If present, the application will return an error (non-<code>0</code>) in case of API errors.</li> | 
 |        </ul> | 
 |       <p> | 
 |         The API analysis uses the project settings, but forces the <em>incompatible api component version report major without breaking change</em> and <em>incompatible api  component version report minor without api change</em> | 
 |         rules breakage to be reported as errors. | 
 |       </p> | 
 |       <p> | 
 |         Example of invocation can look like: | 
 |       </p> | 
 |       <p> | 
 |       <code>./eclipse -project /home/mistria/sandbox/org.eclipse.e4.ui.css.core  -dependencyList /home/mistria/sandbox/org.eclipse.e4.ui.css.core/dependencies.txt -failOnError</code> | 
 |       </p> | 
 |       <p> | 
 |         Additionally to the potential non-<code>0</code> result, example of output can look like: | 
 |       </p> | 
 |       <p> | 
 |       <code> | 
 | 1 API ERRORS | 
 | * Marker [on: /org.eclipse.e4.ui.css.core/META-INF/MANIFEST.MF, id: 80, type: org.eclipse.pde.api.tools.version_numbering, attributes: [apiMarkerID: 4, charEnd: 228, charStart: 210, description: , lineNumber: 7, message: The minor version should be the same for version 0.11.400, since no new APIs have been added since version 0.12.700, messagearguments: 0.11.400#0.12.700, problemid: 926941240, severity: 2, sourceId: API Tools, version: 0.12.700.qualifier], created: 5/16/19, 5:36 PM] | 
 | 1 API warnings | 
 | * Marker [on: /org.eclipse.e4.ui.css.core, id: 81, type: org.eclipse.pde.api.tools.api_usage, attributes: [apiMarkerID: 3, charEnd: -1, charStart: -1, lineNumber: 0, message: Execution environment references were not checked for 'org.eclipse.e4.ui.css.core' because no environment descriptions are installed. , messagearguments: org.eclipse.e4.ui.css.core, problemid: 665845798, severity: 1, sourceId: API Tools], created: 5/16/19, 5:36 PM] | 
 |       </code> | 
 |       </p> | 
 |       <p> | 
 |         Here is an example of how this could be used in Tycho to trigger API checks in a Tycho build, in <code>pom.xml</code> | 
 |       </p> | 
 |       <pre style="width:778px;"> | 
 | <project> | 
 | 	[...]	 | 
 | 	<build> | 
 | 	[...] | 
 | 		<plugins> | 
 | 			[...] | 
 | 			<plugin> | 
 | 				<artifactId>maven-dependency-plugin</artifactId> | 
 | 				<executions> | 
 | 					<execution> | 
 | 						<id>list-dependencies</id> | 
 | 						<goals> | 
 | 							<goal>list</goal> | 
 | 						</goals> | 
 | 						<phase>verify</phase> | 
 | 						<configuration> | 
 | 							<outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename> | 
 | 							<outputScope>false</outputScope> | 
 | 							<outputFile>${project.build.directory}/dependencies.txt</outputFile> | 
 | 						</configuration> | 
 | 					</execution> | 
 | 				</executions> | 
 | 			</plugin> | 
 | 			<plugin> | 
 | 				<groupId>org.eclipse.tycho.extras</groupId> | 
 | 				<artifactId>tycho-eclipserun-plugin</artifactId> | 
 | 				<version>1.4.0</version> | 
 | 				<executions> | 
 | 					<execution> | 
 | 						<id>api-analysis</id> | 
 | 						<goals> | 
 | 							<goal>eclipse-run</goal> | 
 | 						</goals> | 
 | 						<phase>verify</phase> | 
 | 						<configuration> | 
 | 							<applicationsArgs> | 
 | 								<!-- need to set workspace to a dir that's not a child of the project -->  | 
 | 								<arg>-data</arg> | 
 | 								<args>${project.basedir}/../target/${project.artifactId}-apiAnalyzer-workspace</args> | 
 | 								<args>-application</args> | 
 | 								<args>org.eclipse.pde.api.tools.apiAnalysis</args> | 
 | 								<args>-project</args> | 
 | 								<args>${project.basedir}</args> | 
 | 								<args>-baseline</args> | 
 | 								<args>default</args> | 
 | 								<args>-dependencyList</args> | 
 | 								<args>${project.build.directory}/dependencies.txt</args> | 
 | 								<args>-failOnError</args> | 
 | 							</applicationsArgs> | 
 | 							<repositories> | 
 | 								<repository> | 
 | 									<id>eclipse-4.12</id> | 
 | 									<layout>p2</layout> | 
 | 									<url>https://download.eclipse.org/eclipse/updates/4.12-I-builds/</url> | 
 | 								</repository> | 
 | 							</repositories> | 
 | 							<dependencies> | 
 | 								<!-- This will constitute the default baseline --> | 
 | 								<dependency> | 
 | 									<artifactId>org.eclipse.sdk.ide</artifactId> | 
 | 									<type>p2-installable-unit</type> | 
 | 								</dependency> | 
 | 							</dependencies> | 
 | 						</configuration> | 
 | 					</execution> | 
 | 				</executions> | 
 | 			</plugin> | 
 | 		</plugins> | 
 | 	</build> | 
 | </project> | 
 |       </pre> | 
 |     </td> | 
 |   </tr> | 
 |   <!-- ******************** End of APITools ********************** --> | 
 |    | 
 |    <!-- ******************** PDE Compiler ********************** --> | 
 |    <!-- | 
 |   <tr> | 
 |     <td id="pde-compiler" class="section" colspan="2"><h2>PDE Compiler</h2></td> | 
 |   </tr> | 
 |   --> | 
 |    <!-- ******************** End of PDE Compiler ********************** -->  | 
 |    | 
 | </tbody> | 
 | </table> | 
 | <!-- ****************** END OF N&N TABLE ****************** --> | 
 |  | 
 | <script type="text/javascript" src="scripts.js"></script> | 
 |   <p style="text-align:center"> | 
 |     <a href="platform_isv.php">Previous</a> <a style="margin:1em" href=".">Up</a> <span style="color:#808080">Next</span> | 
 |   </p> | 
 | </body> | 
 | </html> |