¿Cómo hago para que sbt incluya fuentes que no son de Java en artefactos publicados?
Estoy usando el complemento Kotlin y no puedo entender cómo forzar a sbt a incluir el archivo .kt en el jar fuente publicado. Solo incluye archivos .java.
Mucha gente en línea sugiere agregar el siguiente código al script sbt pero no ayuda
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) }
},
También intenté
includeFilter in (Compile, packageSrc) := "*.scala" || "*.java" || "*.kt",
Aquí está la salida de algunas variables en la consola 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
obrasRespuestas:
¿Qué plugin usas para Kotlin?
https://github.com/pfn/kotlin-plugin tiene la opción
kotlinSource
de configurar dónde se encuentra el directorio de origen.sbt packageBin
compiló los archivos de Kotlin e inclúyalos en la salida jarbuild.sbt
src / main / kotlin / org.test
consola
target / scala-2.13
jar incluye MainKt.class
y la carpeta org / test también contiene MainKt.class.
¿esto resolvería tu problema?
fuente