Skip to content

Commit 039a1c9

Browse files
authored
Added high arity for arrow-core.api functions (#3360)
1 parent c28a3ab commit 039a1c9

File tree

18 files changed

+3867
-7
lines changed

18 files changed

+3867
-7
lines changed

arrow-libs/core/arrow-core-high-arity/api/arrow-core-high-arity.api

+73
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
@file:Suppress("DSL_SCOPE_VIOLATION")
2+
3+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
4+
5+
plugins {
6+
id(libs.plugins.kotlin.multiplatform.get().pluginId)
7+
alias(libs.plugins.arrowGradleConfig.kotlin)
8+
alias(libs.plugins.arrowGradleConfig.publish)
9+
alias(libs.plugins.kotlinx.kover)
10+
alias(libs.plugins.kotest.multiplatform)
11+
alias(libs.plugins.spotless)
12+
}
13+
14+
spotless {
15+
kotlin {
16+
ktlint().editorConfigOverride(mapOf("ktlint_standard_filename" to "disabled"))
17+
}
18+
}
19+
20+
apply(from = property("ANIMALSNIFFER_MPP"))
21+
22+
kotlin {
23+
sourceSets {
24+
commonMain {
25+
dependencies {
26+
api(projects.arrowCore)
27+
api(projects.arrowAtomic)
28+
api(projects.arrowContinuations)
29+
api(projects.arrowAnnotations)
30+
api(libs.kotlin.stdlibCommon)
31+
}
32+
}
33+
34+
commonTest {
35+
dependencies {
36+
implementation(projects.arrowFxCoroutines)
37+
implementation(libs.kotest.frameworkEngine)
38+
implementation(libs.kotest.assertionsCore)
39+
implementation(libs.kotest.property)
40+
}
41+
}
42+
43+
jvmTest {
44+
dependencies {
45+
runtimeOnly(libs.kotest.runnerJUnit5)
46+
}
47+
}
48+
49+
jvmMain {
50+
dependencies {
51+
implementation(libs.kotlin.stdlib)
52+
}
53+
}
54+
55+
jsMain {
56+
dependencies {
57+
implementation(libs.kotlin.stdlibJS)
58+
}
59+
}
60+
}
61+
62+
jvm {
63+
tasks.jvmJar {
64+
manifest {
65+
attributes["Automatic-Module-Name"] = "arrow.core-high-arity"
66+
}
67+
}
68+
}
69+
}
70+
71+
// enables context receivers for Jvm Tests
72+
tasks.named<KotlinCompile>("compileTestKotlinJvm") {
73+
kotlinOptions.freeCompilerArgs += "-Xcontext-receivers"
74+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Maven publishing configuration
2+
pom.name=Arrow Core High Arity
3+
# Build configuration
4+
kapt.incremental.apt=false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
knit.package=arrow.core.examples
2+
knit.dir=src/jvmTest/kotlin/examples/
3+
4+
test.package=arrow.core.examples.test
5+
test.dir=src/jvmTest/kotlin/examples/test/
6+
test.template=knit.test.template
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// This file was automatically generated from ${file.name} by Knit tool. Do not edit.
2+
package ${test.package}
3+
4+
import io.kotest.core.spec.style.StringSpec
5+
6+
class ${test.name} : StringSpec({
7+
<#list cases as case>
8+
"${case.name}" {
9+
${case.knit.package}.${case.knit.name}.test()
10+
}
11+
12+
</#list>
13+
}) {
14+
override fun timeout(): Long = 1000
15+
}

0 commit comments

Comments
 (0)