Michael Bull 2023-11-28 15:50:44 +00:00
parent 008cfabc78
commit 05a1e91298
6 changed files with 48 additions and 194 deletions

View File

@ -102,25 +102,20 @@ jobs:
publishJsPublicationToMavenRepository
publishJvmPublicationToMavenRepository
publishKotlinMultiplatformPublicationToMavenRepository
publishLinuxArm32HfpPublicationToMavenRepository
publishLinuxArm64PublicationToMavenRepository
publishLinuxMips32PublicationToMavenRepository
publishLinuxMipsel32PublicationToMavenRepository
publishLinuxX64PublicationToMavenRepository
publishWasm32PublicationToMavenRepository
publishWasmJsPublicationToMavenRepository
# ./gradlew tasks | grep "PublicationToMavenRepository" | grep "publishMingw" | cut -d ' ' -f 1
- if: matrix.os == 'windows-latest'
run: >
./gradlew
publishMingwX64PublicationToMavenRepository
publishMingwX86PublicationToMavenRepository
# ./gradlew tasks | grep "PublicationToMavenRepository" | grep -e "publishIos" -e "publishMacos" -e "publishTvos" -e "publishWatchos" | cut -d ' ' -f 1
- if: matrix.os == 'macos-11'
run: >
./gradlew
publishIosArm32PublicationToMavenRepository
publishIosArm64PublicationToMavenRepository
publishIosSimulatorArm64PublicationToMavenRepository
publishIosX64PublicationToMavenRepository
@ -133,5 +128,4 @@ jobs:
publishWatchosArm64PublicationToMavenRepository
publishWatchosSimulatorArm64PublicationToMavenRepository
publishWatchosX64PublicationToMavenRepository
publishWatchosX86PublicationToMavenRepository

View File

@ -81,19 +81,21 @@ subprojects {
mingwX64()
macosX64()
macosArm64()
macosX64()
ios()
iosArm32()
iosArm64()
iosSimulatorArm64()
iosX64()
tvos()
tvosArm64()
tvosSimulatorArm64()
tvosX64()
watchos()
watchosX86()
watchosArm32()
watchosArm64()
watchosSimulatorArm64()
watchosX64()
}
}

View File

@ -1,11 +1,11 @@
[versions]
dokka = "1.8.10"
kotlin = "1.8.10"
kotlin-benchmark = "0.4.7"
kotlin-coroutines = "1.6.4"
ktor = "2.2.4"
logback = "1.4.6"
versions-plugin = "0.46.0"
dokka = "1.9.10"
kotlin = "1.9.21"
kotlin-benchmark = "0.4.9"
kotlin-coroutines = "1.7.3"
ktor = "2.3.6"
logback = "1.4.12"
versions-plugin = "0.50.0"
[libraries]
logback = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }

View File

@ -13,14 +13,14 @@ kotlin {
}
}
val commonMain by getting {
commonMain {
dependencies {
implementation(libs.kotlin.coroutines.core)
api(project(":kotlin-result"))
}
}
val commonTest by getting {
commonTest {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
@ -28,14 +28,14 @@ kotlin {
}
}
val jvmTest by getting {
jvmTest {
dependencies {
implementation(kotlin("test-junit"))
implementation(kotlin("test"))
}
}
val jsTest by getting {
jsTest {
dependencies {
implementation(kotlin("test-js"))
}

View File

@ -1,3 +1,6 @@
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension
import org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask
description = "A Result monad for modelling success or failure operations."
plugins {
@ -14,14 +17,13 @@ kotlin {
androidNativeX64()
androidNativeX86()
linuxArm32Hfp()
linuxArm64()
linuxMips32()
linuxMipsel32()
mingwX86()
wasm32()
@OptIn(org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl::class)
wasmJs {
binaries.executable()
nodejs()
}
sourceSets {
all {
@ -30,179 +32,22 @@ kotlin {
}
}
val commonMain by getting {
}
val commonTest by getting {
commonTest {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jvmTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation(kotlin("test"))
}
}
val jsTest by getting {
jvmTest {
dependencies {
implementation(kotlin("test-js"))
implementation(kotlin("test-junit"))
}
}
val nativeMain by creating {
dependsOn(commonMain)
}
val androidNativeMain by creating {
dependsOn(nativeMain)
}
val mingwMain by creating {
dependsOn(nativeMain)
}
val unixMain by creating {
dependsOn(nativeMain)
}
val linuxMain by creating {
dependsOn(unixMain)
}
val darwinMain by creating {
dependsOn(unixMain)
}
val macosMain by creating {
dependsOn(darwinMain)
}
val iosMain by getting {
dependsOn(darwinMain)
}
val tvosMain by getting {
dependsOn(darwinMain)
}
val watchosMain by getting {
dependsOn(darwinMain)
}
// Android Native
val androidNativeArm32Main by getting {
dependsOn(androidNativeMain)
}
val androidNativeArm64Main by getting {
dependsOn(androidNativeMain)
}
val androidNativeX64Main by getting {
dependsOn(androidNativeMain)
}
val androidNativeX86Main by getting {
dependsOn(androidNativeMain)
}
// Linux
val linuxArm32HfpMain by getting {
dependsOn(linuxMain)
}
val linuxArm64Main by getting {
dependsOn(linuxMain)
}
val linuxMips32Main by getting {
dependsOn(linuxMain)
}
val linuxMipsel32Main by getting {
dependsOn(linuxMain)
}
val linuxX64Main by getting {
dependsOn(linuxMain)
}
// Mingw
val mingwX64Main by getting {
dependsOn(mingwMain)
}
val mingwX86Main by getting {
dependsOn(mingwMain)
}
// Darwin [ macOS ]
val macosArm64Main by getting {
dependsOn(macosMain)
}
val macosX64Main by getting {
dependsOn(macosMain)
}
// Darwin [ iOS ]
val iosArm32Main by getting {
dependsOn(iosMain)
}
val iosArm64Main by getting {
dependsOn(iosMain)
}
val iosX64Main by getting {
dependsOn(iosMain)
}
val iosSimulatorArm64Main by getting {
dependsOn(iosMain)
}
// Darwin [ tvOS ]
val tvosArm64Main by getting {
dependsOn(tvosMain)
}
val tvosX64Main by getting {
dependsOn(tvosMain)
}
val tvosSimulatorArm64Main by getting {
dependsOn(tvosMain)
}
// Darwin [ watchOS ]
val watchosArm32Main by getting {
dependsOn(watchosMain)
}
val watchosArm64Main by getting {
dependsOn(watchosMain)
}
val watchosX64Main by getting {
dependsOn(watchosMain)
}
val watchosX86Main by getting {
dependsOn(watchosMain)
}
val watchosSimulatorArm64Main by getting {
dependsOn(watchosMain)
}
val wasm32Main by getting {
dependsOn(nativeMain)
jsTest {
dependencies {
implementation(kotlin("test-js"))
}
}
}
}
@ -214,3 +59,13 @@ publishing {
}
}
}
/* https://youtrack.jetbrains.com/issue/KT-63014/Running-tests-with-wasmJs-in-1.9.20-requires-Chrome-Canary#focus=Comments-27-8321383.0-0 */
rootProject.the<NodeJsRootExtension>().apply {
nodeVersion = "21.0.0-v8-canary202309143a48826a08"
nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
}
rootProject.tasks.withType<KotlinNpmInstallTask>().configureEach {
args.add("--ignore-engines")
}

View File

@ -0,0 +1,3 @@
package com.github.michaelbull.result
internal actual object BindException : Exception()