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

View File

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

View File

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

View File

@ -13,14 +13,14 @@ kotlin {
} }
} }
val commonMain by getting { commonMain {
dependencies { dependencies {
implementation(libs.kotlin.coroutines.core) implementation(libs.kotlin.coroutines.core)
api(project(":kotlin-result")) api(project(":kotlin-result"))
} }
} }
val commonTest by getting { commonTest {
dependencies { dependencies {
implementation(kotlin("test-common")) implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common")) implementation(kotlin("test-annotations-common"))
@ -28,14 +28,14 @@ kotlin {
} }
} }
val jvmTest by getting { jvmTest {
dependencies { dependencies {
implementation(kotlin("test-junit")) implementation(kotlin("test-junit"))
implementation(kotlin("test")) implementation(kotlin("test"))
} }
} }
val jsTest by getting { jsTest {
dependencies { dependencies {
implementation(kotlin("test-js")) 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." description = "A Result monad for modelling success or failure operations."
plugins { plugins {
@ -14,14 +17,13 @@ kotlin {
androidNativeX64() androidNativeX64()
androidNativeX86() androidNativeX86()
linuxArm32Hfp()
linuxArm64() linuxArm64()
linuxMips32()
linuxMipsel32()
mingwX86() @OptIn(org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl::class)
wasmJs {
wasm32() binaries.executable()
nodejs()
}
sourceSets { sourceSets {
all { all {
@ -30,180 +32,23 @@ kotlin {
} }
} }
val commonMain by getting { commonTest {
}
val commonTest by getting {
dependencies { dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val jvmTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation(kotlin("test")) implementation(kotlin("test"))
} }
} }
val jsTest by getting { jvmTest {
dependencies {
implementation(kotlin("test-junit"))
}
}
jsTest {
dependencies { dependencies {
implementation(kotlin("test-js")) implementation(kotlin("test-js"))
} }
} }
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)
}
} }
} }
@ -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()