Até agora, vimos as diferentes extensões facultadas pela ferramenta readme. Vejamos a definição geral do plug-in da ferramenta readme.
O plug-in da ferramenta readme é definido no ficheiro MANIFEST.MF.
Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %Plugin.name Bundle-SymbolicName: org.eclipse.ui.examples.readmetool; singleton:=true Bundle-Version: 3.2.0.qualifier Bundle-ClassPath: readmetool.jar Bundle-Activator: org.eclipse.ui.examples.readmetool.ReadmePlugin Bundle-Vendor: %Plugin.providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.core.runtime, org.eclipse.ui.views, org.eclipse.ui.ide, org.eclipse.jface.text, org.eclipse.text, org.eclipse.ui.workbench.texteditor, org.eclipse.ui.editorsEclipse-AutoStart: true Eclipse-AutoStart-comment: Use Eclipse-AutoStart instead of Eclipse-LazyStart because the readme example should run against 3.1 as well as 3.2.
A definição de plug-in inclui o Bundle-Name, Bundle-SymbolicName (id do plug-in), Bundle-Version e o Bundle-Vendor of the plug-in. Já vimos a maioria destes parâmetros no nosso plug-in hello world. A ferramenta readme também define uma classe de plug-in especializada, ReadmePlugin.
O nome do ficheiro JAR também é indicado. Os nomes dos ficheiros especificados em Bundle-ClassPath são relativos ao directório do plug-in e, por conseguinte, o ficheiro jar da ferramenta readme deverá ser localizado directamente no directório do plug-in.
O elemento Require-Bundle informa a plataforma em relação às dependências da ferramenta readme. Os plug-ins da UI da área de trabalho estão listados como plug-ins necessários, junto com os diversos plug-ins de núcleo, jface e texto.
A classe ReadmePlugin representa o plug-in da ferramenta readme e gere o ciclo de vida do plug-in. Como vimos no exemplo Hello World, não é necessário especificar uma classe de plug-in. A plataforma indica uma em seu nome. Neste caso, o nosso plug-in precisa de inicializar dados relacionados com a UI quando iniciar. A classe de plataforma AbstractUIPlugin faculta uma estrutura para gerir recursos de UI e é estendida pelo ReadmePlugin.
O AbstractUIPlugin utiliza os métodos de arranque e encerramento genéricos para gerir imagens, definições e um arquivo de preferências durante a vida do plug-in. Veremos as especificidades da classe ReadmePlugin quando trabalharmos com caixas de diálogo e preferências.