kotlin-plugin
Build kotlin code using sbt
Current version 2.0.0
Usage
- for sbt 1.0.0+
addSbtPlugin("com.hanhuy.sbt" % "kotlin-plugin" % "2.0.0")
- for sbt 0.13.x
addSbtPlugin("com.hanhuy.sbt" % "kotlin-plugin" % "1.0.9")
- Kotlin code will build automatically from
src/XXX/kotlin
- If necessary, add
kotlinLib("stdlib")
, it is not included by default.- Loading standard kotlin libraries and plugins: use
kotlinLib(NAME)
as above to load standard kotlin modules provided by JetBrains. For JetBrains kotlin compiler plugins, usekotlinPlugin(NAME)
(e.g.kotlinPlugin("android-extensions")
). The difference is that the latter marks the module as acompile-internal
dependency and will be excluded from the final build product. - Any other libraries can be loaded using the normal
libraryDependencies
mechanism. Compiler plugins should be added as a normallibraryDependency
but specified to be% "compile-internal"
- Loading standard kotlin libraries and plugins: use
- If a non-standard Classpath key needs to be added to the kotlin compile step,
it can be added using the
kotlinClasspath(KEY)
function- For example, to compile with the android platform using
android-sdk-plugin
:kotlinClasspath(Compile, bootClasspath in Android)
- For example, to compile with the android platform using
Options
kotlincPluginOptions
: specifies options to pass to kotlin compiler plugins. Useval plugin = KotlinPluginOptions(PLUGINID)
andplugin.option(KEY, VALUE)
to populate this settingkotlinSource
: specifies kotlin source directory, defaults tosrc/main/kotlin
andsrc/test/kotlin
kotlinVersion
: specifies versions of kotlin compiler and libraries to use, defaults to1.3.41
kotlinLib(LIB)
: load a standard kotlin library, for examplekotlinLib("stdlib")
; the library will utilize the version specified inkotlinVersion
pluginkotlincOptions
: options to pass to the kotlin compiler
Examples
- See the test cases for this plugin
Limitations
- currently requires kotlin 1.1.4+