Add N&N for PDE Bundle/Version Annotations
diff --git a/4.25/images/bunde-export-version-header.png b/4.25/images/bunde-export-version-header.png
new file mode 100644
index 0000000..ddbc24a
--- /dev/null
+++ b/4.25/images/bunde-export-version-header.png
Binary files differ
diff --git a/4.25/images/consumer-type.png b/4.25/images/consumer-type.png
new file mode 100644
index 0000000..fd020ee
--- /dev/null
+++ b/4.25/images/consumer-type.png
Binary files differ
diff --git a/4.25/images/header-example.png b/4.25/images/header-example.png
new file mode 100644
index 0000000..c8a9a0d
--- /dev/null
+++ b/4.25/images/header-example.png
Binary files differ
diff --git a/4.25/images/manifest-example.png b/4.25/images/manifest-example.png
new file mode 100644
index 0000000..057a6f9
--- /dev/null
+++ b/4.25/images/manifest-example.png
Binary files differ
diff --git a/4.25/images/manifest-example2.png b/4.25/images/manifest-example2.png
new file mode 100644
index 0000000..80c9d12
--- /dev/null
+++ b/4.25/images/manifest-example2.png
Binary files differ
diff --git a/4.25/pde.html b/4.25/pde.html
index 410b161..02633c6 100644
--- a/4.25/pde.html
+++ b/4.25/pde.html
@@ -27,6 +27,7 @@
<li><a href="#editors">Editors</a></li>
<li><a href="#APITools">API Tools</a></li>
<li><a href="#pde-compiler">PDE Compiler</a></li>
+ <li><a href="#GeneralUpdates">General Updates</a></li>
</ul>
<!-- ****************** START OF N&N TABLE****************** -->
@@ -58,6 +59,11 @@
<tr>
<td id="pde-compiler" class="section" colspan="2"><h2>PDE Compiler</h2></td>
</tr>
+ <!-- ******************** End of PDE Compiler ********************** -->
+ <!-- ******************* General Updates ************************************* -->
+ <tr>
+ <td id="GeneralUpdates" class="section" colspan="2"><h2>General Updates </h2> </td>
+ </tr>
<tr id="default-3rd-party-bundles">
<td class="title"><a href="#default-3rd-party-bundles">Default target platform ships different 3rd party bundles</a></td>
@@ -69,7 +75,74 @@
documentation</a> for details about possible issues and remediation.</p>
</td>
</tr>
- <!-- ******************** End of PDE Compiler ********************** -->
+ <tr id="default-osgi-annotations">
+ <td class="title"><a href="#default-osgi-annotations">Support for the OSGi Bundle and Versioning Annotations</a></td>
+ <td class="content">
+ <p>PDE now supports the <a href="https://docs.osgi.org/specification/osgi.core/7.0.0/framework.api.html#org.osgi.annotation.bundle">OSGi Bundle</a> and
+ <a href="https://docs.osgi.org/specification/osgi.core/7.0.0/framework.api.html#org.osgi.annotation.versioning">OSGi Versioning</a> annotations to be used in a Plugin Project.
+ </p>
+ <p>
+ To <b>enable</b> the annotations one only needs to add them to the target platform e.g. with the following locations:
+ <pre>
+<target name="annotations">
+ <locations>
+ <location includeDependencyDepth="none" includeSource="true" missingManifest="error" type="Maven">
+ <dependencies>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.versioning</artifactId>
+ <version>1.1.2</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ </location>
+ <location includeDependencyDepth="none" includeSource="true" missingManifest="error" type="Maven">
+ <dependencies>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.annotation.bundle</artifactId>
+ <version>2.0.0</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ </location>
+ </locations>
+</target>
+ </pre>
+ but of course any other source is accepted (e.g. directory locations or update-sites).
+ </p>
+ <p>
+ You can now <b>use</b> them for example the following way on a package-info.java:
+ <pre>
+@org.osgi.annotation.bundle.Export
+@org.osgi.annotation.versioning.Version("1.0")
+package bundle.annotations.project;
+ </pre>
+ Or on an interface
+ <pre>
+import org.osgi.annotation.versioning.ProviderType;
+
+@ProviderType
+public interface ProviderInterface {
+
+}
+ </pre>
+ and then they can be processed by other tools (e.g. bnd or tycho).
+ </p>
+ <p>
+ <b>PDE</b> has now also support for the <code>@Export</code> and <code>@Version</code> annotations, if you put them on a <code>package-info.java</code> file like this:
+ <img src="images/bunde-export-version-header.png" />
+ the <code>MANIFEST.MF</code> is updated accordingly
+ <img src="images/manifest-example.png" />
+ </p>
+ <p>
+ The same works for <code>@Header</code> annotation, adding this like this:
+ <img src="images/header-example.png" />
+ this results in an extra header added to the <code>MANIFEST.MF</code>
+ <img src="images/manifest-example2.png" />
+ </p>
+ </td>
+ </tr>
<tr><td colspan="2"/></tr>
</tbody>
</table>