Wizard: fix tests
This commit is contained in:
+1
-1
@@ -6,7 +6,7 @@ buildscript {
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath kotlin('gradle-plugin', '1.3.61')
|
||||
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61'
|
||||
}
|
||||
}
|
||||
group = 'testGroupId'
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@ buildscript {
|
||||
}
|
||||
dependencies {
|
||||
classpath("com.android.tools.build:gradle:3.2.1")
|
||||
classpath(kotlin("gradle-plugin", "1.3.61"))
|
||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61")
|
||||
}
|
||||
}
|
||||
group = "testGroupId"
|
||||
|
||||
+1
-2
@@ -1,11 +1,10 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type:
|
||||
name: android
|
||||
androidSdkPath: /home/user/Android/Sdk
|
||||
kind: singleplatform
|
||||
kind: singleplatformJvm
|
||||
name: android
|
||||
sourcesets:
|
||||
- type: main
|
||||
|
||||
+3
-1
@@ -33,7 +33,9 @@ kotlin {
|
||||
}
|
||||
}
|
||||
browserTest {
|
||||
|
||||
dependencies {
|
||||
implementation kotlin('test-js')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -30,6 +30,10 @@ kotlin {
|
||||
implementation(kotlin("stdlib-js"))
|
||||
}
|
||||
}
|
||||
val browserTest by getting
|
||||
val browserTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-js"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -1,5 +1,4 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type: multiplatform
|
||||
@@ -12,7 +11,9 @@ kotlin:
|
||||
sourcesets:
|
||||
- type: main
|
||||
- type: test
|
||||
- type: jsBrowser
|
||||
- type:
|
||||
name: jsBrowser
|
||||
testFramework: JS
|
||||
kind: target
|
||||
name: browser
|
||||
sourcesets:
|
||||
|
||||
+3
-1
@@ -16,7 +16,9 @@ kotlin {
|
||||
}
|
||||
}
|
||||
jvmTest {
|
||||
|
||||
dependencies {
|
||||
implementation kotlin('test-junit')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+5
-1
@@ -15,6 +15,10 @@ kotlin {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
}
|
||||
val jvmTest by getting
|
||||
val jvmTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-junit"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+3
-2
@@ -1,12 +1,13 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type: multiplatform
|
||||
kind: multiplatform
|
||||
name: a
|
||||
subModules:
|
||||
- type: jvmTarget
|
||||
- type:
|
||||
name: jvmTarget
|
||||
testFramework: JUNIT4
|
||||
kind: target
|
||||
name: jvm
|
||||
sourcesets:
|
||||
|
||||
+1
@@ -8,5 +8,6 @@ repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
testImplementation 'org.jetbrains.kotlin:kotlin-test-junit'
|
||||
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
|
||||
}
|
||||
+1
@@ -8,5 +8,6 @@ repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
testImplementation(kotlin("test-junit"))
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
+6
@@ -51,6 +51,12 @@
|
||||
</plugins>
|
||||
</build>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-test-junit</artifactId>
|
||||
<version>1.3.61</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-stdlib-jdk8</artifactId>
|
||||
|
||||
+4
-3
@@ -1,10 +1,11 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Singleplatform
|
||||
modules:
|
||||
- type: JVM Module
|
||||
- type:
|
||||
name: JVM Module
|
||||
testFramework: JUNIT4
|
||||
name: nya
|
||||
kind: singleplatform
|
||||
kind: singleplatformJvm
|
||||
sourcesets:
|
||||
- type: main
|
||||
|
||||
|
||||
+4
-4
@@ -12,10 +12,10 @@ repositories {
|
||||
kotlin {
|
||||
def hostOs = System.getProperty("os.name")
|
||||
def isMingwX64 = hostOs.startsWith("Windows")
|
||||
KotlinNativeTargetWithTests nativeTarget
|
||||
if (hostOs == "Mac OS X") nativeTarget = macosX64('myNative')
|
||||
else if (hostOs == "Linux") nativeTarget = linuxX64("myNative")
|
||||
else if (isMingwX64) nativeTarget = mingwX64("myNative")
|
||||
KotlinNativeTargetWithTests myNativeTarget
|
||||
if (hostOs == "Mac OS X") myNativeTarget = macosX64('myNative')
|
||||
else if (hostOs == "Linux") myNativeTarget = linuxX64("myNative")
|
||||
else if (isMingwX64) myNativeTarget = mingwX64("myNative")
|
||||
else throw new GradleException("Host OS is not supported in Kotlin/Native.")
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ repositories {
|
||||
kotlin {
|
||||
val hostOs = System.getProperty("os.name")
|
||||
val isMingwX64 = hostOs.startsWith("Windows")
|
||||
val nativeTarget = when {
|
||||
val myNativeTarget = when {
|
||||
hostOs == "Mac OS X" -> macosX64("myNative")
|
||||
hostOs == "Linux" -> linuxX64("myNative")
|
||||
isMingwX64 -> mingwX64("myNative")
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type: multiplatform
|
||||
|
||||
+6
-2
@@ -21,7 +21,9 @@ kotlin {
|
||||
}
|
||||
}
|
||||
jvmTest {
|
||||
|
||||
dependencies {
|
||||
implementation kotlin('test-junit')
|
||||
}
|
||||
}
|
||||
aMain {
|
||||
dependencies {
|
||||
@@ -29,7 +31,9 @@ kotlin {
|
||||
}
|
||||
}
|
||||
aTest {
|
||||
|
||||
dependencies {
|
||||
implementation kotlin('test-js')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+10
-2
@@ -20,12 +20,20 @@ kotlin {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
}
|
||||
val jvmTest by getting
|
||||
val jvmTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-junit"))
|
||||
}
|
||||
}
|
||||
val aMain by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib-js"))
|
||||
}
|
||||
}
|
||||
val aTest by getting
|
||||
val aTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-js"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+6
-3
@@ -1,18 +1,21 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type: multiplatform
|
||||
kind: multiplatform
|
||||
name: a
|
||||
subModules:
|
||||
- type: jvmTarget
|
||||
- type:
|
||||
name: jvmTarget
|
||||
testFramework: JUNIT4
|
||||
kind: target
|
||||
name: jvm
|
||||
sourcesets:
|
||||
- type: main
|
||||
- type: test
|
||||
- type: jsBrowser
|
||||
- type:
|
||||
name: jsBrowser
|
||||
testFramework: JS
|
||||
kind: target
|
||||
name: a
|
||||
sourcesets:
|
||||
|
||||
-1
@@ -1,5 +1,4 @@
|
||||
kotlin:
|
||||
version: 1.3.61
|
||||
projectKind: Multiplatform
|
||||
modules:
|
||||
- type: multiplatform
|
||||
|
||||
+4
-4
@@ -14,18 +14,18 @@ import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.ModuleType
|
||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
|
||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModuleKind
|
||||
|
||||
abstract class JSConfigurator : ModuleConfiguratorWithTests() {
|
||||
interface JSConfigurator : ModuleConfigurator {
|
||||
override val moduleType: ModuleType get() = ModuleType.js
|
||||
|
||||
override fun defaultTestFramework(): KotlinTestFramework = KotlinTestFramework.JS
|
||||
}
|
||||
|
||||
object JsSingleplatformModuleConfigurator : JSConfigurator() {
|
||||
object JsSingleplatformModuleConfigurator : JSConfigurator, ModuleConfiguratorWithTests() {
|
||||
override val moduleKind = ModuleKind.singleplatformJs
|
||||
override val suggestedModuleName = "js"
|
||||
override val id = "jsSinglepaltform"
|
||||
override val text = "JS for Browser"
|
||||
|
||||
override fun defaultTestFramework(): KotlinTestFramework = KotlinTestFramework.JS
|
||||
|
||||
override val canContainSubModules = false
|
||||
|
||||
override fun createKotlinPluginIR(configurationData: ModuleConfigurationData, module: Module): KotlinBuildSystemPluginIR? =
|
||||
|
||||
+3
-4
@@ -8,7 +8,6 @@ package org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.ValuesReadingContext
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.ModuleConfiguratorSetting
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.ModuleConfiguratorSettingReference
|
||||
import org.jetbrains.kotlin.tools.projectWizard.core.entity.TemplateSettingReference
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.BuildSystemIR
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.DependencyType
|
||||
import org.jetbrains.kotlin.tools.projectWizard.ir.buildsystem.KotlinArbitraryDependencyIR
|
||||
@@ -21,7 +20,7 @@ import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.Module
|
||||
import org.jetbrains.kotlin.tools.projectWizard.settings.buildsystem.ModuleKind
|
||||
|
||||
abstract class ModuleConfiguratorWithTests : ModuleConfiguratorWithSettings() {
|
||||
val framework by enumSetting<KotlinTestFramework>(
|
||||
val testFramework by enumSetting<KotlinTestFramework>(
|
||||
"Test Framework",
|
||||
neededAtPhase = GenerationPhase.PROJECT_GENERATION
|
||||
) {
|
||||
@@ -39,7 +38,7 @@ abstract class ModuleConfiguratorWithTests : ModuleConfiguratorWithSettings() {
|
||||
|
||||
override fun ValuesReadingContext.createModuleIRs(configurationData: ModuleConfigurationData, module: Module): List<BuildSystemIR> =
|
||||
withSettingsOf(module) {
|
||||
framework.reference.settingValue.dependencyNames.map { dependencyName ->
|
||||
testFramework.reference.settingValue.dependencyNames.map { dependencyName ->
|
||||
KotlinArbitraryDependencyIR(
|
||||
dependencyName,
|
||||
isInMppModule = module.kind
|
||||
@@ -50,7 +49,7 @@ abstract class ModuleConfiguratorWithTests : ModuleConfiguratorWithSettings() {
|
||||
}
|
||||
}
|
||||
|
||||
override val settings: List<ModuleConfiguratorSetting<*, *>> = listOf(framework)
|
||||
override val settings: List<ModuleConfiguratorSetting<*, *>> = listOf(testFramework)
|
||||
}
|
||||
|
||||
|
||||
|
||||
+5
-3
@@ -51,13 +51,15 @@ private fun Module.createTargetAccessIr(moduleSubType: ModuleSubType) =
|
||||
)
|
||||
|
||||
|
||||
abstract class JsTargetConfigurator : JSConfigurator(), TargetConfigurator, SingleCoexistenceTargetConfigurator
|
||||
interface JsTargetConfigurator : JSConfigurator, TargetConfigurator, SingleCoexistenceTargetConfigurator
|
||||
|
||||
object JsBrowserTargetConfigurator : JsTargetConfigurator() {
|
||||
object JsBrowserTargetConfigurator : JsTargetConfigurator, ModuleConfiguratorWithTests() {
|
||||
override val id = "jsBrowser"
|
||||
override val text = "Browser"
|
||||
override val suggestedModuleName = "browser"
|
||||
|
||||
override fun defaultTestFramework(): KotlinTestFramework = KotlinTestFramework.JS
|
||||
|
||||
override fun createTargetIrs(module: Module): List<BuildSystemIR> = buildList {
|
||||
+DefaultTargetConfigurationIR(
|
||||
module.createTargetAccessIr(ModuleSubType.js),
|
||||
@@ -70,7 +72,7 @@ object JsBrowserTargetConfigurator : JsTargetConfigurator() {
|
||||
}
|
||||
}
|
||||
|
||||
object JsNodeTargetConfigurator : JsTargetConfigurator() {
|
||||
object JsNodeTargetConfigurator : JsTargetConfigurator {
|
||||
override val id = "jsNode"
|
||||
override val text = "Node.js"
|
||||
override val suggestedModuleName = "nodeJs"
|
||||
|
||||
+2
@@ -37,6 +37,7 @@ class Module(
|
||||
withSettingsOf(module) {
|
||||
configurator.settings.map { setting ->
|
||||
val value = setting.reference.notRequiredSettingValue
|
||||
?: setting.defaultValue
|
||||
?: return@map ValidationResult.ValidationError("${setting.title.capitalize()} should not be blank")
|
||||
setting.validator.validate(this@settingValidator, value)
|
||||
}.fold()
|
||||
@@ -46,6 +47,7 @@ class Module(
|
||||
org.jetbrains.kotlin.tools.projectWizard.templates.withSettingsOf(module) {
|
||||
template.settings.map { setting ->
|
||||
val value = setting.reference.notRequiredSettingValue
|
||||
?: setting.defaultValue
|
||||
?: return@map ValidationResult.ValidationError("${setting.title.capitalize()} should not be blank")
|
||||
setting.validator.validate(this@settingValidator, value)
|
||||
}.fold()
|
||||
|
||||
Reference in New Issue
Block a user