diff --git a/.github/workflows/build-rd-kt-container.yml b/.github/workflows/build-rd-kt-container.yml
index 358a47eb7..a16093f9c 100644
--- a/.github/workflows/build-rd-kt-container.yml
+++ b/.github/workflows/build-rd-kt-container.yml
@@ -12,7 +12,6 @@ jobs:
container: adoptopenjdk/openjdk11:x86_64-ubuntu-jdk-11.0.11_9
env:
GRADLE_USER_HOME: ${{ github.workspace }}/.github/gradle
- TEAMCITY_VERSION: 1 # temporary; to disable cross tests
timeout-minutes: 25
steps:
- uses: actions/checkout@v2
diff --git a/.github/workflows/build-rd-kt.yml b/.github/workflows/build-rd-kt.yml
index 7120a2473..12a9a7651 100644
--- a/.github/workflows/build-rd-kt.yml
+++ b/.github/workflows/build-rd-kt.yml
@@ -14,7 +14,6 @@ jobs:
os: [macos-10.15, windows-2019]
env:
GRADLE_USER_HOME: ${{ github.workspace }}/.github/gradle
- TEAMCITY_VERSION: 1 # temporary; to disable cross tests
timeout-minutes: 25
steps:
- uses: actions/checkout@v2
diff --git a/.run/rd-cross debug.run.xml b/.run/rd-cross debug.run.xml
new file mode 100644
index 000000000..b26f2d96a
--- /dev/null
+++ b/.run/rd-cross debug.run.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 67409e5a2..90c0de106 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,6 +3,5 @@ FROM adoptopenjdk/openjdk11:x86_64-ubuntu-jdk-11.0.11_9
WORKDIR /rd
COPY . .
-ENV TEAMCITY_VERSION=1
RUN ./gradlew assemble
ENTRYPOINT ./gradlew build
diff --git a/README.md b/README.md
index 786076b79..393120cc1 100644
--- a/README.md
+++ b/README.md
@@ -113,8 +113,6 @@ To build packages locally please use: `rd-kt/rd-gen/pack.sh`
### On a local computer
-Don't forget to set `TEAMCITY_VERSION=1` (temporary measure for now) before running any tests.
-
```console
$ ./gradlew build
```
diff --git a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/dependencies/Dependencies.kt b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/dependencies/Dependencies.kt
index 8b66a1594..eb0af1a27 100644
--- a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/dependencies/Dependencies.kt
+++ b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/dependencies/Dependencies.kt
@@ -7,4 +7,4 @@ const val junitVersion = "5.6.0"
const val sl4jVersion = "1.7.12"
const val nodeVersion = "1.3.1"
-const val netCoreAppVersion = "2.1"
+const val netCoreAppVersion = "3.1"
diff --git a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/plugins/CrossTestPlugin.kt b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/plugins/CrossTestPlugin.kt
index fbff1216d..e8e8aa151 100644
--- a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/plugins/CrossTestPlugin.kt
+++ b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/plugins/CrossTestPlugin.kt
@@ -2,11 +2,14 @@
package com.jetbrains.rd.gradle.plugins
-import com.jetbrains.rd.gradle.tasks.*
+import com.jetbrains.rd.gradle.tasks.CrossTestCsTask
+import com.jetbrains.rd.gradle.tasks.CrossTestTaskKt
+import com.jetbrains.rd.gradle.tasks.InteropTask
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.*
+import java.io.File
fun Project.applyCrossTest() = apply()
@@ -48,6 +51,10 @@ class CrossTestPlugin : Plugin {
classpath += sourceSets["main"].output
classpath += configurations["compileClasspath"]
classpath += configurations["runtimeClasspath"]
+ classpath = classpath.minus(files(gradle.gradleHomeDir?.resolve("lib")?.listFiles()?.filter { it.name.contains("kotlin-stdlib") || it.name.contains("kotlin-reflect") } ?: listOf()))
+
+ val extraArguments = project.extra["crossTestsJavaAdditionalArgs"]?.toString().orEmpty().split(' ')
+ jvmArgs(extraArguments)
}
fun creatingCrossTestRdTask() =
diff --git a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/tasks/CrossTestTaskKt.kt b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/tasks/CrossTestTaskKt.kt
index 45196bb0c..db8a6175c 100644
--- a/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/tasks/CrossTestTaskKt.kt
+++ b/buildSrc/src/main/kotlin/com/jetbrains/rd/gradle/tasks/CrossTestTaskKt.kt
@@ -1,15 +1,18 @@
package com.jetbrains.rd.gradle.tasks
-import java.io.IOException
-import java.io.ObjectInputStream
-import java.io.ObjectOutputStream
-
/**
* Provides command line arguments for running Kotlin crosstest part
*/
open class CrossTestTaskKt : KotlinExec(), MarkedExecTask {
override val commandLineWithArgs: List
- get() = (super.getCommandLine() + tmpFile.absolutePath)
+ get() {
+ val action = execActionFactory.newJavaExecAction()
+ copyTo(action)
+ action.main = main
+ action.classpath = classpath
+
+ return action.commandLine + tmpFile.absolutePath
+ }
init {
main = "com.jetbrains.rd.cross.cases.${name}Kt"
diff --git a/gradle.properties b/gradle.properties
index 46507f158..0f061a49e 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,4 +1,6 @@
version=2021.3.4
deployMavenToProduction=false
deployNuGetToNuGetOrg=false
-deployNuGetToInternal=false
\ No newline at end of file
+deployNuGetToInternal=false
+enableCrossTests=true
+crossTestsJavaAdditionalArgs=-agentlib:jdwp=transport=dt_socket,server=n,address=HORIZON:5005,suspend=y
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 103dae669..35722ad59 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -19,9 +19,9 @@ project(":rd-text").projectDir = File("rd-kt/rd-text")
include(":rd-swing")
project(":rd-swing").projectDir = File("rd-kt/rd-swing")
-val TEAMCITY_VERSION = "TEAMCITY_VERSION"
+val enableCrossTests = extra["enableCrossTests"]?.toString().orEmpty().let { it == "1" || it.equals("true", true) }
-if (System.getenv(TEAMCITY_VERSION) == null) {
+if (enableCrossTests) {
include(":rd-net")
project(":rd-net").projectDir = File("rd-net")