Skip to content
This repository has been archived by the owner on Jul 8, 2022. It is now read-only.

Commit

Permalink
Fix jvmTest with newer versions of jvm by calling useJUnit + add jvmT…
Browse files Browse the repository at this point in the history
…estFix (#510)

* Check we can run jvmTest in korge projects

* Simplify gradle wrappers on e2e sample and test

* Use useJUnit instead of manually configure artifacts

* Add jvmTestFix to korge gradle plugin

* Remove old code
  • Loading branch information
soywiz authored Mar 21, 2022
1 parent f1c919e commit 6ee5d31
Show file tree
Hide file tree
Showing 12 changed files with 29 additions and 53 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/TEST.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ jobs:
run: ./gradlew --no-daemon publishJvmLocal publishMacosX64PublicationToMavenLocal
- name: e2e test
working-directory: e2e-test
run: "./gradlew runJvmCheckReferences"
run: "./gradlew jvmTest runJvmCheckReferences"

test-native-windows:
timeout-minutes: 120
Expand Down Expand Up @@ -143,4 +143,4 @@ jobs:
- name: e2e test
shell: cmd
working-directory: e2e-test
run: "CALL gradlew.bat --no-daemon runJvmCheckReferences"
run: "CALL gradlew.bat --no-daemon jvmTest runJvmCheckReferences"
9 changes: 0 additions & 9 deletions e2e-sample/gradlew_linux

This file was deleted.

10 changes: 0 additions & 10 deletions e2e-sample/gradlew_win

This file was deleted.

2 changes: 0 additions & 2 deletions e2e-sample/gradlew_wine

This file was deleted.

7 changes: 6 additions & 1 deletion e2e-test/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ buildscript {

apply<KorgeGradlePlugin>()

tasks.withType<KotlinCompile> {
kotlinOptions {
jvmTarget = "1.8"
}
}

korge {
id = "com.sample.demo"

Expand Down Expand Up @@ -78,4 +84,3 @@ tasks {
}
}
}

3 changes: 3 additions & 0 deletions e2e-test/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
korgePluginVersion=2.0.0.999
#korgePluginVersion=2.6.3
org.gradle.jvmargs=-Xmx4g
kotlin.mpp.stability.nowarn=true

kotlin.js.webpack.major.version=4
#kotlin.test.infer.jvm.variant=false
#org.gradle.logging.level=quiet
2 changes: 1 addition & 1 deletion e2e-test/gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ case "`uname`" in
Darwin* )
darwin=true
;;
MINGW* )
MSYS* | MINGW* )
msys=true
;;
NONSTOP* )
Expand Down
9 changes: 0 additions & 9 deletions e2e-test/gradlew_linux

This file was deleted.

10 changes: 0 additions & 10 deletions e2e-test/gradlew_win

This file was deleted.

2 changes: 0 additions & 2 deletions e2e-test/gradlew_wine

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -119,8 +119,7 @@ class KorgeGradleApply(val project: Project) {
plugins.apply("kotlin-multiplatform")

project.korge.addDependency("commonMainImplementation", "org.jetbrains.kotlin:kotlin-stdlib-common")
project.korge.addDependency("commonTestImplementation", "org.jetbrains.kotlin:kotlin-test-annotations-common")
project.korge.addDependency("commonTestImplementation", "org.jetbrains.kotlin:kotlin-test-common")
project.korge.addDependency("commonTestImplementation", "org.jetbrains.kotlin:kotlin-test")

//println("com.soywiz.korlibs.korge2:korge:$korgeVersion")
//project.dependencies.add("commonMainImplementation", "com.soywiz.korlibs.korge2:korge:$korgeVersion")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,19 @@ import proguard.gradle.*
fun Project.configureJvm() {
if (gkotlin.targets.findByName("jvm") != null) return

val jvmPreset = (gkotlin.presets.getAt("jvm") as KotlinJvmTargetPreset)
val jvmTarget = jvmPreset.createTarget("jvm")
val jvmTarget = gkotlin.jvm()
gkotlin.targets.add(jvmTarget)
//jvmTarget.attributes.attribute(KotlinPlatformType.attribute, KotlinPlatformType.jvm)

project.korge.addDependency("jvmMainImplementation", "net.java.dev.jna:jna:$jnaVersion")
project.korge.addDependency("jvmMainImplementation", "net.java.dev.jna:jna-platform:$jnaVersion")
project.korge.addDependency("jvmMainImplementation", "org.jetbrains.kotlin:kotlin-stdlib-jdk8")
project.korge.addDependency("jvmTestImplementation", "org.jetbrains.kotlin:kotlin-test")
project.korge.addDependency("jvmTestImplementation", "org.jetbrains.kotlin:kotlin-test-junit")

gkotlin.jvm {
testRuns["test"].executionTask.configure {
it.useJUnit()
//it.useJUnitPlatform()
}
}
project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class.java).all {
it.kotlinOptions {
this.jvmTarget = korge.jvmTarget
Expand Down Expand Up @@ -119,6 +121,15 @@ private fun Project.configureJvmTest() {
val jvmTest = (tasks.findByName("jvmTest") as Test)
jvmTest.classpath += project.files().from(project.getCompilationKorgeProcessedResourcesFolder(mainJvmCompilation))
jvmTest.jvmArgs = (jvmTest.jvmArgs ?: listOf()) + listOf("-Djava.awt.headless=true")

val jvmTestFix = tasks.create("jvmTestFix", Test::class.java) {
it.group = "verification"
it.environment("UPDATE_TEST_REF", "true")
it.testClassesDirs = jvmTest.testClassesDirs
it.classpath = jvmTest.classpath
it.bootstrapClasspath = jvmTest.bootstrapClasspath
it.systemProperty("java.awt.headless", "true")
}
}

open class PatchedProGuardTask : ProGuardTask() {
Expand Down

0 comments on commit 6ee5d31

Please sign in to comment.