The Plug-in Development Environment (PDE) provides tools to create,
develop, test, debug, build and deploy Eclipse plug-ins, fragments,
features, update sites and RCP products.
PDE also provides comprehensive OSGi tooling, which makes it an ideal environment for component programming, not just Eclipse plug-in development.
In PDE we do tooling, but our business is people!
PDE also provides comprehensive OSGi tooling, which makes it an ideal environment for component programming, not just Eclipse plug-in development.
In PDE we do tooling, but our business is people!
![]() |
|
|||
![]() |
|
|||
![]() |
|
|||
![]() |
|
PDE Components
The PDE subproject is broken down into three main components, Build, UI and API Tools. We also have an Incubator component where we can develop non-SDK features.Name | Description |
PDE Build | Ant based tools and scripts to automate build processes |
PDE UI | Models, builders, editors and more to faciliate plug-in development in the Eclipse IDE. |
PDE API Tools | Eclipse IDE and build process integrated tooling to maintain API |
PDE Incubator | Development of new tools that are not ready to be added to the Eclipse SDK |
PDE Build
The goal of PDE Build is to facilitate the automation of plug-in build processes. Essentially, PDE Build produces Ant scripts based on development-time information provided by, for example, the plugin.xml and build.properties files. The generated Ant scripts, can fetch the relevant projects from a CVS repository, build jars, Javadoc, source zips, put everything together in a format ready to ship and send it out to a remote location (e.g., a local network or a downloads server).PDE UI
The PDE UI component provides a comprehensive set of tools to create, develop, test, debug and deploy Eclipse plug-ins, fragments, features, update sites and RCP products.PDE UI also provides comprehensive OSGi tooling, which makes it an ideal environment for component programming, not just Eclipse plug-in development.
Here is a small list of what PDE UI provides to the Eclipse SDK:
- Form-Based Manifest Editors - multi-page editors that centrally manage all manifest files of a plug-in or feature.
- RCP Tools - wizards and a form-based editor that allow you to define, brand, test and export products to multiple platforms.
- New Project Creation Wizards - create a new plug-in, fragment, feature, feature patch and update sites.
- Import Wizards - import plug-ins and features from the file system.
- Export Wizards - wizards that build, package and export plug-ins, fragments and products with a single click.
- Launchers - test and debug Eclipse applications and OSGi bundles.
- Views - PDE provides views that help plug-in developers inspect different aspects of their development environment.
- Miscellaneous Tools - wizards to externalize and clean up manifest files.
- Conversion Tools - wizard to convert a plain Java project or plain JARs into a plug-in project.
- Integration with JDT - plug-in manifest files participate in Java search and refactoring.
- User Assistance Tools - Editors and tools for developing user help and other UA documents.
- Declarative Services Tools - Editors and validation for OSGi declarative services.
PDE API Tools
API tooling will assist developers in API maintenance by reporting API defects such as binary incompatibilities, incorrect plug-in version numbers, missing or incorrect @since tags, and usage of non-API code between plug-ins. The tooling will be integrated in the Eclipse SDK and will be used in the automated build process.Specifically, the tooling is designed to do the following:
- Identify binary compatibility issues between two versions of a software component or product.
- Update version numbers for plug-ins (bundles) based on the Eclipse versioning scheme.
- Update @since tags for newly added classes, interfaces, methods, etc.
- Provide new javadoc tags and code assist to annotate types with special restrictions.
- Leverage existing information (in MANIFEST.MF) to define the visibility of packages between bundles.
- Identify usage of non-API code between plug-ins.
- Identity leakage of non-API types into API.
0 comments: