Introduce common interface for common gradle options

This might be useful for future kotlin build scripts
This commit is contained in:
Alexey Tsvetkov
2016-10-20 19:17:10 +03:00
parent b7d97a3aa2
commit 0af7017836
7 changed files with 109 additions and 127 deletions
@@ -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>
}
@@ -19,7 +19,7 @@ package org.jetbrains.kotlin.gradle.dsl
import groovy.lang.Closure
import org.gradle.api.Task
interface KotlinCompile<T> : Task {
interface KotlinCompile<T : KotlinCommonOptions> : Task {
val kotlinOptions: T
fun kotlinOptions(fn: T.() -> Unit) {
@@ -2,14 +2,7 @@
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
package org.jetbrains.kotlin.gradle.dsl
interface KotlinJsOptions {
/**
* 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
interface KotlinJsOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
/**
* Generate kjsm-files (for creating libraries)
@@ -17,13 +10,6 @@ interface KotlinJsOptions {
*/
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
* Possible values: "call", "noCall"
@@ -62,28 +48,10 @@ interface KotlinJsOptions {
*/
var sourceMap: kotlin.Boolean
/**
* Generate no warnings
* Default value: false
*/
var suppressWarnings: kotlin.Boolean
/**
* Generate JS files for specific ECMA version
* Possible values: "v5"
* Default value: "v5"
*/
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>
}
@@ -9,16 +9,26 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko
get() = apiVersionField ?: "1.1"
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
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 kjsmField: kotlin.Boolean? = null
override var kjsm: kotlin.Boolean
get() = kjsmField ?: true
set(value) { kjsmField = value }
private var mainField: kotlin.String? = null
override var main: kotlin.String
get() = mainField ?: "noCall"
@@ -49,48 +59,38 @@ internal abstract class KotlinJsOptionsBase : org.jetbrains.kotlin.gradle.dsl.Ko
get() = sourceMapField ?: false
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
override var target: kotlin.String
get() = targetField ?: "v5"
set(value) { targetField = 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.K2JSCompilerArguments) {
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments) {
apiVersionField?.let { args.apiVersion = it }
kjsmField?.let { args.kjsm = 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 }
metaInfoField?.let { args.metaInfo = it }
moduleKindField?.let { args.moduleKind = it }
noStdlibField?.let { args.noStdlib = it }
outputFileField?.let { args.outputFile = it }
sourceMapField?.let { args.sourceMap = it }
suppressWarningsField?.let { args.suppressWarnings = it }
targetField?.let { args.target = it }
verboseField?.let { args.verbose = it }
}
}
internal fun org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments.fillDefaultValues() {
apiVersion = "1.1"
kjsm = true
languageVersion = "1.1"
suppressWarnings = false
verbose = false
kjsm = true
main = "noCall"
metaInfo = true
moduleKind = "plain"
noStdlib = true
outputFile = null
sourceMap = false
suppressWarnings = false
target = "v5"
verbose = false
}
@@ -2,14 +2,7 @@
// Generated by org/jetbrains/kotlin/generators/arguments/GenerateGradleOptions.kt
package org.jetbrains.kotlin.gradle.dsl
interface KotlinJvmOptions {
/**
* 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
interface KotlinJvmOptions : org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions {
/**
* Include Kotlin runtime in to resulting .jar
@@ -30,13 +23,6 @@ interface KotlinJvmOptions {
*/
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
* Default value: false
@@ -54,22 +40,4 @@ interface KotlinJvmOptions {
* Default value: true
*/
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>
}
@@ -9,6 +9,21 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
get() = apiVersionField ?: "1.1"
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
override var includeRuntime: kotlin.Boolean
get() = includeRuntimeField ?: false
@@ -24,11 +39,6 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
get() = jvmTargetField ?: "1.6"
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
override var noJdk: kotlin.Boolean
get() = noJdkField ?: false
@@ -44,39 +54,29 @@ internal abstract class KotlinJvmOptionsBase : org.jetbrains.kotlin.gradle.dsl.K
get() = noStdlibField ?: true
set(value) { noStdlibField = 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 }
open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
internal open fun updateArguments(args: org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments) {
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 }
jdkHomeField?.let { args.jdkHome = it }
jvmTargetField?.let { args.jvmTarget = it }
languageVersionField?.let { args.languageVersion = it }
noJdkField?.let { args.noJdk = it }
noReflectField?.let { args.noReflect = 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() {
apiVersion = "1.1"
languageVersion = "1.1"
suppressWarnings = false
verbose = false
includeRuntime = false
jdkHome = null
jvmTarget = "1.6"
languageVersion = "1.1"
noJdk = false
noReflect = true
noStdlib = true
suppressWarnings = false
verbose = false
}