| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <html lang="en"> |
| <head> |
| <meta name="copyright" content="Copyright (c) 2018 IBM Corporation and others. 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-Type" content="text/html; charset=ISO-8859-1"> |
| <meta http-equiv="Content-Style-Type" content="text/css"> |
| <link rel="STYLESHEET" href="../../book.css" charset="ISO-8859-1" type="text/css"> |
| <title>Adopting 4.10 mechanisms and APIs</title> |
| </head> |
| |
| <body> |
| |
| <h1>Adopting 4.10 mechanisms and APIs</h1> |
| |
| <p> |
| This section describes changes that are required if you are trying to change |
| your 4.9 plug-in to adopt the 4.10 mechanisms and APIs. |
| </p> |
| |
| <ol> |
| <li><a href="#EquinoxDS_to_FelixSCR">Direct usage of Equinox DS bundle should be replaced</a></li> |
| </ol> |
| |
| <hr> |
| |
| <!-- ############################################## --> |
| <h2>1. <a name="EquinoxDS_to_FelixSCR">Direct usage of Equinox DS bundle should be replaced</a></h2> |
| <p><strong>What is affected:</strong> Clients directly using or referencing Equinox DS |
| </p> |
| <p><strong>Description:</strong> |
| For better factorization and maintenance of the OSGI Declarative Services features, we migrated from <code>org.eclipse.equinox.ds</code> bundle to |
| <code>org.apache.felix.scr</code> which provides the same feature. We consequently removed the <code>org.eclipse.equinox.ds</code> bundle from our |
| main deliveries (features or products); but keep it for some time available in our update site to avoid breaking clients who strongly need this one. |
| </p> |
| <p><strong>Action required:</strong> |
| Clients should: |
| </p> |
| <ul> |
| <li>Consider replacing direct requirement on <code>org.eclipse.equinox.ds</code> bundle or packages by a requirement on the provided capability: <code>Require-Capability: osgi.extender; |
| filter:="(&(osgi.extender=osgi.component)(version>=1.2)(!(version>=2.0)))"</code> in their MANIFEST.MF.</li> |
| <li>When testing, consider replacing a requirement on the <code>org.eclipse.equinox.ds</code> bundle by a requirement on the <code>org.eclipse.rcp</code> feature. This feature contain |
| the right implementation of the OSGI Declarative Services implementation.</li> |
| <li>Replace references to <code>org.eclipse.equinox.ds</code> by references to <code>org.apache.felix.scr</code> in their <code>feature.xml</code>, <code>MANIFEST.MF</code> and <code>*.product</code> files. |
| For <code>.product</code> files, the new Felix bundle also requires a start-level=1 parameter, just like the Equinox DS one did.</li> |
| </ul> |
| All those changes are backward-compatible. So you can apply them on a project using 4.9 as target-platform, and this would work on both 4.9 and 4.10. |
| |
| </body> |
| </html> |