понедельник, 9 января 2012 г.

Пишем расширение для Mylyn. Основа расширения

   Итак, мы настроили окружение для разработки на базе Mylyn framework и теперь можно приступать непосредственно к созданию скелета нового плагина. Я рассчитываю что у вас уже есть базовое понимание внутренней архитектуры Eclipse и использования OSGI. Для ознакомления с основами рекомендую почитать заметки Павла Смолысова о Equinox.

   В рамках этого цикла статей мы напишем коннектор к выдуманной Bug Management System (BMS): TTrac. Это позволит нам сконцентрироваться на реализации плагина, а не реализации конкретных особенностей протокола BMS. За основу мы возьмем коннектор org.eclipse.mylyn.trac, который входит в состав Mylyn и обеспечивает интеграцию с популярной системой управления проектами Trac

понедельник, 2 января 2012 г.

Осваиваем Eclipse. Пишем расширение для Mylyn. Окружение

Mylyn - это подпроект Eclipse, который предоставляет framework для реализации task and application lifecycle management (ALM). Что за хитрый термин этот ALM?


ALM это сокращение для термина - управление жизненным циклом приложения: от сбора требований до поставки. Простейшим случаем (и наиболее распространенным) является управление багами или задачами (issue/bug management system).

Mylyn предоставляет framework, который позволяет вам прямо из Eclipse:
  • управлять багами в вашей bug management system (например trac или bugzila)
  • сохранять и открывать историю изменений кода связанную с конкретным багом
  • видеть результаты сборки билда
  • и много другое
Более подробно о возможностях Mylyn я расскажу позже, а сейчас я хочу рассказать как настроить окружение разработки для работы и исходным кодом Mylyn.
Основой для этой статьи послужил Mylyn/Contributor Reference, но я взял на себя смелость пересказать это по русски и с пояснениями.

Осваиваем Eclipse. Пишем расширение для Mylyn. Введение


Все Java разработчики знают о существовании 3х самых популярных Java IDE:

Каждая эта среда имеет свою историю, достоинства и недостатки, и конечно армии поклонников. Важно другое уже минимум 2 года эти продукты стали не просто программами, а платформами для построения приложений.

Это позволило использовать базовые возможности этих IDE для разработки приложений:
  • своих IDE (IBM RAD, PyCharm, ...)
  • standalone приложений
  • распределенных приложений
  • и многого другого
Для меня наибольший интерес как платформа представляет именно Eclipse и причин для этого сразу несколько:
  • я использую Eclipse в повседневной работе
  • полная открытость исходного кода модели разработки
  • очень богатая инфраструктура платформы (GUI, ECF, OSGI, ...)
  • большой объем существующих разработок
И надо сказать что Eclipse как платформа меня интересует уже не первый год, но Eclipse проект очень большой и очень сложный поэтому освоение идет медленно и осторожно. За последние 2 года я немного познакомился с OSGI как платформой для построения распределенных приложений, в прошлом году принял участие в исправлении некоторых багов (так и не приняты в upstream), с интересом читал заметки Павла Самолысова aka Бывшего сурового челябинского программиста.

И в этом году решил сделать суровый рывок и написать для компонента Mylyn собственный коннектор для доступа к багам из внутренней Issue Tracking System моей компании. Именно этому будут посвящены следующие несколько заметок в блоге.