2016-03-21 4 views
0

Я разрабатываю плагин JIRA, который должен работать под JIRA 6 и 7. К сожалению, между этими версиями существуют большие изменения API, и мне приходится строить проект с различными зависимостями для каждой версии JIRA.Как разработать для разных сред

Ядро моего плагина не следует изменять между версиями, поэтому я подумал о создании слоя абстракции для JIRA API. Tht предоставляет только те методы, которые мне нужны.

Основная проблема заключается в том, что я абсолютно не знаю, как структурировать проект. Я решил создать ветвь в git для каждой версии JIRA, но тогда мне пришлось бы делать те же изменения в ядре в каждой ветви. Я подозреваю, что в какой-то момент я забуду это.

Есть ли у кого-нибудь идеи о том, как решить эту проблему?

+0

Существуют плагины на основе сборки инструмента 'maven'? – VinayVeluri

+3

сделать отдельный модуль ** core **, ** jira6 **, ** jira7 ** и может быть больше ... и вы можете определить различные зависимости для ** jira6 ** и ** jire7 **. Ветвь не звучит правильно ... BTW: Возможно, вам потребуется создать ** api ** модуль, который содержит перевод между различными версиями ... – khmarbaise

ответ

0

Три различные модули

Вот один из предлагаемой структуры, dependencies

путем реализации maven версии изменений, может быть версией изменения уровня модуля.

И снова для изменения базы кода, должно произойти изменение ветки git, где должно произойти обратное перемещение.

Допустим, что версия 6 находится в ветке и изменения, которые вы хотите в версии 7, Поскольку это одно из обычных изменений, файл должен быть основным модулем, а также должно быть здоровое слияние между этими ветви.

0

Использование подмодулей.

Ваша структура должна нравится, как это:

+ ROOT Project 1 
| - Common (shared between your projects = submodule) 
| - Project specific code 


+ ROOT Project 2 
| - Common (shared between your projects = submodule) 
| - Project specific code 

Прочитайте этот полный ответ об этом, как использовать его и то, что вы можете получить от него.

How to use 2 GIT Repos in a Project? (git submodules, subtree)

enter image description here

 Смежные вопросы

  • Нет связанных вопросов^_^