Инструкция по сборке Rodin » History » Revision 2
Revision 1 (Ilya Shchepetkov, 06/25/2021 04:42 PM) → Revision 2/3 (Denis Kildishev, 03/10/2022 04:44 PM)
h1. Инструкция по сборке Rodin Оригинальная инструкция на английском: "Building Rodin Headless":https://wiki.event-b.org/index.php/Building_Rodin_Headless # Скачать репозиторий @rodincore@ и выполнить сборку в Eclipse пользуясь "другой инструкцией":https://forge.ispras.ru/projects/spmodeler/wiki/Rodin_core_platform_development. Это необходимо, так как некоторые исходные файлы генерируются только после первой сборки # В файле @org.eventb.parent/pom.xml@ в поле @<www-basedir>@ указана директория по умолчанию (@/tmp/rodin-build/rodin-3.6@), в которой по итогам сборки будут скопированы архивы для всех трех целевых платформ (Windows, Linux, macOS), Rodin target platform (архив, необходимый для разработки плагинов к Rodin) и update-site. При необходимости можно указать другой путь # Перед сборкой нужно создать в ~/.m2/toolchains.xml файл с содержимым по шаблону org.rodinp.releng/toolchains.xml с указанием пути к jvm # Для сборки требуется @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@ # Если сборка прошла успешно, а по какой-то причине(?) директория @<www-basedir>@ пуста, то требуемые архивы можно найти в следующих местах: ** Архивы для всех трех целевых платформ: в директории @org.rodinp.platform.repository/target/products@ ** Rodin target platform: в директории @org.rodinp.dev/target@ # Сборка также может осуществляться вручную при помощи команды mvn install -Dversion-suffix="" "$@" # -fae|-fn на корневой папке репозитория. При этом будут запущены gui тесты. Чтобы отключить тесты при сборке можно воспользоваться аргументом -DskipTests. # Для переноса данных с одного update_site на другой можно воспользоваться скриптом mirror.sh