update create new module authored by Николай Кальгин's avatar Николай Кальгин
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
``` ```
git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git> git clone git@source.isimplelab.com:/<group_name>/<new_module_name.git>
``` ```
После этого в каталоге проекта ibank_root появится пустой репозиторий. После этого в каталоге проекта ibank_root появится пустой репозиторий.
Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться). Наполняем его полезным содержимым и фиксируем это содержимое, добиваемся того чтобы новый модуль компилировался без ошибок (программа минимум) и выполнял свою работу в рамках поставленной задачи (то к чему нужно стремиться).
- Только когда **обе** цели будут достигнуты, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку. - Только когда **обе** цели будут достигнуты, необходимо опубликовать свои наработки в центральном репозитории данного модуля, иначе говоря сделать *push* в основной ствол и, при необходимости, в стабильную ветку.
...@@ -22,6 +23,7 @@ git branch ibankfl-branch-2-0-12-393 ...@@ -22,6 +23,7 @@ git branch ibankfl-branch-2-0-12-393
# публикуем изменения в стабильной ветке центрального репозитория # публикуем изменения в стабильной ветке центрального репозитория
git push origin ibankfl-branch-2-0-12-393 git push origin ibankfl-branch-2-0-12-393
``` ```
3. Новый репозиторий наполнен и уверены что он работает правильно. 3. Новый репозиторий наполнен и уверены что он работает правильно.
Настала пора прописать его в конфигурации приложения. Для этого: Настала пора прописать его в конфигурации приложения. Для этого:
...@@ -31,6 +33,7 @@ git push origin ibankfl-branch-2-0-12-393 ...@@ -31,6 +33,7 @@ git push origin ibankfl-branch-2-0-12-393
``` ```
git add settings.gradle git add settings.gradle
``` ```
- Определиться чем является новый модуль. Кастомизацией конкретного банка или функциональным блоком, пригодным к использованию в нескольких банках. От этого выбора зависит куда дальше мы прописываем инструкции сборки. - Определиться чем является новый модуль. Кастомизацией конкретного банка или функциональным блоком, пригодным к использованию в нескольких банках. От этого выбора зависит куда дальше мы прописываем инструкции сборки.
Если модуль является кастомизацией конкретного банка, то следующий шаг будет выполняться в модуле *cust-ibank-customize* Если модуль является кастомизацией конкретного банка, то следующий шаг будет выполняться в модуле *cust-ibank-customize*
Если модуль является функциональным блоком, пригодным к использованию в различных банках, то следующий шаг будет выполняться в модуле *cust-ibank-ul-installer* Если модуль является функциональным блоком, пригодным к использованию в различных банках, то следующий шаг будет выполняться в модуле *cust-ibank-ul-installer*
...@@ -38,6 +41,7 @@ git add settings.gradle ...@@ -38,6 +41,7 @@ git add settings.gradle
``` ```
compile project(':имя_нового_модуля') compile project(':имя_нового_модуля')
``` ```
- Изменения build.gradle, внесённые в cust-ibank-customize или cust-ibank-ul-installer, необходимо зафиксировать и опубликовать. - Изменения build.gradle, внесённые в cust-ibank-customize или cust-ibank-ul-installer, необходимо зафиксировать и опубликовать.
``` ```
git add build.gradle git add build.gradle
...@@ -52,6 +56,7 @@ git push origin master ...@@ -52,6 +56,7 @@ git push origin master
``` ```
git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> new_module_name
``` ```
При выполнении команды `git submodule add` Git запоминает связь каталога `new_module_name` и URL `git@source.isimplelab.com:/<group_name>/<new_module_name.git>`, автоматически клонируя репозиторий и добавляя его в индекс проекта ibank_root. Изменения отражаются в файле `.gitmodules`. При выполнении команды `git submodule add` Git запоминает связь каталога `new_module_name` и URL `git@source.isimplelab.com:/<group_name>/<new_module_name.git>`, автоматически клонируя репозиторий и добавляя его в индекс проекта ibank_root. Изменения отражаются в файле `.gitmodules`.
- Добавляем в индекс изменения, внесённые ранее в cust-ibank-customize или cust-ibank-ul-installer: - Добавляем в индекс изменения, внесённые ранее в cust-ibank-customize или cust-ibank-ul-installer:
...@@ -59,6 +64,7 @@ git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git> ...@@ -59,6 +64,7 @@ git submodule add git@source.isimplelab.com:/<group_name>/<new_module_name.git>
git add cust-ibank-customize git add cust-ibank-customize
git add cust-ibank-ul-installer git add cust-ibank-ul-installer
``` ```
Таким образом в следующий коммит ibank_root обязательно должны войти изменения в: Таким образом в следующий коммит ibank_root обязательно должны войти изменения в:
1. `settings.gradle`; 1. `settings.gradle`;
2. `build.gradle` модулей cust-ibank-customize или cust-ibank-ul-installer внесённые ранее; 2. `build.gradle` модулей cust-ibank-customize или cust-ibank-ul-installer внесённые ранее;
...@@ -70,7 +76,9 @@ git add cust-ibank-ul-installer ...@@ -70,7 +76,9 @@ git add cust-ibank-ul-installer
``` ```
git commit -m "Добавлен подмодуль new_module_name" git commit -m "Добавлен подмодуль new_module_name"
``` ```
И публикуем новую структуру проекта ibank_root в центральном репозитории: И публикуем новую структуру проекта ibank_root в центральном репозитории:
``` ```
git push origin master git push origin master
``` ```