T.M. SoftStudio

feci quod potui, faciant meliora potentes

Купить полную версию книги "Среда разработки Eclipse 4: Руководство разработчика"

  • Разработка Eclipse-плагинов

    Мастер Feature Project

    Возможности feature позволяют объединять наборы Eclipse-плагинов в логические единицы. При этом feature-возможность может также включать в себя фрагменты плагинов и другие feature-возможности.

    Мастер Feature Project раздела Plug-in Development команды New | Other помогает создать feature-возможность.

    Мастер Feature Project имеет две страницы Feature Properties и Referenced Plug-ins and Fragments. На странице Feature Properties определяются имя проекта feature-возможности, feature-идентификатор, имя, версия, производитель возможности.

    Поле Install Handler Library: страницы Feature Properties определяет имя JAR-библиотеки, которая будет содержать Java-класс, реализующий интерфейс org.eclipse.update.core.IInstallHandler. Интерфейс IInstallHandler использовался в платформе Eclipse 3 и позволял участвовать в процессе инсталляции feature-возможности. В платформе Eclipse 4 данный интерфейс не используется.

    На странице Referenced Plug-ins and Fragments определяются плагины, фрагменты и другие feature-возможности, которые будут составлять создаваемую feature-возможность.

    После нажатия кнопки Finish мастера Feature Project в Workspace-пространстве будет создана основа проекта feature-возможности, включающая в себя файлы build.properties и feature.xml, которые открываются в многостраничном визуальном редакторе PDE-плагина.

    PDE-редактор feature-возможности состоит из вкладок Overview, Information, Plug-ins, Included Features, Dependences, Build, feature.xml и build.properties.

    Вкладка Overview PDE-редактора содержит разделы General Information, Supported Environments, Feature Content, Exporting и Publishing.

  • Раздел General Information вкладки Overview PDE-редактора определяет общую информацию о feature-возможности, фиксируемую в файле feature.xml, с помощью следующих полей:

    • ID – идентификатор возможности.

    • Version – версия возможности.

    • Name – имя возможности.

    • Vendor – производитель возможности.

    • Branding Plug-in – идентификатор Eclipse-плагина, отвечающего за брендинг возможности. Если идентификатор не указан, тогда feature-возможность может включать в себя Eclipse-плагин, отвечающий за брендинг, с тем же идентификатором, что и у возможности. Примером такой возможности и такого плагина служит feature-возможность org.eclipse.platform и Eclipse-плагин org.eclipse.platform. Ссылка Branding Plug-in позволяет открыть мастер Plug-in Project создания плагина, отвечающего за брендинг возможности. Такой плагин содержит файл about.html, отображаемый при выборе в меню Help команды About Eclipse | Installation Details | Features | Plug-in Details | Legal Info, а также файл about.ini, определяющий следующие свойства:

      • featureImage – значок возможности, отображаемый в окне About.

      • aboutText – краткое описание возможности, отображаемое при нажатии значка возможности.

      • tipsAndTricksHref – HTML-страница документации, доступная с помощью выбора команды Tips and Tricks меню Help.

    • Update Site URLURL-адрес, используемый сервисом Update Manager для поиска обновлений возможности.

    • Update Site Name – метка URL-адреса обновлений возможности.

  • Раздел Supported Environments вкладки Overview PDE-редактора определяет, используя списки Operating Systems, Window Systems, Languages и Architecture, операционные системы, оконные системы, языки и архитектуры процессора, для которых данная возможность может быть инсталлирована. Эта информация фиксируется в виде соответствующих атрибутов тэга <feature> файла feature.xml.

    Раздел Feature Content вкладки Overview PDE-редактора содержит ссылки, открывающие вкладки Information, Plug-ins, Included Features, Dependences PDE-редактора.

    Раздел Exporting вкладки Overview PDE-редактора с помощью ссылки Synchronize обеспечивает синхронизацию версий плагинов возможности с версиями плагинов Workspace-пространства. Ссылка Build Configuration раздела Exporting открывает вкладку Build PDE-редактора, а ссылка Export Wizard – мастер Deployable features команды Export контекстного меню окна Package Explorer.

    При экспорте feature-возможности в готовый для развертывания модуль, используя мастер Deployable features, в папке features в случае выбора флажка Package as individual JAR archives вкладки Options мастера Deployable features создается JAR-файл возможности, обязательно содержащий файл feature.xml, а в папке plugins создаются JAR-файлы плагинов, составляющих возможность. Если же флажок Package as individual JAR archives не отмечен, тогда в папке features создается не упакованная папка возможности.

    При экспорте feature-возможности в заданный каталог (переключатель Directory вкладки Destination мастера Deployable features) его можно определить как p2-репозиторий. Инструмент p2 платформы Eclipse позволяет инсталлировать, удалять и обновлять feature-возможности. Для определения каталога как p2-репозитория необходимо отметить флажок Generate p2 repository вкладки Options мастера Deployable features. При этом можно определить экспортируемую возможность в заданную категорию.

  • Для создания категории возможности можно воспользоваться мастером Category Definition раздела Plug-in Development команды New | Other. Мастер Category Definition создает файл category.xml (корневой тэг <site>), который открывается в визуальном редакторе PDE-плагина. Кнопка New Category PDE-редактора файла category.xml создает новую категорию с идентификатором и отображаемым именем (тэг <category-def> с атрибутами name и label), а кнопка Add Feature определяет категорию для возможности (тэг <feature> с вложенным тегом <category>).

    Для регистрации категории в p2-репозитории необходимо отметить флажок Categorize repository и с помощью кнопки Browse указать файл category.xml.

    Экспорт возможности с созданием p2-репозитория при отмеченном флажке Package as individual JAR archives сопровождается генерацией JAR-файлов p2-метаданных в каталоге репозитория. Теперь при выборе команды Install New Software меню Help в поле Work with: кнопками Add и Local можно выбрать созданный p2-репозиторий, при этом в окне мастера Install отобразится категория и ее feature-возможность, которую далее можно инсталлировать.

    Раздел Publishing вкладки Overview PDE-редактора с помощью ссылки Update Site Project открывает мастер Update Site Project раздела Plug-in Development команды New | Other. Мастер Update Site Project создает проект сайта инсталляции feature-возможности. Файл site.xml (корневой тэг <site>) проекта открывается в визуальном редакторе PDE-плагина, состоящим из вкладок Site Map, Archives и site.xml.

    Кнопка New Category вкладки Site Map создает новую категорию с идентификатором и отображаемым именем (тэг <category-def> с атрибутами name и label), а кнопка Add Feature определяет для возможности созданную категорию (тэг <feature> с вложенным тегом <category>). При определении возможности во вкладке Site Map появляется раздел Feature Environments, позволяющий указать платформу инсталляции возможности. Кнопка Synchronize синхронизирует определение платформы файла site.xml с определением платформы файла feature.xml возможности. Кнопка Build вкладки Site Map генерирует в каталоге проекта сайта папки features и plugins с JAR-файлом возможности и JAR-файлами плагинов, составляющих возможность.

  • Вкладка Archives содержит разделы Site Description, Archive Mapping и Site Mirrors, дающие возможность определить имя, адрес и описание сайта, дополнительные файлы инсталляции, а также адрес зеркала сайта.

    Вкладка site.xml PDE-редактора отображает XML-код файла site.xml проекта.

    После создания проекта сайта при выборе команды Install New Software меню Help в поле Work with: кнопками Add и Local можно выбрать каталог проекта сайта, при этом в окне мастера Install отобразится категория и ее feature-возможность, которую далее можно инсталлировать.

    Вкладка Information PDE-редактора feature-возможности содержит вкладки Feature Description, Copyright Notice, License Agreement и Sites to Visit, с помощью которых можно занести соответствующую информацию описания возможности, ее права и лицензию, адреса сопутствующих сайтов в файл feature.xml. Данная информация будет отображаться сервисом Update Manager при инсталляции возможности.

    Вкладки Plug-ins и Included Features обеспечивают определение плагинов, фрагментов плагинов и feature-возможностей, составляющих данную возможность.

    Вкладка Dependences с помощью кнопки Compute позволяет вычислить плагины и возможности, которые должны быть инсталлированы перед инсталляцией данной возможности. Перечень плагинов и возможностей, необходимых для инсталляции данной возможности, фиксируется в тэге <requires> файла feature.xml.

    Вкладка Build PDE-редактора feature-возможности обеспечивает визуальное редактирование файла build.properties сборки возможности. Вкладки feature.xml и build.properties отображают XML-код одноименных файлов проекта возможности.

    Мастер Feature Patch раздела Plug-in Development команды New | Other помогает создать проект изменений уже существующей возможности, фиксирующих ее ошибки. Страница Patch Properties мастера Feature Patch позволяет определить имя проекта, идентификатор и имя патча, а также идентификатор, имя и версию feature-возможности, для которой создается патч. Проект изменений возможности имеет ту же структуру, что и проект возможности, с теми же опциями PDE-плагина.


Мастер Plug-in from Existing JAR Archives