This week saw the publication of my second book, Mastering Eclipse Plug-in Development. Hopefully this explains why this blog hasn’t seen updates in a while; after some 360 pages and some 75k words, spare writing time has been a bit of a luxury.
The book is aimed at developers who are familiar with the basics of plug-in development, such as covered in my first book, Eclipse 4 Plug-in Development by Example: Beginner’s Guide.
It covers subjects that are not normally found in Eclipse plug-in development books, such as how to consume and publish OSGi services, how to use native code inside bundles and how to take advantage of event-based publishing in Eclipse applications. There’s also sections on how to provide user assistance (help) in Eclipse as well as some of the mechanisms for using P2 to manage repositories and to affect installations. The full table of contents is:
- Chapter 1: Plugging in to JFace and the Common Navigator Framework
- Chapter 2: Extending Eclipse with Custom Extension Points
- Chapter 3: Using OSGi Services to dynamically wire applications
- Chapter 4: Defining commands for the Gogo shell
- Chapter 5: Native Code and Fragment Bundles
- Chapter 6: Understanding Service Loaders and Class Loaders
- Chapter 7: Designing Modular Applications
- Chapter 8: Event Driven Applications with EventAdmin
- Chapter 9: Deploying and Updating with P2
- Chapter 10: User Assistance in Eclipse
As with the previous book, the code samples are all available as a GitHub project along with a series of tags associated with each chapter, and commit messages for each section in the book. When you clone this repository (or download the sample code from the Packt website) into Eclipse, you can use the built-in EGit support to switch between different chapters and compare the code with a before/after look at the changes.
I’d especially like to thank those in the Eclipse community who gave feedback on earlier drafts, especially Lars Vogel and Ian Bull; and of course Ann Ford, Carla Guillen, Jeff MAURY, Peter Rice and Dennis John who spent significant amounts of time and effort going through the code samples to verify that they work as expected. Any remaining errors are my own.
The book has been tested against both Eclipse Kepler and Eclipse Luna, and has been updated for OSGi R6.