Моя компания использует SBT/Scala, поэтому моя цель - разработать наши пользовательские NiFi-процессоры с этими, а не Maven/Java. Проблема, с которой я сталкиваюсь, - это я не знаю, как сгенерировать файлы NAR с помощью SBT. В NiFi есть плагин для модулей nifi-nar-maven-plugin, который он использует для упаковки всех зависимостей процессора в банку (nar). Есть ли способ построить NAR с помощью SBT?Могу ли я использовать другую систему сборки для создания пользовательских процессоров с NiFi?
Опции Я рассмотрел:
- Построение жира банку (например: https://github.com/sbt/sbt-assembly). Я вижу pom-файлы в NAR, но они фактически используются для чего-либо или это просто метаданные? Я вижу такие классы, как NarUnpacker, NarClassLoader, поэтому мне интересно, есть ли что-то конкретное в формате Nar, которое предотвратит работу плотных банок.
- Обратное проектирование плагина и создание SBT. Может быть, немного работы, и тогда мы рискуем выйти из синхронизации с изменениями в исходный плагин.
- Создайте обертку вокруг плагина maven для SBT. Я не думаю, что это сработает, поскольку плагин построен из библиотек maven.
- Оставляя только подпроект NiFi в качестве сборки maven и запуская его через родительский проект SBT. (например, http://www.scala-sbt.org/0.13/docs/Process.html)
- Откажитесь от руководства и убедите руководство использовать maven.