Как использовать jnaerator в проекте SBT

Я работаю над проектом Scala, который использует код c ++, используя sbt. После компиляции этот код c ++ импортируется в Scala через код Java, который использует jna.

Теперь в настоящее время Java-оболочка написана вручную, и мне нравится это автоматизировать. Я нашел jnaerator, который может это сделать, но я не знаю, как мне использовать его в sbt.

Я вижу два общих подхода:

  1. используйте командную строку, такую ​​как java -jar jnaerator ... но я не знаю, как настроить такую ​​задачу командной строки в SBT? Кроме того, мне нужно знать типичную структуру проекта, чтобы следовать: где вывести сгенерированный jna код?
  2. Используйте плагин jnaerator maven через sbt, если это возможно?

0

Решение

Это может занять некоторое время, пока мы не сделаем то, что вам нужно.

Для первого подхода, вот как вы можете запустить пользовательскую системную команду на sbt (вы по сути решаете это с помощью кода Scala). Добавьте следующее к вашему build.sbt файл:

lazy val runJnaerator= taskKey[Unit]("This task generates libraries from native code")

runJnaerator := {
import sys.process._
Seq("java" , "-jar", "jnaerator", "..." ).!
}

Выполнить:

>sbt runJnaerator

Теперь вопрос в том, куда вам нужны эти файлы, чтобы файлы? И наконец, как вы хотите призвать все?

1

Другие решения


По вопросам рекламы [email protected]