This is a detailed description of the different parts that makes up an Eclipse plug-in. The module focuses on the purpose of the different files of a plug-in such as plugin.xml and the OSGi manifest file, MANIFEST.MF. The module also describes how plug-ins are developed in Eclipse with PDE, the Plug-in Development Environment
Plug-ins are everywhere in Eclipse so come learn about how to develop them! Depending on the audience, for the first half of the talk, I will discuss what a plug-in is and what tooling is provided around developing plug-ins. For the second half, I will discuss tips and tricks that can save you time in developing plug-ins and will also talk about some lesser known, but extremely useful, parts of PDE.
Eclipse plug-in development seminar held by the Bulgarian Java User group covering basic aspects of Eclipse plug-in development and the new stuff in e4
Understanding and extending p2 for fun and profitPascal Rapicault
In a tutorial style, this detailed presentation covers all the major aspects of p2. It ranges from the simple usage of product delivery to an in-depth presentation of the p2 concepts.
Plug-ins are everywhere in Eclipse so come learn about how to develop them! Depending on the audience, for the first half of the talk, I will discuss what a plug-in is and what tooling is provided around developing plug-ins. For the second half, I will discuss tips and tricks that can save you time in developing plug-ins and will also talk about some lesser known, but extremely useful, parts of PDE.
Eclipse plug-in development seminar held by the Bulgarian Java User group covering basic aspects of Eclipse plug-in development and the new stuff in e4
Understanding and extending p2 for fun and profitPascal Rapicault
In a tutorial style, this detailed presentation covers all the major aspects of p2. It ranges from the simple usage of product delivery to an in-depth presentation of the p2 concepts.
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyTim Pettersen
Tim Pettersen and Ian Buchanan discuss the benefits and pitfalls of building an plugin SPI, and unveil Atlassian's new remote add-ons framework: Atlassian Connect.
Aleksandr Gutenev Lead Software Engineer, Consultant in GlobalLogic Kharkiv with 11+ years of professional experience. He is mainly focused on the development of desktop applications for Windows using Microsoft Visual Studio, Microsoft Windows SDK, Microsoft Windows DDK, and some other similar low-level technologies.
Aleksandr defined what post-mortem debugging is and in which cases it is necessary, discover the implementation of Custom Error Reporting, and explain how Windows Error Reporting can help you analyze the environment and error reports. Also, Aleksandr will talk about some limitations and alternatives to the review tools that can preferably be used during this kind of debugging.
This presentation by Aleksandr Gutenev was delivered at GlobalLogic Kharkiv C++ TechTalk #3 on March 26, 2019.
Video: https://youtu.be/BgRGcZTjrQA
The presentations shows some of the new features and projects of the Eclipse Mars (4.6) release.
This slide deck was presented in Eclipse Day 2015, Bangalore.
Ievgen Krasilnyk Senior Software Engineer in GlobalLogic Kharkiv with 9+ years of broad experience in C++ development, including over 5 years of cross-platform applications development using the Qt framework.
During the talk, Ievgen Krasilnyk presented how to set up the environment and conversation for an MFC project, create a modal dialogue using QWinWidget, and integrate QWinWidget into the mechanism of MFC docking.
This presentation by Ievgen Krasilnyk was delivered at GlobalLogic Kharkiv C++ TechTalk #3 on March 26, 2019.
Video: https://youtu.be/PUEzsb2CGFg
Gwt and JSR 269's Pluggable Annotation Processing APIArnaud Tournier
Slides for my presentation given during the GWTCon 2015 conference in Firenze about generating (boiler plate) code with the JSR 269 inside a GWT Project. This JSR can of course also be used in pure Java projects.
How to Build Developer Tools on Top of IntelliJ Platformintelliyole
Slides from a July 30th webinar on building tools for IntelliJ Platform:
* What is IntelliJ Platform?
* Who is it suited for?
* Why is it better than Eclipse and Netbeans platforms?
* How is it different from IntelliJ IDEA Community Edition?
* Is it possible to build a commercial product based on IntelliJ Platform?
* Plugins for IntelliJ IDEA Community Edition vs products based on IntelliJ Platform.
* What steps must be taken to create a product based on IntelliJ Platform?
* How you can contribute to IntelliJ Platform?
This presentation shows how Eclipse plug-ins are developed. It has two purposes:
Introduce you to the architecture and techniques of a major component based application
Introduce you to basic Eclipse plug-in development – this will hopefully ease the needed programming in the rest of the course
This presentation is developed for MDD 2010 course at ITU, Denmark.
Introduction to building Flex and AIR applications with Maven through the open source Flexmojos plugin.
All source available: https://github.com/justinjmoses/flexmojos-introduction
Rewriting a Plugin Architecture 3 Times to Harness the API EconomyTim Pettersen
Tim Pettersen and Ian Buchanan discuss the benefits and pitfalls of building an plugin SPI, and unveil Atlassian's new remote add-ons framework: Atlassian Connect.
Aleksandr Gutenev Lead Software Engineer, Consultant in GlobalLogic Kharkiv with 11+ years of professional experience. He is mainly focused on the development of desktop applications for Windows using Microsoft Visual Studio, Microsoft Windows SDK, Microsoft Windows DDK, and some other similar low-level technologies.
Aleksandr defined what post-mortem debugging is and in which cases it is necessary, discover the implementation of Custom Error Reporting, and explain how Windows Error Reporting can help you analyze the environment and error reports. Also, Aleksandr will talk about some limitations and alternatives to the review tools that can preferably be used during this kind of debugging.
This presentation by Aleksandr Gutenev was delivered at GlobalLogic Kharkiv C++ TechTalk #3 on March 26, 2019.
Video: https://youtu.be/BgRGcZTjrQA
The presentations shows some of the new features and projects of the Eclipse Mars (4.6) release.
This slide deck was presented in Eclipse Day 2015, Bangalore.
Ievgen Krasilnyk Senior Software Engineer in GlobalLogic Kharkiv with 9+ years of broad experience in C++ development, including over 5 years of cross-platform applications development using the Qt framework.
During the talk, Ievgen Krasilnyk presented how to set up the environment and conversation for an MFC project, create a modal dialogue using QWinWidget, and integrate QWinWidget into the mechanism of MFC docking.
This presentation by Ievgen Krasilnyk was delivered at GlobalLogic Kharkiv C++ TechTalk #3 on March 26, 2019.
Video: https://youtu.be/PUEzsb2CGFg
Gwt and JSR 269's Pluggable Annotation Processing APIArnaud Tournier
Slides for my presentation given during the GWTCon 2015 conference in Firenze about generating (boiler plate) code with the JSR 269 inside a GWT Project. This JSR can of course also be used in pure Java projects.
How to Build Developer Tools on Top of IntelliJ Platformintelliyole
Slides from a July 30th webinar on building tools for IntelliJ Platform:
* What is IntelliJ Platform?
* Who is it suited for?
* Why is it better than Eclipse and Netbeans platforms?
* How is it different from IntelliJ IDEA Community Edition?
* Is it possible to build a commercial product based on IntelliJ Platform?
* Plugins for IntelliJ IDEA Community Edition vs products based on IntelliJ Platform.
* What steps must be taken to create a product based on IntelliJ Platform?
* How you can contribute to IntelliJ Platform?
This presentation shows how Eclipse plug-ins are developed. It has two purposes:
Introduce you to the architecture and techniques of a major component based application
Introduce you to basic Eclipse plug-in development – this will hopefully ease the needed programming in the rest of the course
This presentation is developed for MDD 2010 course at ITU, Denmark.
Introduction to building Flex and AIR applications with Maven through the open source Flexmojos plugin.
All source available: https://github.com/justinjmoses/flexmojos-introduction
After a brief recap of what p2 is and depicting the overall vision, the presenter will show how this vision is realized and how the improvements made to both the runtime (core and UI) and the tooling in Galileo pave the way for a better provisioning solution at Eclipse.
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
L0043 - Interfacing to Eclipse Standard ViewsTonny Madsen
Eclipse contains a large number of standard views that can be extended to support new languages or data models. This model focus on the interface to the most common Eclipse views: Problems View, Outline View, and the Properties View.
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit ;and JFace, an architecture-independent modeling layer. This module describes how JFace extends SWT with viewers, commands, wizards, dialogs, and field assist.
An overview of the code that makes up the skeleton of a basic RCP application. This includes the basics for advisors and perspectives. This module also describes the basics of how to launch and debug an RCP application.
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
The graphical sub-system of the Eclipse platform is made up of two components: SWT, the Standard Widget Toolkit; and JFace, an architecture independent modeling layer. This module describes how to use SWT in views and editors and how different resources must be managed.
L0001 - The Terminology of the Eclipse PlatformTonny Madsen
This is a basic walk-through of all the central concepts of the Eclipse platform and how these fit together. The primary goal of this module is to establish a common terminology.
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...Tonny Madsen
How do you effectively control commands, menus and handlers in a large pluggable application to get a consistent use of the commands across the complete application? This is definitely one of the areas where the Eclipse IDE is not a good sample application. Just notice how all team providers add commands with the same text and function and how multiple identical menu items some times show up...
Here the Adapter framework of Eclipse can be a big help if used properly.
While the Adapter framework arguably is one of the more difficult to understand and use properly, the is also a framework that will solve many of the problems you might face is larger non-trivial applications. Especially when used in conjunction with the menus extension point and handlers. This presentation will show how to use the adapter framework of the Eclipse framework with special emphasis on the menus and handlers.
For PROSA:
Onsdag 26.1. Introduktion til Eclipse
Eclipse er et fremstormende open source-udviklingsmiljø (Eclipse IDE), der oprindeligt er udviklet med henblik på Java.
Kom og mød Tonny Madsen, formand for Eclipse Danmark, foreningen for både professionelle, virksomheder og brugere.
Tonny er til daglig direktør i RCP Company, der har specialiseret sig i udvikling, uddannelse og konsulentydelser inden for Eclipse.
Han vil give jer et overblik over platformen, både teknisk, projektmæssigt, organisering, muligheder, fremtiden etc.
ITU - MDD – Model-to-Model TransformationsTonny Madsen
This presentation describes the use Model-to-Model transformations (M2M). It focus on the why, what and how.
This presentation is developed for MDD 2010 course at ITU, Denmark.
”Medbring din laptop, netbook, mac el.lign. og få i løbet af denne workshop dine første hands-on erfaringer med Eclipse.”
Arrangement for IDA.
In Danish
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
”Har du tænkt på at skifte til et leverandøruafhængigt udviklingsmiljø? Det er gratis, og du får ét udviklingsmiljø, som du kan programmere alt fra Java, C, C++ og PHP til databaser og webserver i. Vi får dig til at se værdien af værktøjet, og se flere forskellige eksempler på brugen af Eclipse i praksis.
Kom og hør formanden for eclipse.dk, Tonny Madsen, Direktør, RCP Kompaniet fortælle om Eclipse.
Eclipse er component-baseret, og du får indsigt i hvordan du sammensætter Eclipse til netop dine behov.”
In Danish
This presentation describes Eclipse Modeling Framework – EMF. It has two basic purposes:
Introduce you to the EMF techniques needed in the rest of the course
Introduce you to the architecture and components of the EMF project
This presentation is developed for MDD 2010 course at ITU, Denmark.
This presentation describes the use of XText.
This presentation assumes a good knowledge of Data Modeling and Grammars as previously presented.
This presentation is developed for MDD 2010 course at ITU, Denmark.
eclipse.dk - Eclipse RCP Under the HoodTonny Madsen
Denne event er en kombination af en tutorial day og en live demonstration af en "full featured" Eclipse RCP applikation hvor udviklingen kommenteres on-the-fly.
Medbring din laptop og prøv selv hvordan man forholdsvis let kan starte en Eclipse RCP applikation. Det er meget vigtigt at du allerede har Eclipse 3.6 installeret på maskinen.Følgende emner vil blive demonstreret / omtalt
Eclipse RCP Arkitektur
Konfiguration (OSGi console, plugin.xml, manifest.mf...)
Packaging
Extension Points
UI / SWT / JFace
Editors / Views
Building and Testing
Eclipse Summit Europe '08 - Implementing Screen Flows in Eclipse RCP Applicat...Tonny Madsen
Eclipse RCP – about of the box – is a fantastic platform for building applications. Especially if these are for engineer-like users
When Eclipse RCP is used for enterprise applications – like for banks – one of major shortcomings is found in the missing ability to control screen flows.
This talk describes how screen flow was implemented in a major banking application where we expect to add 2-300 screen flows, some very simple and some very complex.
EclipseCon '09 - The Happy Marriage of EMF, Data binding, UI Forms and Field ...Tonny Madsen
Imagine you have to develop a larger Eclipse RCP based application with many dozens - maybe hundreds - of views, dialogs and wizards all based on a large common EMF based data model. How do you make sure you get a consistent and modern interface that can be extended in the future without redesigning everything again and again?
We all have good and bad thoughts from time to time and situation to situation. We are bombarded daily with spiraling thoughts(both negative and positive) creating all-consuming feel , making us difficult to manage with associated suffering. Good thoughts are like our Mob Signal (Positive thought) amidst noise(negative thought) in the atmosphere. Negative thoughts like noise outweigh positive thoughts. These thoughts often create unwanted confusion, trouble, stress and frustration in our mind as well as chaos in our physical world. Negative thoughts are also known as “distorted thinking”.
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
How to Create Map Views in the Odoo 17 ERPCeline George
The map views are useful for providing a geographical representation of data. They allow users to visualize and analyze the data in a more intuitive manner.
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
How to Split Bills in the Odoo 17 POS ModuleCeline George
Bills have a main role in point of sale procedure. It will help to track sales, handling payments and giving receipts to customers. Bill splitting also has an important role in POS. For example, If some friends come together for dinner and if they want to divide the bill then it is possible by POS bill splitting. This slide will show how to split bills in odoo 17 POS.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
1.4 modern child centered education - mahatma gandhi-2.pptx
L0016 - The Structure of an Eclipse Plug-in
1. The Structure of an Eclipse Plug-in
This is a detailed description of the different parts that makes up an
Eclipse plug-in. The module focuses on the purpose of the different files
of a plug-in such as plugin.xml and the OSGi manifest file, MANIFEST.MF.
The module also describes how plug-ins are developed in Eclipse with
PDE, the Plug-in Development Environment
Redistribution and other use of this material requires written permission from The RCP Company.
L0001 - 2010-11-27
2. Basic Eclipse File Structure
An Eclipse IDE or RCP-based product consists of a rather large number of
files
The more important are the following
configuration/* – the configuration of the product
configuration/config.ini – the master configuration file
plugins/* – the plug-ins of the product
features/* – the features of the product
name.exe – the executable that starts the application
name.ini – application options
2
L0001 - 2010-11-27
3. What is an Eclipse Plug-in
A plug-in is the smallest functionality that is managed in the Eclipse
platform
Plug-ins are described via a number of configuration files
Plug-ins have different forms under development and runtime
Plug-ins are sometimes deployed individually
If you need update support, plug-ins must always be deployed as parts
of a feature
A fragment has the same structure as a plug-in with very few changes
3
L0001 - 2010-11-27
4. What Makes Up a Plug-in at Runtime?
Two types of plug-ins:
Jar-based
Directory-based
Directory based plug-ins used when
components outside the Eclipse run-time
component need access to files of the plug-in
This directory based plug-in consists of:
about.html – textual description of the
plug-in
junit.jar – archive that contains plug-in
code
META-INFMANIFEST.MF – the identity of
the plug-in
plugin.properties – localized strings
plugin.xml – extension points and
extensions
In this case the jar file must be accessible
from the tested application
4
L0001 - 2010-11-27
5. Runtime Files of a Plug-in
OSGi files
META-INF/MANIFEST.MF – description of OSGi bundle
.options – options for this specific plug-in
General plug-in files
plugin.xml and fragment.xml – description of extension points and
extensions of a plug-in
plugin.properties and fragment.properties – localized strings for the
previous files
5
L0001 - 2010-11-27
6. Runtime Files of a Plug-in
Product-specific files
splash.bmp – splash screen used at product start-up
about.ini – description of a product
about.properties – localized strings for about.ini
about.mappings – very simple macro facility for about.properties
about.html – additional information about plug-in including licensing
plugin_customization.ini – options for different plug-ins
plugin_customization.properties – localized strings for
plugin_customization.ini
*.jar – jar files with typically 3rd party functionality
6
L0001 - 2010-11-27
7. Development-time Files of a Plug-in
Eclipse Project files:
.project – basic description of Eclipse project
.classpath – the Java class path for a Java Eclipse project (and thus also
a PDE project)
.settings – preference store for project level preferences – includes all
property settings for the project
Product specification files
*.product – product declaration files
Build declarations
build.properties – build information for Ant with content of the
resulting jar files for the project
Extension Points
*.exsd – extension point declaration files
7
L0001 - 2010-11-27
8. MANIFEST.MF File
The OSGi manifest file describes the identify of the plug-in and the
dependencies on other plug-ins
Manifest files are very seldom edited directly!
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: com.rcpcompany.training.cm33.core; singleton:=true
Bundle-Version: 2.1.0
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: com.rcpcompany.training.cm33.core,
com.rcpcompany.training.cm33.core.util
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
8
L0001 - 2010-11-27
11. Plug-in Editor
Double-click on the plugin.xml or MANIFEST.MF
opens the editor
Almost all plug-in details can be changed in the
editor
Overview page displays basic plug-in
information
11
L0001 - 2010-11-27
12. Dependencies Page
Displays dependant plug-ins
Created by tools when the plug-in type is
chosen
New dependences can be added
12
L0001 - 2010-11-27
13. Runtime Page
Displays runtime information such as plug-in
classpath
Populated by the tools based on inputs from
wizards
Additional libraries can be added to the
classpath
13
L0001 - 2010-11-27
14. Extensions Page
Displays plug-in extensions
Created by the tool based on the plug-in
type
Extensions can be added
14
L0001 - 2010-11-27
15. Extension Points Page
Displays plug-in extension points
This example is taken from the
org.eclipse.ui plug-in
15
L0001 - 2010-11-27
16. Build and build.properties Pages
Interface to the build.properties file
specifies which .jar files to generate
Also describes which non-Java files that are part
of the generated .jar file
16
L0001 - 2010-11-27
17. Development Time and Runtime
The format and content of a plug-in differs slightly between development
time (in PDE) and runtime
A development time plug-in is valid as a runtime plug-in
A runtime plug-in does not include any sources – whether they are Java
or XML files
Normally a runtime plug-in is packaged as a single jar file, except
when the plug-in contains multiple jar files – e.g. 3rd party
when the plug-in contains writable files – almost never
The exact content of the runtime edition of a plug-in is controlled in the
Build tab of plugin.xml editor
If your icons are red and translations are missing, then you probably
forgot to tick files in the Build tab…
17
L0001 - 2010-11-27
The configuration/config.ini file contains the very basic information needed to launch the product. This includes\nA list of all the plug-ins that should be load at start up.\nThe name of the product to start.\nThe file name of the splash screen to show while the product is started, if any.\nThe plug-ins that makes up an Eclipse RCP application can be divided into three basic groups:\nThe basic Eclipse RCP plug-ins such as org.eclipse.core.runtime and org.eclipse.swt.\n3rd party plug-ins such as BIRT, EMF but also org.eclipse.update.core.\nThe plug-ins with the functionality of the application.\nThe RCP runtime (and OSGi) does not distinguish between the different types of plug-ins. The format of plug-ins are described in the module “L0016 - The Structure of an Eclipse plug-in”.\nThe file system will only include features if the product is feature-based. And unless the product uses the update manager, there is no reason to use features.\n
A fragment is recognized in the MANIFEST.MF file by the presence of the Fragment-Host specification.\n
In the above example we see the junit plug-in directory. The junit plug-in is available after downloading and installing Eclipse. Every plug-in directory has archive and manifest files. In the above example there are two additional files:\nabout.html - that contains detailed textual description about plug-in\nplugin.properties - file that contains localized strings from plugin.xml\nPlease note that most plug-ins are distributed as .jar files where the above files are embedded with the exception of the .jar file.\nOSGi is able to handle plug-in jar files that in turn contain other jar files. This situation can occur when a 3rd party jar file is needed in an application, but for various reasons it cannot be repackaged – e.g. due to licensing restrictions or a digital signing on the original jar file. When PDE must handle embedded jar files it simply retrieve the files when the bundle is started and then rearranges the class path to include the new locations. This, though, is expensive both in terms of execution time and disk-space and should therefore normally be avoided, if possible.\n
Most of these files can exist both in a jar based plug-in (a plug-in packaged as a single .jar file) and in a directory based plug-in. As long as the files from a plug-in are accessed using FileLocator.find(Bundle, IPath, Map) this is completely transparent.\nMore information:\nMANIFEST.MF: http://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/reference/misc/bundle_manifest.html\nabout.ini:\nhttp://help.eclipse.org/ganymede/topic/org.eclipse.platform.doc.isv/reference/misc/about_customization.html\nSee the module “L0054 - Localization of an Eclipse RCP Application” for information on exactly what can be localized\n
\n
The declaration files for extension points are based on a restricted form of XSD (as also implied by the extension).\n
The complete syntax for the manifest file is found in “OSGi Specifications”. The Eclipse-specific headers are described in “OSGi Bundle Manifest Headers”.\n
The plugin.xml file is a regular XML file. The schema for the XML is made up of the schemas for all possible extension points. The syntax is checked in the plugin.xml editor, but not when the plug-in is resolved.\nBefore Eclipse 3.0, the plugin.xml file also included the information that is now put in the MANIFEST.MF.\nThe plugin.xml file shown above defines a new global menu with an action (3.2 edition).\n
\n
The  PDE has a number of multi-page editors, including the plug-in manifest editor, that share the same basic behavior. The editor has one or more source pages that show the raw file content and one or more form pages that present the same information in a more structured format. \nThe plug-in manifest editor partitions the form information into several pages for less clutter. The best way to learn about the plug-in manifest editor is to visit each page.\n
The Dependencies page shows the dependencies that your plug-in has on other plug-ins.  The plug-ins your plug-in currently depends on are shown in the list. You can modify the list by adding more plug-ins (button Add...) or removing them from the list. Changes in this list will prompt PDE to update the plug-in manifest and also configure the build path of the project so that the classes of the imported plug-in are visible to the plug-in under development.\nOnce you add the plug-in reference to the list, you can browse it by selecting Open from the pop-up menu or double-clicking on the entry.\nUse the “Automated Management of Dependencies” sub-page to add all the possible plug-in dependencies to your project:\nContent assist will include all Java classes from these classes as well as all classes from required plug-ins\nThe required plug-ins will automatically be updated\n
The Runtime page describes which Java packages of the plug-in may be exported to other dependent plug-ins. Only the listed packages can be used by other plug-ins.\nThere is a special case: it is possible to make certain packages visible only to a limited set of other plug-ins (“Package Visibility”). This feature can be used between very closely coupled plug-ins to allow a greater visibility than normally. One such case is for test suites, where the test code is kept in a separate plug-in – to avoid getting it into the production system – but it often needs a more enhanced interface in order to test many features. Note though that fragments are a better solution in this case.\n
The Extensions page is used to browse and edit plug-in extensions. Extensions are the central mechanism for contributing behavior to the platform. Unless your plug-in is a simple Java API library made available to other plug-ins, new behavior is contributed as an extension.\n
The Extension points page is used to browse and edit extension points defined by the plug-in. Our plug-in's extension points can be used by the plug-in itself or another plug-in.\nPlease note that the name of the extension point is localized – the text is found in plugin.properties with the key ExtPoint.acceleratorConfigurations.\nThe XML file that describes the complete extension point is found as the file schema/acceleratorConfigurations.exsd. More about this in the module “L0015 - Making Extension Points”.\nTo see more about the different plug-ins that make up the Eclipse IDE, browse the “Plug-ins” view of the PDE perspective.\n
The Build page shows information about the generated runtime libraries. When packaged, platform plug-ins deliver all of their Java classes in JAR libraries. This page defines how the classes that are in source folders during the design time are packaged into the libraries. One source folder and one library have already been set during the project creation by the wizard. You can define more on this page.\nAlthough a plug-in can be divided into multiple .jar files, this should normally be avoided as it means the plug-in must be distributed as a directory instead of a .jar file.\nThe source build side of the tab is only relevant if you wish to distribute source plug-ins either to the public (not so likely) or to other parts of your company that might build on top of your work.\n
When an IDE or RCP application or product is started under PDE – sometimes called self-hosted – the new process is given a bundle path that includes all development plug-ins as well as the target system plug-ins. Check the osgi.bundles setting in {your-workspace}/.metadata/.plugins/org.eclipse.pde.core/{launch-name}/config.ini.\n