1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-alloy

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Аллюминий

Аллюминий 6 представляет собой автономный исполняемый файл, который включает расширенную версию моделировщика Kodkod и различные решатели SAT, а также стандартную библиотеку Аллюминия и набор обучающих примеров. Один и тот же файл jar можно включить в другие приложения для использования Аллюминия в качестве API, включая исходный код. Подробности о новых функциях см. в примечаниях к выпуску.

Аллюминий 6 — это крупный новый выпуск. Дополнительную документацию можно найти по адресу: http://alloytools.org/documentation.html.

Требования

Аллюминий работает на всех операционных системах с последней версией JVM (Java 6 или более поздней версии). Он доступен в виде запускаемого файла jar с кроссплатформенным решателем SAT (Sat4j и более эффективными собственными решателями SAT (minisat, lingeling/plingeling, glucose).

Обратите внимание, что начиная с macOS High Sierra необходимо установить специальную JVM для запуска Аллюминия на macOS. Для этой цели предоставляется файл .pkg.

TL;DR

Проверьте проект и введите ./gradlew build. Исполняемый JAR-файл находится в org.alloytools.alloy.dist/target/org.alloytools.alloy.dist.jar после завершения сборки.

 $ java -version           # требует 1.8 (и НЕ 1.9, gradle не работает на 1.9)
 java version "1.8.0_144"
 Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
 Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed model
 $ git clone --recursive https://github.com/AlloyTools/org.alloytools.alloy.git
 $ cd org.alloytools.alloy
 $ ./gradlew build
 $ java -jar org.alloytools.alloy.dist/target/org.alloytools.alloy.dist.jar
 # открывает графический интерфейс

Примечание: если вы находитесь за прокси-сервером, вызов gradlew, скорее всего, завершится неудачно, если только вы не передадите ему дополнительные параметры о прокси-серверах HTTP и HTTPS (и, возможно, ваш логин и пароль на этом прокси-сервере). Существует несколько способов передать эти параметры, простой из них — ввести (замените XXXXXX соответствующими настройками):

 $ ./gradlew -Dhttps.proxyHost=XXXXX -Dhttp.proxyHost=XXXXX -Dhttp.proxyPort=XXXXX \
      -Dhttps.proxyPort=XXXXX -Dhttp.proxyUser=XXXXX -Dhttp.proxyPassword=XXXXX \
      -Dhttps.proxyUser=XXXXX -Dhttps.proxyPassword=XXXXX \
      build

Сборка Аллюминия

Сборка Аллюминия использует настройку рабочего пространства bnd с использованием макета maven. Это означает, что его можно собрать с помощью Gradle и Eclipse IDE для интерактивной разработки. Проекты настроены на непрерывную доставку исполняемого файла.

Проекты

Рабочее пространство разделено на несколько проектов:

  • cnf — каталог настройки. Зависимости указаны в [cnf/central.xml] с использованием макета POM maven
  • org.alloytools.alloy.application — основной код приложения включает парсер, ast, визуализатор и код приложения
  • org.alloytools.alloy.dist — проект для создания дистрибутивного исполняемого JAR
  • org.alloytools.alloy.extra — модели и примеры
  • org.alloytools.pardinus — расширение Kodkod без собственного кода
  • org.alloytools.kodkod.nativesat — библиотеки собственного кода для Kodkod

Соответствующие файлы проекта

В этом рабочем пространстве используется bnd. Это означает, что следующие имеют особое значение:

  • cnf/build.xml — общие настройки между проектами
  • ./bnd.bnd — настройки для проекта. Этот файл будет перетаскивать код в JAR.
  • cnf/central.xml — зависимости от центрального maven

Eclipse

Рабочая область настроена для интерактивной разработки в Eclipse с плагином Bndtools. Скачайте Eclipse и установите его. Затем вы можете Import... Существующие проекты из рабочей области Git.

Вам будет предложено установить Bndtools с торговой площадки. Вы также можете установить Bndtools напрямую с сайта Eclipse Market (см. «Справка / Торговая площадка» и выполните поиск по запросу «Bndtools»).

Bndtools будет непрерывно создавать конечный исполняемый файл. Проекты настроены на автоматическое обновление при изменении нижестоящего проекта.

IntelliJ IDEA (только Ultimate Edition)

Убедитесь, что у вас включён плагин Osmorc, так как этот плагин необходим для поддержки Bndtools. Он должен быть включён по умолчанию.

  1. Выберите «Импортировать проект из существующих источников», используя комбинацию клавиш Ctrl + Shift + a.
  2. Выберите корневую папку (по умолчанию папка называется org.alloytools.alloy).
  3. Выберите «Импорт проекта из внешней модели: Bnd/Bndtools» и нажмите «Далее».
  4. Для «Выбрать проект Bnd/Bndtools для импорта» все проекты должны быть отмечены по умолчанию, нажмите «Далее».
  5. Для SDK проекта выберите «1.8», нажмите «Готово».
  6. Выберите папку org/alloytools/kodkod/nativesat/jni в качестве папки ресурсов, выбрав модуль org.alloytools.kodkod.nativesat, выбрав папку jni → щёлкните правой кнопкой мыши → Отметить каталог как → Корень ресурса.

Примечание: не связывайте проект Gradle, так как это помешает вам запустить Alloy в IDEA.

Чтобы запустить графический интерфейс Alloy в IDEA, перейдите к org.alloytools.alloy.application/src/main/java/edu/mit/csail/sdg/alloy4whole/SimpleGUI и запустите класс SimpleGUI.

Gradle

В корне этой рабочей области введите ./gradlew. Это скрипт, который загрузит правильную версию gradle и запустит сценарии сборки. Для настроек посмотрите [gradle.properties] и [settings.gradle].

Непрерывная интеграция

Рабочая область настроена на сборку после каждого коммита с использованием Travis.

Она выпускает моментальные снимки в https://oss.sonatype.org/content/repositories/snapshots/org/alloytools/ для каждой сборки CI на Travis.

Создание файла DMG для систем OSX

На данный момент создаётся только исполняемый jar-файл в org.alloytools.alloy.dist/target/org.alloytools.alloy.dist.jar. В проекте org.alloytools.alloy.dist запустите ../gradlew macos. Это оставит файл PKG в target/bundle.

ВКЛАД

Пожалуйста, ознакомьтесь с ВКЛАД, чтобы понять, как вы можете внести свой вклад.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Alloy — это язык для описания структур, а также инструмент для исследования структур. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-alloy.git
git@api.gitlife.ru:oschina-mirror/mirrors-alloy.git
oschina-mirror
mirrors-alloy
mirrors-alloy
master