Project

General

Profile

Инструкция по сборке Rodin » History » Version 2

Denis Kildishev, 03/10/2022 04:44 PM

1 1 Ilya Shchepetkov
h1. Инструкция по сборке Rodin
2
3
Оригинальная инструкция на английском: "Building Rodin Headless":https://wiki.event-b.org/index.php/Building_Rodin_Headless
4
5
# Скачать репозиторий @rodincore@ и выполнить сборку в Eclipse пользуясь "другой инструкцией":https://forge.ispras.ru/projects/spmodeler/wiki/Rodin_core_platform_development. Это необходимо, так как некоторые исходные файлы генерируются только после первой сборки
6
# В файле @org.eventb.parent/pom.xml@ в поле @<www-basedir>@ указана директория по умолчанию (@/tmp/rodin-build/rodin-3.6@), в которой по итогам сборки будут скопированы архивы для всех трех целевых платформ (Windows, Linux, macOS), Rodin target platform (архив, необходимый для разработки плагинов к Rodin) и update-site. При необходимости можно указать другой путь
7 2 Denis Kildishev
# Перед сборкой нужно создать в ~/.m2/toolchains.xml файл с содержимым по шаблону org.rodinp.releng/toolchains.xml с указанием пути к jvm
8 1 Ilya Shchepetkov
# Для сборки требуется @Java 11@ и @Apache Maven@. Сборка выполняется следующей командой из корня репозитория: @./org.rodinp.releng/scripts/run-maven.sh@. Иногда может потребоваться явно указать, какую из установленных версий @Java@ использовать: это можно сделать с помощью переменной @JAVA_HOME@, пример: @JAVA_HOME=/usr/local/opt/openjdk@11 ./org.rodinp.releng/scripts/run-maven.sh@
9
# Если сборка прошла успешно, а по какой-то причине(?) директория @<www-basedir>@ пуста, то требуемые архивы можно найти в следующих местах:
10
** Архивы для всех трех целевых платформ: в директории @org.rodinp.platform.repository/target/products@
11
** Rodin target platform: в директории @org.rodinp.dev/target@
12 2 Denis Kildishev
13
# Сборка также может осуществляться вручную при помощи команды mvn install -Dversion-suffix="" "$@" # -fae|-fn на корневой папке репозитория. При этом будут запущены gui тесты. Чтобы отключить тесты при сборке можно воспользоваться аргументом 
14
-DskipTests.
15
# Для переноса данных с одного update_site на другой можно воспользоваться скриптом mirror.sh