Skip to content

Commit 7827604

Browse files
authored
Merge pull request #2 from reduxkotlin/kotlin-gradle-DSL
Kotlin gradle dsl
2 parents 3744394 + 1105113 commit 7827604

File tree

5 files changed

+90
-119
lines changed

5 files changed

+90
-119
lines changed

build.gradle

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,3 @@ allprojects {
2828
maven { url "https://kotlin.bintray.com/kotlinx" }
2929
}
3030
}
31-
32-
task clean(type: Delete) {
33-
delete rootProject.buildDir
34-
}

common/build.gradle

Lines changed: 0 additions & 102 deletions
This file was deleted.

common/build.gradle.kts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import org.gradle.internal.impldep.org.apache.maven.Maven
2+
3+
plugins {
4+
kotlin("multiplatform")
5+
`maven-publish`
6+
}
7+
8+
9+
repositories {
10+
mavenCentral()
11+
}
12+
13+
kotlin {
14+
targets {
15+
jvm()
16+
js {
17+
browser()
18+
nodejs()
19+
}
20+
linuxX64()
21+
linuxArm32Hfp()
22+
macosX64()
23+
mingwX64()
24+
iosArm64()
25+
iosArm32()
26+
iosX64()
27+
}
28+
sourceSets {
29+
commonTest {
30+
kotlin.srcDir("src/test/kotlin")
31+
}
32+
}
33+
}
34+
35+
dependencies {
36+
commonMainImplementation("org.jetbrains.kotlin:kotlin-stdlib")
37+
commonTestImplementation("org.jetbrains.kotlin:kotlin-test-annotations-common")
38+
commonTestImplementation("org.jetbrains.kotlin:kotlin-test-common")
39+
40+
"jvmMainImplementation"("org.jetbrains.kotlin:kotlin-stdlib")
41+
"jvmTestImplementation"("org.jetbrains.kotlin:kotlin-test-junit")
42+
43+
"jsMainImplementation"("org.jetbrains.kotlin:kotlin-stdlib-js")
44+
"jsTestImplementation"("org.jetbrains.kotlin:kotlin-test-js")
45+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import kotlin.test.Test
2+
import kotlin.test.fail
3+
4+
typealias Dispatch = (Any) -> Any
5+
typealias GetState = () -> Any
6+
typealias Thunk = (Dispatch, GetState, Any?) -> Any
7+
8+
data class AppState(val string: String)
9+
10+
val dispatch: Dispatch = { }
11+
val getState: GetState = { AppState("myState") }
12+
13+
fun myThunk(dispatch: Dispatch, getState: GetState, arg: Any?) {
14+
println("Inside thunk")
15+
}
16+
17+
18+
fun multiParamFunctionTest(foo: Any) {
19+
if (foo is Function<*>) {
20+
(foo as Thunk)(dispatch, getState, null)
21+
} else {
22+
fail()
23+
}
24+
}
25+
26+
27+
/**
28+
* Demonstrates bug with `is Function<*>. Passes on JVM & Native, fails on JS
29+
*/
30+
class FunctionCheckTest {
31+
32+
33+
@Test
34+
fun passIsCheck() {
35+
if ({ str: String -> } is Function<*>) {
36+
} else {
37+
fail("Function not recognized in `is Function<*>`")
38+
}
39+
}
40+
41+
@Test
42+
fun typeAliasCheck() {
43+
multiParamFunctionTest(::myThunk)
44+
}
45+
}

common/src/test/kotlin/TypealiasTest.kt

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)