Архив категории ‘Java’
Валидация XML файлов в Atlassian Stash
Tuesday, February 4th, 2014
Я уже касался как-то темы написания хука для репозитория в Atlassian Stash. На этот раз появилась необходимость проверять валидность синтаксиса XML-файлов, которые коммитят в репозиторий. То есть задача состоит в том, чтобы в каждый момент времени обеспечить в репозитории набор валидных XML-файлов. Сама задача разбивается на две логические подзадачи: 1. получить содержимое изменённых файлов; 2. Произвести непосредственно проверку синтаксиса.
Метки: Atlassian, Java
Категория: 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'овсих продуктов и вообще от быдлокодинга.
Метки: Atlassian, Java
Категория: Java | Нет комментариев »