Сборка BE4 и BE-SQL — различия между версиями
Lan (обсуждение | вклад) |
Lan (обсуждение | вклад) |
||
Строка 11: | Строка 11: | ||
* Запустить mvn deploy. | * Запустить mvn deploy. | ||
− | Деплоить одну и ту же версию дважды не выйдет. Если что-то пошло не так, увеличивайте номер версии снова и деплойте заново. | + | После этого новая версия попадёт в Nexus-репозиторий и будет доступна для других разработчиков. Деплоить одну и ту же версию дважды не выйдет. Если что-то пошло не так, увеличивайте номер версии снова и деплойте заново. |
Чтобы воспользоваться новой версией BE-SQL в BE4, вам придётся выпустить также новую версию BE4 с обновлёнными зависимостями (см. ниже). | Чтобы воспользоваться новой версией BE-SQL в BE4, вам придётся выпустить также новую версию BE4 с обновлёнными зависимостями (см. ниже). | ||
Строка 32: | Строка 32: | ||
Рассмотрим как обновить версию зависимости BE4 на примере BE-SQL. Предположим, требуется обновить версию BE-SQL с 0.0.24 на 0.0.25. | Рассмотрим как обновить версию зависимости BE4 на примере BE-SQL. Предположим, требуется обновить версию BE-SQL с 0.0.24 на 0.0.25. | ||
− | 1. Обновите версию в be4/pom/pom.xml (этот шаг не нужен для зависимостей, которые требуются): | + | 1. Обновите версию в be4/pom/pom.xml (необходимо для сборки BE4 Core; этот шаг не нужен для зависимостей, которые требуются только BE Eclipse IDE): |
<dependency> | <dependency> | ||
Строка 40: | Строка 40: | ||
</dependency> | </dependency> | ||
− | 2. Обновите версию в be4/src/ivy.xml | + | 2. Обновите версию в be4/src/ivy.xml (необходимо для компиляции BE Eclipse IDE) |
<dependency org="com.developmentontheedge" name="sql" rev="0.0.24" /> | <dependency org="com.developmentontheedge" name="sql" rev="0.0.24" /> | ||
Строка 46: | Строка 46: | ||
<dependency org="com.developmentontheedge" name="sql" rev="0.0.25" /> | <dependency org="com.developmentontheedge" name="sql" rev="0.0.25" /> | ||
− | 3. Обновите версию в be4/META-INF/MANIFEST.MF в разделе Bundle-ClassPath: | + | 3. Обновите версию в be4/META-INF/MANIFEST.MF в разделе Bundle-ClassPath (необходимо для работы BE Eclipse IDE): |
dep/sql-0.0.24.jar, --> dep/sql-0.0.25.jar, | dep/sql-0.0.24.jar, --> dep/sql-0.0.25.jar, | ||
Следует делать все изменения одновременно. Даже если вы не используете Eclipse-версию, пользователи Eclipse могут пострадать, если ограничиться первым пунктом. | Следует делать все изменения одновременно. Даже если вы не используете Eclipse-версию, пользователи Eclipse могут пострадать, если ограничиться первым пунктом. | ||
+ | |||
+ | После любых изменений зависимостей, как и после изменений исходного кода, необходимо выпустить новую версию BE4, чтобы другие пользователи могли увидеть ваши изменения (см. ниже). Исключение составляют только пользователи BE Eclipse IDE, которые не обновляются с Update-site, а используют режим с двумя Eclipse-инсталляциями. Желательно со временем перевести этих пользователей на Eclipse Update site. | ||
+ | |||
+ | == Сборка версии BE4 == | ||
+ | |||
+ | Предположим, последняя выпущенная версия 0.1.46 и мы хотим выпустить версию 0.1.47. | ||
+ | |||
+ | 1. Сборка Maven-артефакта. Аналогично BE-SQL: идём в файл be4/pom/pom.xml, меняем версию <code><nowiki><version>0.1.46</version></nowiki></code> на <code><nowiki><version>0.1.47</version></nowiki></code> и запускаем команду mvn deploy. После этого BE4 попадает в Nexus. | ||
+ | |||
+ | 2. Обновление версии по умолчанию. Ant-скрипты по умолчанию пользуются версией BE4, которая указана в файле be4/src/be4version.properties, который выглядит так: | ||
+ | |||
+ | BE4_VER=0.1.46 | ||
+ | |||
+ | Чтобы все пользователи перешли на новую версию, замените здесь на 0.1.47 и закоммитьте. Если вдруг в новой версии обнаружатся критические проблемы, достаточно будет просто вернуть здесь версию на стабильную. Также при запуске любого ant-таргета можно указать версию явно. Например, так: <code>ant -DBE4_VER=0.1.46</code>. Таким образом можно сравнивать поведение в разных версиях. | ||
+ | |||
+ | Обратите внимание, что хотя Java-код BE4 используется из стабильных сборок, опубликованных через Maven (код из Git не используется), ftl-макросы используются из be4/macro. Поэтому там ошибки повлияют на работу коллег. | ||
+ | |||
+ | 3. Обновление Eclipse Update Site. Для этого делаются следующие шаги: | ||
+ | |||
+ | 3.1. Обновляем версию в be4/META-INF/MANIFEST.INF в строчке Bundle-Version: | ||
+ | |||
+ | Bundle-Version: 0.1.46 | ||
+ | |||
+ | 3.2. Импортируем в Eclipse проекты be4/.project, be4/com.beanexplorer.be4.feature/.project, be4/com.beanexplorer.be4.site/.project | ||
+ | |||
+ | 3.3. |
Версия 15:17, 16 августа 2016
Содержание
Сборка BE-SQL
BE-SQL — полноценный Maven-проект. Смотрите настройку доступа в Maven во внутренней вики. Все этапы сборки выполняются с помощью maven, включая компиляцию javacc-грамматики. Для сборки новой версии:
- Выкачать проект dote/dote_modules
- Зайти в dote_modules/sql
- Изменить номер версии в pom.xml:
<version>0.0.24</version>
- Запустить mvn deploy.
После этого новая версия попадёт в Nexus-репозиторий и будет доступна для других разработчиков. Деплоить одну и ту же версию дважды не выйдет. Если что-то пошло не так, увеличивайте номер версии снова и деплойте заново.
Чтобы воспользоваться новой версией BE-SQL в BE4, вам придётся выпустить также новую версию BE4 с обновлёнными зависимостями (см. ниже).
Структура BE4
Проект BE4 состоит из двух частей. Исходный код по историческим причинам лежит вместе, но разделён по проектам:
- BE4 Core: ядро BE4, необходимое для работы через Ant. Состоит из пакетов (включая подпакеты):
- com.beanexplorer.enterprise.be4core
- com.beanexplorer.enterprise.metadata
- BE Eclipse IDE: плагины для Eclipse, реализующие пользовательский интерфейс. Включает в себя все остальные пакеты и зависит от BE4 Core.
BE4 Core содержит меньше зависимостей и является полноценным Maven-проектом (все зависимости есть в Maven). Pom-файл расположен в be4/pom/pom.xml.
BE Eclipse IDE собирается через Eclipse с помощью Ivy. При этом некоторые зависимости присутствуют явно в виде jar (каталоги be4/lib и be4/plugins — кое-что из BioUML), но большая часть зависимостей выкачивается автоматом через Ivy. Конфигурация ivy в be4/src/ivy.xml. Проект в Eclipse настроен так, что зависимости скачиваются в каталог be4/dep и потом оттуда используются. По факту с точки зрения сборки BE Eclipse IDE включает в себя BE4 Core.
Добавление/обновление зависимости в BE4
Рассмотрим как обновить версию зависимости BE4 на примере BE-SQL. Предположим, требуется обновить версию BE-SQL с 0.0.24 на 0.0.25.
1. Обновите версию в be4/pom/pom.xml (необходимо для сборки BE4 Core; этот шаг не нужен для зависимостей, которые требуются только BE Eclipse IDE):
<dependency> <groupId>com.developmentontheedge</groupId> <artifactId>sql</artifactId> <version>0.0.24</version> --> 0.0.25 </dependency>
2. Обновите версию в be4/src/ivy.xml (необходимо для компиляции BE Eclipse IDE)
<dependency org="com.developmentontheedge" name="sql" rev="0.0.24" /> --> <dependency org="com.developmentontheedge" name="sql" rev="0.0.25" />
3. Обновите версию в be4/META-INF/MANIFEST.MF в разделе Bundle-ClassPath (необходимо для работы BE Eclipse IDE):
dep/sql-0.0.24.jar, --> dep/sql-0.0.25.jar,
Следует делать все изменения одновременно. Даже если вы не используете Eclipse-версию, пользователи Eclipse могут пострадать, если ограничиться первым пунктом.
После любых изменений зависимостей, как и после изменений исходного кода, необходимо выпустить новую версию BE4, чтобы другие пользователи могли увидеть ваши изменения (см. ниже). Исключение составляют только пользователи BE Eclipse IDE, которые не обновляются с Update-site, а используют режим с двумя Eclipse-инсталляциями. Желательно со временем перевести этих пользователей на Eclipse Update site.
Сборка версии BE4
Предположим, последняя выпущенная версия 0.1.46 и мы хотим выпустить версию 0.1.47.
1. Сборка Maven-артефакта. Аналогично BE-SQL: идём в файл be4/pom/pom.xml, меняем версию <version>0.1.46</version>
на <version>0.1.47</version>
и запускаем команду mvn deploy. После этого BE4 попадает в Nexus.
2. Обновление версии по умолчанию. Ant-скрипты по умолчанию пользуются версией BE4, которая указана в файле be4/src/be4version.properties, который выглядит так:
BE4_VER=0.1.46
Чтобы все пользователи перешли на новую версию, замените здесь на 0.1.47 и закоммитьте. Если вдруг в новой версии обнаружатся критические проблемы, достаточно будет просто вернуть здесь версию на стабильную. Также при запуске любого ant-таргета можно указать версию явно. Например, так: ant -DBE4_VER=0.1.46
. Таким образом можно сравнивать поведение в разных версиях.
Обратите внимание, что хотя Java-код BE4 используется из стабильных сборок, опубликованных через Maven (код из Git не используется), ftl-макросы используются из be4/macro. Поэтому там ошибки повлияют на работу коллег.
3. Обновление Eclipse Update Site. Для этого делаются следующие шаги:
3.1. Обновляем версию в be4/META-INF/MANIFEST.INF в строчке Bundle-Version:
Bundle-Version: 0.1.46
3.2. Импортируем в Eclipse проекты be4/.project, be4/com.beanexplorer.be4.feature/.project, be4/com.beanexplorer.be4.site/.project
3.3.