Platform and Equinox API
Platform Changes |
|
ECommandService and EHandlerService released as API |
The following API have been made official.
The bundle org.eclipse.e4.core.commands was updated to version 1.0.0. |
Embedded Jetty server updated to version 10.x | Jetty Server used by the help system is updated to version 10.x. As this version requires Servlet API 4.x the opportunity is used to move to the new Jakarta Servlet name of the library. Bundle symbolic name becomes jakarta.servlet-api from the old javax.servlet one. One of the Jetty bundles org.eclipse.jetty.continuation has been removed from Jetty 10 releases thus it's no longer part of Eclipse Platform content too. |
Register Model fragments via Manifest header |
It is now possible to register model fragments via the newly introduced Manifest Header Model-Fragment . This way it is not necessary to create a plugin.xml that contains
an extension to the extension point org.eclipse.e4.workbench.model .
To register a fragment via Manifest header, you can now simply add an entry similar to the following snippet to the MANIFEST.MF of the contributing bundle:
apply attribute is optional and defaults to always . It can have the same values as specified in the extension point:
|
Register Model processor via DS |
It is now possible to register model processors as declarative service. The model processor needs to implement the service interface IModelProcessorContribution to get
registered. This way it is not necessary to create a plugin.xml that contains an extension to the extension point org.eclipse.e4.workbench.model .
The model processor is registered via DS, the execution is triggered via the Eclipse injection mechanism. The processor execution at registration time needs to be placed in a method
annotated with @Component public class ExampleProcessorContribution implements IModelProcessorContribution { @Execute public void execute() { System.out.println("Processor executed"); } @PreDestroy public void preDestroy() { System.out.println("Processor killed"); } }
It is also possible to re-use existing model processor POJO implementations and register them via an @Component public class ExampleProcessorContribution implements IModelProcessorContribution { @Override public Class<?> getProcessorClass() { return ExampleProcessor.class; } }The IModelProcessorContribution supports two service properties for configuration:
@Component(property = { IModelProcessorContribution.BEFORE_FRAGMENT_PROPERTY_PREFIX + "false", IModelProcessorContribution.APPLY_PROPERTY_PREFIX + "initial" }) public class ExampleProcessorContribution implements IModelProcessorContribution { ... }
You can also specify model elements that should be added to the context that is used to invoke the processor. This is necessary as the processor is invoked on application context level.
To specify such model elements you need to override the method @Component(property = { IModelProcessorContribution.BEFORE_FRAGMENT_PROPERTY_PREFIX + "false" }) public class ExampleProcessorContribution implements IModelProcessorContribution { @Execute public void execute(@Named("org.eclipse.example.partstack") MPartStack myTest) { System.out.println("Processor executed: " + myTest.getElementId()); } @Override public List<ModelElement> getModelElements() { return Arrays.asList(new ModelElement("org.eclipse.example.partstack")); } } |
New static methods to ease Status creation |
New API methods in
|
SWT Changes |
|
Option to disable "Insert Emoji" menu entry on Linux |
On Linux it is now possible to disable the Insert Emoji context menu entry of text fields, on GTK 3.22.20 and upward. This can be done with the following command line argument for Eclipse:
|
Equinox p2 Changes |
|
Verify PGP signatures during installation |
When installing some artifact with p2, and those artifacts have the pgp.signatures
property set, the signatures will be verified during installation and installation will fail if a signature
couldn't be verified.
Reasons of failures would be:
|