Introduce common interface for common gradle options
This might be useful for future kotlin build scripts
This commit is contained in:
@@ -17,16 +17,14 @@
|
|||||||
package org.jetbrains.kotlin.generators.arguments
|
package org.jetbrains.kotlin.generators.arguments
|
||||||
|
|
||||||
import com.sampullara.cli.Argument
|
import com.sampullara.cli.Argument
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.DefaultValues
|
import org.jetbrains.kotlin.cli.common.arguments.*
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.GradleOption
|
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments
|
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
|
||||||
import org.jetbrains.kotlin.name.FqName
|
import org.jetbrains.kotlin.name.FqName
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.PrintStream
|
import java.io.PrintStream
|
||||||
import kotlin.reflect.KAnnotatedElement
|
import kotlin.reflect.KAnnotatedElement
|
||||||
import kotlin.reflect.KProperty1
|
import kotlin.reflect.KProperty1
|
||||||
|
import kotlin.reflect.declaredMemberProperties
|
||||||
import kotlin.reflect.memberProperties
|
import kotlin.reflect.memberProperties
|
||||||
|
|
||||||
// Additional properties that should be included in interface
|
// Additional properties that should be included in interface
|
||||||
@@ -41,14 +39,23 @@ interface AdditionalGradleProperties {
|
|||||||
|
|
||||||
fun generateKotlinGradleOptions(withPrinterToFile: (targetFile: File, Printer.()->Unit)->Unit) {
|
fun generateKotlinGradleOptions(withPrinterToFile: (targetFile: File, Printer.()->Unit)->Unit) {
|
||||||
val srcDir = File("libraries/tools/kotlin-gradle-plugin/src/main/kotlin")
|
val srcDir = File("libraries/tools/kotlin-gradle-plugin/src/main/kotlin")
|
||||||
val additionalGradleOptions = gradleOptions<AdditionalGradleProperties>()
|
|
||||||
|
// common interface
|
||||||
|
val commonInterfaceFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions")
|
||||||
|
val commonOptions = gradleOptions<CommonCompilerArguments>()
|
||||||
|
val additionalOptions = gradleOptions<AdditionalGradleProperties>()
|
||||||
|
withPrinterToFile(File(srcDir, commonInterfaceFqName)) {
|
||||||
|
generateInterface(commonInterfaceFqName,
|
||||||
|
commonOptions + additionalOptions)
|
||||||
|
}
|
||||||
|
|
||||||
// generate jvm interface
|
// generate jvm interface
|
||||||
val jvmInterfaceFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions")
|
val jvmInterfaceFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions")
|
||||||
val optionsFromK2JVMCompilerArguments = gradleOptions<K2JVMCompilerArguments>()
|
val jvmOptions = gradleOptions<K2JVMCompilerArguments>()
|
||||||
withPrinterToFile(File(srcDir, jvmInterfaceFqName)) {
|
withPrinterToFile(File(srcDir, jvmInterfaceFqName)) {
|
||||||
generateInterface(jvmInterfaceFqName,
|
generateInterface(jvmInterfaceFqName,
|
||||||
optionsFromK2JVMCompilerArguments + additionalGradleOptions)
|
jvmOptions,
|
||||||
|
parentType = commonInterfaceFqName)
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate jvm impl
|
// generate jvm impl
|
||||||
@@ -58,16 +65,16 @@ fun generateKotlinGradleOptions(withPrinterToFile: (targetFile: File, Printer.()
|
|||||||
generateImpl(jvmImplFqName,
|
generateImpl(jvmImplFqName,
|
||||||
jvmInterfaceFqName,
|
jvmInterfaceFqName,
|
||||||
k2JvmCompilerArgumentsFqName,
|
k2JvmCompilerArgumentsFqName,
|
||||||
optionsFromK2JVMCompilerArguments)
|
commonOptions + jvmOptions)
|
||||||
}
|
}
|
||||||
|
|
||||||
// generate js interface
|
// generate js interface
|
||||||
val jsInterfaceFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions")
|
val jsInterfaceFqName = FqName("org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions")
|
||||||
val optionsFromK2JSCompilerArguments = gradleOptions<K2JSCompilerArguments>()
|
val jsOptions = gradleOptions<K2JSCompilerArguments>()
|
||||||
withPrinterToFile(File(srcDir, jsInterfaceFqName)) {
|
withPrinterToFile(File(srcDir, jsInterfaceFqName)) {
|
||||||
generateInterface(jsInterfaceFqName,
|
generateInterface(jsInterfaceFqName,
|
||||||
optionsFromK2JSCompilerArguments +
|
jsOptions,
|
||||||
additionalGradleOptions)
|
parentType = commonInterfaceFqName)
|
||||||
}
|
}
|
||||||
|
|
||||||
val k2JsCompilerArgumentsFqName = FqName(K2JSCompilerArguments::class.qualifiedName!!)
|
val k2JsCompilerArgumentsFqName = FqName(K2JSCompilerArguments::class.qualifiedName!!)
|
||||||
@@ -76,7 +83,7 @@ fun generateKotlinGradleOptions(withPrinterToFile: (targetFile: File, Printer.()
|
|||||||
generateImpl(jsImplFqName,
|
generateImpl(jsImplFqName,
|
||||||
jsInterfaceFqName,
|
jsInterfaceFqName,
|
||||||
k2JsCompilerArgumentsFqName,
|
k2JsCompilerArgumentsFqName,
|
||||||
optionsFromK2JSCompilerArguments)
|
commonOptions + jsOptions)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -96,15 +103,16 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private inline fun <reified T : Any> gradleOptions(): List<KProperty1<T, *>> =
|
private inline fun <reified T : Any> gradleOptions(): List<KProperty1<T, *>> =
|
||||||
T::class.memberProperties.filter { it.findAnnotation<GradleOption>() != null }.sortedBy { it.name }
|
T::class.declaredMemberProperties.filter { it.findAnnotation<GradleOption>() != null }.sortedBy { it.name }
|
||||||
|
|
||||||
private fun File(baseDir: File, fqName: FqName): File {
|
private fun File(baseDir: File, fqName: FqName): File {
|
||||||
val fileRelativePath = fqName.asString().replace(".", "/") + ".kt"
|
val fileRelativePath = fqName.asString().replace(".", "/") + ".kt"
|
||||||
return File(baseDir, fileRelativePath)
|
return File(baseDir, fileRelativePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Printer.generateInterface(type: FqName, properties: List<KProperty1<*, *>>) {
|
private fun Printer.generateInterface(type: FqName, properties: List<KProperty1<*, *>>, parentType: FqName? = null) {
|
||||||
generateDeclaration("interface", type) {
|
val afterType = parentType?.let { " : $it" }
|
||||||
|
generateDeclaration("interface", type, afterType = afterType) {
|
||||||
for (property in properties) {
|
for (property in properties) {
|
||||||
println()
|
println()
|
||||||
generateDoc(property)
|
generateDoc(property)
|
||||||
@@ -135,7 +143,7 @@ private fun Printer.generateImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
println()
|
println()
|
||||||
println("open fun updateArguments(args: $argsType) {")
|
println("internal open fun updateArguments(args: $argsType) {")
|
||||||
withIndent {
|
withIndent {
|
||||||
for (property in properties) {
|
for (property in properties) {
|
||||||
val backingField = property.backingField()
|
val backingField = property.backingField()
|
||||||
|
|||||||
+38
@@ -0,0 +1,38 @@
|
|||||||
|
// DO NOT EDIT MANUALLY!
|
||||||
|
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
|
||||||
|
package org.jetbrains.kotlin.gradle.dsl
|
||||||
|
|
||||||
|
interface KotlinCommonOptions {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Allow to use declarations only from the specified version of bundled libraries
|
||||||
|
* Possible values: "1.0", "1.1"
|
||||||
|
* Default value: "1.1"
|
||||||
|
*/
|
||||||
|
var apiVersion: kotlin.String
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Provide source compatibility with specified language version
|
||||||
|
* Possible values: "1.0", "1.1"
|
||||||
|
* Default value: "1.1"
|
||||||
|
*/
|
||||||
|
var languageVersion: kotlin.String
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Generate no warnings
|
||||||
|
* Default value: false
|
||||||
|
*/
|
||||||
|
var suppressWarnings: kotlin.Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable verbose logging output
|
||||||
|
* Default value: false
|
||||||
|
*/
|
||||||
|
var verbose: kotlin.Boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of additional compiler arguments
|
||||||
|
* Default value: emptyList()
|
||||||
|
*/
|
||||||
|
var freeCompilerArgs: kotlin.collections.List<kotlin.String>
|
||||||
|
}
|
||||||
+1
-1
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.gradle.dsl
|
|||||||
import groovy.lang.Closure
|
import groovy.lang.Closure
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
|
|
||||||
interface KotlinCompile<T> : Task {
|
interface KotlinCompile<T : KotlinCommonOptions> : Task {
|
||||||
val kotlinOptions: T
|
val kotlinOptions: T
|
||||||
|
|
||||||
fun kotlinOptions(fn: T.() -> Unit) {
|
fun kotlinOptions(fn: T.() -> Unit) {
|
||||||
|
|||||||
+1
-33
@@ -2,14 +2,7 @@
|
|||||||
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
|
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
|
||||||
package org.jetbrains.kotlin.gradle.dsl
|
package org.jetbrains.kotlin.gradle.dsl
|
||||||
|
|
||||||
interface KotlinJsOptions {
|
interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
|
||||||
|
|
||||||
/**
|
|
||||||
* Allow to use declarations only from the specified version of bundled libraries
|
|
||||||
* Possible values: "1.0", "1.1"
|
|
||||||
* Default value: "1.1"
|
|
||||||
*/
|
|
||||||
var apiVersion: kotlin.String
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate kjsm-files (for creating libraries)
|
* Generate kjsm-files (for creating libraries)
|
||||||
@@ -17,13 +10,6 @@ interface KotlinJsOptions {
|
|||||||
*/
|
*/
|
||||||
var kjsm: kotlin.Boolean
|
var kjsm: kotlin.Boolean
|
||||||
|
|
||||||
/**
|
|
||||||
* Provide source compatibility with specified language version
|
|
||||||
* Possible values: "1.0", "1.1"
|
|
||||||
* Default value: "1.1"
|
|
||||||
*/
|
|
||||||
var languageVersion: kotlin.String
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether a main function should be called
|
* Whether a main function should be called
|
||||||
* Possible values: "call", "noCall"
|
* Possible values: "call", "noCall"
|
||||||
@@ -62,28 +48,10 @@ interface KotlinJsOptions {
|
|||||||
*/
|
*/
|
||||||
var sourceMap: kotlin.Boolean
|
var sourceMap: kotlin.Boolean
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate no warnings
|
|
||||||
* Default value: false
|
|
||||||
*/
|
|
||||||
var suppressWarnings: kotlin.Boolean
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate JS files for specific ECMA version
|
* Generate JS files for specific ECMA version
|
||||||
* Possible values: "v5"
|
* Possible values: "v5"
|
||||||
* Default value: "v5"
|
* Default value: "v5"
|
||||||
*/
|
*/
|
||||||
var target: kotlin.String
|
var target: kotlin.String
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable verbose logging output
|
|
||||||
* Default value: false
|
|
||||||
*/
|
|
||||||
var verbose: kotlin.Boolean
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A list of additional compiler arguments
|
|
||||||
* Default value: emptyList()
|
|
||||||
*/
|
|
||||||
var freeCompilerArgs: kotlin.collections.List<kotlin.String>
|
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-22
@@ -9,16 +9,26 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko
|
|||||||
get() = apiVersionField ?: "1.1"
|
get() = apiVersionField ?: "1.1"
|
||||||
set(value) { apiVersionField = value }
|
set(value) { apiVersionField = value }
|
||||||
|
|
||||||
private var kjsmField: kotlin.Boolean? = null
|
|
||||||
override var kjsm: kotlin.Boolean
|
|
||||||
get() = kjsmField ?: true
|
|
||||||
set(value) { kjsmField = value }
|
|
||||||
|
|
||||||
private var languageVersionField: kotlin.String? = null
|
private var languageVersionField: kotlin.String? = null
|
||||||
override var languageVersion: kotlin.String
|
override var languageVersion: kotlin.String
|
||||||
get() = languageVersionField ?: "1.1"
|
get() = languageVersionField ?: "1.1"
|
||||||
set(value) { languageVersionField = value }
|
set(value) { languageVersionField = value }
|
||||||
|
|
||||||
|
private var suppressWarningsField: kotlin.Boolean? = null
|
||||||
|
override var suppressWarnings: kotlin.Boolean
|
||||||
|
get() = suppressWarningsField ?: false
|
||||||
|
set(value) { suppressWarningsField = value }
|
||||||
|
|
||||||
|
private var verboseField: kotlin.Boolean? = null
|
||||||
|
override var verbose: kotlin.Boolean
|
||||||
|
get() = verboseField ?: false
|
||||||
|
set(value) { verboseField = value }
|
||||||
|
|
||||||
|
private var kjsmField: kotlin.Boolean? = null
|
||||||
|
override var kjsm: kotlin.Boolean
|
||||||
|
get() = kjsmField ?: true
|
||||||
|
set(value) { kjsmField = value }
|
||||||
|
|
||||||
private var mainField: kotlin.String? = null
|
private var mainField: kotlin.String? = null
|
||||||
override var main: kotlin.String
|
override var main: kotlin.String
|
||||||
get() = mainField ?: "noCall"
|
get() = mainField ?: "noCall"
|
||||||
@@ -49,48 +59,38 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko
|
|||||||
get() = sourceMapField ?: false
|
get() = sourceMapField ?: false
|
||||||
set(value) { sourceMapField = value }
|
set(value) { sourceMapField = value }
|
||||||
|
|
||||||
private var suppressWarningsField: kotlin.Boolean? = null
|
|
||||||
override var suppressWarnings: kotlin.Boolean
|
|
||||||
get() = suppressWarningsField ?: false
|
|
||||||
set(value) { suppressWarningsField = value }
|
|
||||||
|
|
||||||
private var targetField: kotlin.String? = null
|
private var targetField: kotlin.String? = null
|
||||||
override var target: kotlin.String
|
override var target: kotlin.String
|
||||||
get() = targetField ?: "v5"
|
get() = targetField ?: "v5"
|
||||||
set(value) { targetField = value }
|
set(value) { targetField = value }
|
||||||
|
|
||||||
private var verboseField: kotlin.Boolean? = null
|
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments) {
|
||||||
override var verbose: kotlin.Boolean
|
|
||||||
get() = verboseField ?: false
|
|
||||||
set(value) { verboseField = value }
|
|
||||||
|
|
||||||
open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments) {
|
|
||||||
apiVersionField?.let { args.apiVersion = it }
|
apiVersionField?.let { args.apiVersion = it }
|
||||||
kjsmField?.let { args.kjsm = it }
|
|
||||||
languageVersionField?.let { args.languageVersion = it }
|
languageVersionField?.let { args.languageVersion = it }
|
||||||
|
suppressWarningsField?.let { args.suppressWarnings = it }
|
||||||
|
verboseField?.let { args.verbose = it }
|
||||||
|
kjsmField?.let { args.kjsm = it }
|
||||||
mainField?.let { args.main = it }
|
mainField?.let { args.main = it }
|
||||||
metaInfoField?.let { args.metaInfo = it }
|
metaInfoField?.let { args.metaInfo = it }
|
||||||
moduleKindField?.let { args.moduleKind = it }
|
moduleKindField?.let { args.moduleKind = it }
|
||||||
noStdlibField?.let { args.noStdlib = it }
|
noStdlibField?.let { args.noStdlib = it }
|
||||||
outputFileField?.let { args.outputFile = it }
|
outputFileField?.let { args.outputFile = it }
|
||||||
sourceMapField?.let { args.sourceMap = it }
|
sourceMapField?.let { args.sourceMap = it }
|
||||||
suppressWarningsField?.let { args.suppressWarnings = it }
|
|
||||||
targetField?.let { args.target = it }
|
targetField?.let { args.target = it }
|
||||||
verboseField?.let { args.verbose = it }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments.fillDefaultValues() {
|
internal fun org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments.fillDefaultValues() {
|
||||||
apiVersion = "1.1"
|
apiVersion = "1.1"
|
||||||
kjsm = true
|
|
||||||
languageVersion = "1.1"
|
languageVersion = "1.1"
|
||||||
|
suppressWarnings = false
|
||||||
|
verbose = false
|
||||||
|
kjsm = true
|
||||||
main = "noCall"
|
main = "noCall"
|
||||||
metaInfo = true
|
metaInfo = true
|
||||||
moduleKind = "plain"
|
moduleKind = "plain"
|
||||||
noStdlib = true
|
noStdlib = true
|
||||||
outputFile = null
|
outputFile = null
|
||||||
sourceMap = false
|
sourceMap = false
|
||||||
suppressWarnings = false
|
|
||||||
target = "v5"
|
target = "v5"
|
||||||
verbose = false
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-33
@@ -2,14 +2,7 @@
|
|||||||
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
|
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
|
||||||
package org.jetbrains.kotlin.gradle.dsl
|
package org.jetbrains.kotlin.gradle.dsl
|
||||||
|
|
||||||
interface KotlinJvmOptions {
|
interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
|
||||||
|
|
||||||
/**
|
|
||||||
* Allow to use declarations only from the specified version of bundled libraries
|
|
||||||
* Possible values: "1.0", "1.1"
|
|
||||||
* Default value: "1.1"
|
|
||||||
*/
|
|
||||||
var apiVersion: kotlin.String
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Include Kotlin runtime in to resulting .jar
|
* Include Kotlin runtime in to resulting .jar
|
||||||
@@ -30,13 +23,6 @@ interface KotlinJvmOptions {
|
|||||||
*/
|
*/
|
||||||
var jvmTarget: kotlin.String
|
var jvmTarget: kotlin.String
|
||||||
|
|
||||||
/**
|
|
||||||
* Provide source compatibility with specified language version
|
|
||||||
* Possible values: "1.0", "1.1"
|
|
||||||
* Default value: "1.1"
|
|
||||||
*/
|
|
||||||
var languageVersion: kotlin.String
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Don't include Java runtime into classpath
|
* Don't include Java runtime into classpath
|
||||||
* Default value: false
|
* Default value: false
|
||||||
@@ -54,22 +40,4 @@ interface KotlinJvmOptions {
|
|||||||
* Default value: true
|
* Default value: true
|
||||||
*/
|
*/
|
||||||
var noStdlib: kotlin.Boolean
|
var noStdlib: kotlin.Boolean
|
||||||
|
|
||||||
/**
|
|
||||||
* Generate no warnings
|
|
||||||
* Default value: false
|
|
||||||
*/
|
|
||||||
var suppressWarnings: kotlin.Boolean
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable verbose logging output
|
|
||||||
* Default value: false
|
|
||||||
*/
|
|
||||||
var verbose: kotlin.Boolean
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A list of additional compiler arguments
|
|
||||||
* Default value: emptyList()
|
|
||||||
*/
|
|
||||||
var freeCompilerArgs: kotlin.collections.List<kotlin.String>
|
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-22
@@ -9,6 +9,21 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
|
|||||||
get() = apiVersionField ?: "1.1"
|
get() = apiVersionField ?: "1.1"
|
||||||
set(value) { apiVersionField = value }
|
set(value) { apiVersionField = value }
|
||||||
|
|
||||||
|
private var languageVersionField: kotlin.String? = null
|
||||||
|
override var languageVersion: kotlin.String
|
||||||
|
get() = languageVersionField ?: "1.1"
|
||||||
|
set(value) { languageVersionField = value }
|
||||||
|
|
||||||
|
private var suppressWarningsField: kotlin.Boolean? = null
|
||||||
|
override var suppressWarnings: kotlin.Boolean
|
||||||
|
get() = suppressWarningsField ?: false
|
||||||
|
set(value) { suppressWarningsField = value }
|
||||||
|
|
||||||
|
private var verboseField: kotlin.Boolean? = null
|
||||||
|
override var verbose: kotlin.Boolean
|
||||||
|
get() = verboseField ?: false
|
||||||
|
set(value) { verboseField = value }
|
||||||
|
|
||||||
private var includeRuntimeField: kotlin.Boolean? = null
|
private var includeRuntimeField: kotlin.Boolean? = null
|
||||||
override var includeRuntime: kotlin.Boolean
|
override var includeRuntime: kotlin.Boolean
|
||||||
get() = includeRuntimeField ?: false
|
get() = includeRuntimeField ?: false
|
||||||
@@ -24,11 +39,6 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
|
|||||||
get() = jvmTargetField ?: "1.6"
|
get() = jvmTargetField ?: "1.6"
|
||||||
set(value) { jvmTargetField = value }
|
set(value) { jvmTargetField = value }
|
||||||
|
|
||||||
private var languageVersionField: kotlin.String? = null
|
|
||||||
override var languageVersion: kotlin.String
|
|
||||||
get() = languageVersionField ?: "1.1"
|
|
||||||
set(value) { languageVersionField = value }
|
|
||||||
|
|
||||||
private var noJdkField: kotlin.Boolean? = null
|
private var noJdkField: kotlin.Boolean? = null
|
||||||
override var noJdk: kotlin.Boolean
|
override var noJdk: kotlin.Boolean
|
||||||
get() = noJdkField ?: false
|
get() = noJdkField ?: false
|
||||||
@@ -44,39 +54,29 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
|
|||||||
get() = noStdlibField ?: true
|
get() = noStdlibField ?: true
|
||||||
set(value) { noStdlibField = value }
|
set(value) { noStdlibField = value }
|
||||||
|
|
||||||
private var suppressWarningsField: kotlin.Boolean? = null
|
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
|
||||||
override var suppressWarnings: kotlin.Boolean
|
|
||||||
get() = suppressWarningsField ?: false
|
|
||||||
set(value) { suppressWarningsField = value }
|
|
||||||
|
|
||||||
private var verboseField: kotlin.Boolean? = null
|
|
||||||
override var verbose: kotlin.Boolean
|
|
||||||
get() = verboseField ?: false
|
|
||||||
set(value) { verboseField = value }
|
|
||||||
|
|
||||||
open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
|
|
||||||
apiVersionField?.let { args.apiVersion = it }
|
apiVersionField?.let { args.apiVersion = it }
|
||||||
|
languageVersionField?.let { args.languageVersion = it }
|
||||||
|
suppressWarningsField?.let { args.suppressWarnings = it }
|
||||||
|
verboseField?.let { args.verbose = it }
|
||||||
includeRuntimeField?.let { args.includeRuntime = it }
|
includeRuntimeField?.let { args.includeRuntime = it }
|
||||||
jdkHomeField?.let { args.jdkHome = it }
|
jdkHomeField?.let { args.jdkHome = it }
|
||||||
jvmTargetField?.let { args.jvmTarget = it }
|
jvmTargetField?.let { args.jvmTarget = it }
|
||||||
languageVersionField?.let { args.languageVersion = it }
|
|
||||||
noJdkField?.let { args.noJdk = it }
|
noJdkField?.let { args.noJdk = it }
|
||||||
noReflectField?.let { args.noReflect = it }
|
noReflectField?.let { args.noReflect = it }
|
||||||
noStdlibField?.let { args.noStdlib = it }
|
noStdlibField?.let { args.noStdlib = it }
|
||||||
suppressWarningsField?.let { args.suppressWarnings = it }
|
|
||||||
verboseField?.let { args.verbose = it }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments.fillDefaultValues() {
|
internal fun org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments.fillDefaultValues() {
|
||||||
apiVersion = "1.1"
|
apiVersion = "1.1"
|
||||||
|
languageVersion = "1.1"
|
||||||
|
suppressWarnings = false
|
||||||
|
verbose = false
|
||||||
includeRuntime = false
|
includeRuntime = false
|
||||||
jdkHome = null
|
jdkHome = null
|
||||||
jvmTarget = "1.6"
|
jvmTarget = "1.6"
|
||||||
languageVersion = "1.1"
|
|
||||||
noJdk = false
|
noJdk = false
|
||||||
noReflect = true
|
noReflect = true
|
||||||
noStdlib = true
|
noStdlib = true
|
||||||
suppressWarnings = false
|
|
||||||
verbose = false
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user