Архив категории ‘Java’

Валидация XML файлов в Atlassian Stash

Tuesday, February 4th, 2014

Из тумана, как из форточки, выглянул Филин, ухнул: "Угу! У-гу-гу-гу!…" и растворился в тумане. "Псих", — подумал Ёжик, поднял сухую палку и, ощупывая ею туман, двинулся вперед.

Сергей Козлов «Ёжик в тумане»

good_codeЯ уже касался как-то темы написания хука для репозитория в Atlassian Stash. На этот раз появилась необходимость проверять валидность синтаксиса XML-файлов, которые коммитят в репозиторий. То есть задача состоит в том, чтобы в каждый момент времени обеспечить в репозитории набор валидных XML-файлов. Сама задача разбивается на две логические подзадачи: 1. получить содержимое изменённых файлов; 2. Произвести непосредственно проверку синтаксиса.

(more…)

Метки: ,
Категория: Java | Нет комментариев »


Пишем хук для Atlassian Stash

Tuesday, August 27th, 2013

Ничто так не способствует карьере творца, как немного смерти и безвестности.

Дэн Симмонс «Падение Гипериона»

Раньше я тесно взаимодействовал с системой контроля версий Subversion и с системой для багтрекинга (точнее issue-трекинга) Atlassian Jira. Они были тесно переплетены друг с другом. Jira показывала привязанные к задачам коммиты в SVN, SVN спрашивал у Jira разрешения на коммит с учётом главного правила – сообщение к коммиту должно содержать валидный ключ задачи в Jira. Последняя фича реализовывалась с помощью плагина JIRA Commit Acceptance и pre-commit хука для SVN, написанного на Perl'е.

Когда же SVN отошёл и уступил место git'у под управлением Atlassian Stash, возникла необходимость реализовать ту же самую тёплую ламповую функциональность, которая существовала и раньше. Каково же было моё удивление, когда я узнал, что плагина для Stash с аналогичным хуком не существует (да-да, хуки здесь существуют в виде плагинов). А это значило, что следует засучить рукава и разобраться, как написать свой собственный плагин под Stash и научить его делать то, что нам надо.

Плагины для продуктов Atlassian пишутся на Java, и лично для меня основной сложностью и преградой было именно это обстоятельство, ведь я джавой головного мозга не страдаю и за всю жизнь не написал на Java ни строчки кода, если не считать кое-каких HelloWorld'ов по разным туториалам. Но всё бывает в первый раз. Так что этот текст может пригодиться (а может и не пригодиться) людям совершенно далёким от java-разработки, плагиностроения для Atlassian'овсих продуктов и вообще от быдлокодинга.

(more…)

Метки: ,
Категория: Java | Нет комментариев »