Не-Scala / Java зависимости в SBT - PullRequest
0 голосов
/ 12 июля 2020
Программа

A Scala, которую я пишу, использует средство доказательства теоремы E (https://github.com/eprover/eprover). Программа взаимодействует с E путем создания файла в / temp / и выполнения E с файлом в качестве аргумента.

Вопрос:

Чтобы использовать программу (выполняя ее или как библиотеку), требуется исполняемый файл E. E - это программа C, а не библиотека Scala / Java. Как лучше всего включить это в проект SBT?

Что я пробовал:

В настоящее время у меня есть только сценарий, который нужно запускать вручную. Он клонирует репозиторий git и строит исполняемый файл. Одна из проблем с этим подходом заключается в том, что исполняемый файл теперь находится внутри папки репозитория git, который каждый пользователь клонирует в другое место. Мне нужно найти это место. Я пробовал следующее (Eprover - это имя класса моей оболочки):

Eprover.getClass.getProtectionDomain.getCodeSource.getLocation

Но это возвращает что-то другое, когда я использую проект Scala в качестве библиотеки в другом проекте Scala .

В идеале я бы превратил исполняемый файл E в зависимость, которую можно было бы включить в build.sbt, хотя я понятия не имею, как это сделать.

...