Build kotlin code using sbt
- Insert into project/plugins.sbt:
addSbtPlugin("org.jetbrains.scala" % "sbt-kotlin-plugin" % "<version>")- Enable plugin for your project:
lazy val myProject = project.in(file(".")).enablePlugins(KotlinPlugin)- 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-internaldependency and will be excluded from the final build product. - Any other libraries can be loaded using the normal
libraryDependenciesmechanism. Compiler plugins should be added as a normallibraryDependencybut 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
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/kotlinandsrc/test/kotlinkotlinVersion: specifies versions of kotlin compiler and libraries to use, defaults to1.3.50kotlincOptions: options to pass to the kotlin compilerkotlincJvmTarget: specifies JVM target version for building, defaults to1.6kotlinLib(LIB): load a standard kotlin library, for examplekotlinLib("stdlib"); the library will utilize the version specified inkotlinVersionplugin
- See the test cases for this plugin