Como faço para incluir o sbt fontes não Java no artefato publicado?
Estou usando o plugin Kotlin e não consigo descobrir como forçar o sbt a incluir o arquivo .kt no jar de origem publicado. Inclui apenas arquivos .java.
Muitas pessoas online sugerem adicionar o seguinte código ao script sbt, mas isso não ajuda
mappings in (Compile, packageSrc) ++= {
val base = (sourceManaged in Compile).value
val files = (managedSources in Compile).value
files.map { f => (f, f.relativeTo(base).get.getPath) }
},
Eu também tentei
includeFilter in (Compile, packageSrc) := "*.scala" || "*.java" || "*.kt",
Aqui está a saída de algumas variáveis no console sbt
sbt:collections> show unmanagedSourceDirectories
[info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/scala
[info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/java
[info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/kotlin
sbt:collections> show unmanagedSources
[info] * /home/expert/work/sideprojects/unoexperto/extensions-collections/src/main/java/com/walkmind/extensions/collections/TestSomething.java
src/main/kotlin
obrasRespostas:
qual plugin você usa para o kotlin?
https://github.com/pfn/kotlin-plugin tem a opção
kotlinSource
de configurar onde o diretório de origem está localizado.sbt packageBin
arquivos kotlin compilados e inclua-os na saída jar.build.sbt
src / main / kotlin / org.test
console
target / scala-2.13
jar inclui MainKt.class
e a pasta org / test também contém MainKt.class.
isso resolveria seu problema?
fonte