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