parent
f8ce59b3fb
commit
bca344daaf
232
build.gradle.kts
232
build.gradle.kts
@ -1,6 +1,5 @@
|
||||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
||||
import org.jetbrains.dokka.gradle.DokkaTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
val ossrhUsername: String? by ext
|
||||
val ossrhPassword: String? by ext
|
||||
@ -10,7 +9,7 @@ description = "A Result monad for modelling success or failure operations."
|
||||
plugins {
|
||||
`maven-publish`
|
||||
signing
|
||||
kotlin("jvm") version "1.3.72"
|
||||
kotlin("multiplatform") version "1.3.72"
|
||||
id("org.jetbrains.dokka") version "0.10.1"
|
||||
id("com.github.ben-manes.versions") version "0.28.0"
|
||||
id("net.researchgate.release") version "2.8.1"
|
||||
@ -18,52 +17,6 @@ plugins {
|
||||
id("org.jetbrains.kotlin.plugin.allopen") version "1.3.72"
|
||||
}
|
||||
|
||||
allprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven("https://dl.bintray.com/kotlin/kotlinx")
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile> {
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
freeCompilerArgs = listOf("-Xuse-experimental=kotlin.contracts.ExperimentalContracts")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
allOpen {
|
||||
annotation("org.openjdk.jmh.annotations.State")
|
||||
annotation("org.openjdk.jmh.annotations.BenchmarkMode")
|
||||
}
|
||||
|
||||
sourceSets.create("benchmark") {
|
||||
java {
|
||||
srcDir("src/benchmarks/kotlin")
|
||||
}
|
||||
}
|
||||
|
||||
val benchmarkImplementation by configurations
|
||||
|
||||
benchmark {
|
||||
targets {
|
||||
register("benchmark")
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib"))
|
||||
testImplementation("junit:junit:4.13")
|
||||
testImplementation(kotlin("test-common"))
|
||||
testImplementation(kotlin("test-annotations-common"))
|
||||
testImplementation(kotlin("test-junit"))
|
||||
testImplementation(kotlin("test"))
|
||||
|
||||
benchmarkImplementation(sourceSets.main.get().output + sourceSets.main.get().runtimeClasspath)
|
||||
benchmarkImplementation("org.jetbrains.kotlinx:kotlinx.benchmark.runtime-jvm:0.2.0-dev-8")
|
||||
}
|
||||
|
||||
tasks.withType<DependencyUpdatesTask> {
|
||||
rejectVersionIf {
|
||||
listOf("alpha", "beta", "rc", "cr", "m", "eap", "pr").any {
|
||||
@ -85,11 +38,82 @@ val javadocJar by tasks.registering(Jar::class) {
|
||||
from(dokka.get().outputDirectory)
|
||||
}
|
||||
|
||||
val sourcesJar by tasks.registering(Jar::class) {
|
||||
group = LifecycleBasePlugin.BUILD_GROUP
|
||||
description = "Assembles a jar archive containing the main classes with sources."
|
||||
archiveClassifier.set("sources")
|
||||
from(sourceSets["main"].allSource)
|
||||
allprojects {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
jcenter()
|
||||
maven("https://dl.bintray.com/kotlin/kotlinx")
|
||||
}
|
||||
}
|
||||
|
||||
allOpen {
|
||||
annotation("org.openjdk.jmh.annotations.State")
|
||||
annotation("org.openjdk.jmh.annotations.BenchmarkMode")
|
||||
}
|
||||
|
||||
sourceSets.create("benchmark")
|
||||
|
||||
benchmark {
|
||||
targets {
|
||||
register("jvmBenchmark")
|
||||
}
|
||||
}
|
||||
|
||||
kotlin {
|
||||
jvm {
|
||||
withJava()
|
||||
|
||||
mavenPublication {
|
||||
artifact(javadocJar.get())
|
||||
}
|
||||
|
||||
compilations.all {
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
all {
|
||||
languageSettings.apply {
|
||||
useExperimentalAnnotation("kotlin.contracts.ExperimentalContracts")
|
||||
}
|
||||
}
|
||||
|
||||
val commonMain by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib-common"))
|
||||
}
|
||||
}
|
||||
|
||||
val commonTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-common"))
|
||||
implementation(kotlin("test-annotations-common"))
|
||||
}
|
||||
}
|
||||
|
||||
val jvmMain by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("stdlib-jdk8"))
|
||||
}
|
||||
}
|
||||
|
||||
val jvmTest by getting {
|
||||
dependencies {
|
||||
implementation(kotlin("test-junit"))
|
||||
implementation(kotlin("test"))
|
||||
}
|
||||
}
|
||||
|
||||
val jvmBenchmark by getting {
|
||||
dependsOn(jvmMain)
|
||||
dependencies {
|
||||
implementation("org.jetbrains.kotlinx:kotlinx.benchmark.runtime-jvm:0.2.0-dev-8")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
@ -108,64 +132,58 @@ publishing {
|
||||
}
|
||||
}
|
||||
|
||||
publications {
|
||||
register("mavenJava", MavenPublication::class) {
|
||||
from(components["java"])
|
||||
artifact(javadocJar.get())
|
||||
artifact(sourcesJar.get())
|
||||
publications.withType<MavenPublication> {
|
||||
pom {
|
||||
name.set(project.name)
|
||||
description.set(project.description)
|
||||
url.set("https://github.com/michaelbull/kotlin-result")
|
||||
inceptionYear.set("2017")
|
||||
|
||||
pom {
|
||||
name.set(project.name)
|
||||
description.set(project.description)
|
||||
licenses {
|
||||
license {
|
||||
name.set("ISC License")
|
||||
url.set("https://opensource.org/licenses/isc-license.txt")
|
||||
}
|
||||
}
|
||||
|
||||
developers {
|
||||
developer {
|
||||
name.set("Michael Bull")
|
||||
url.set("https://www.michael-bull.com")
|
||||
}
|
||||
}
|
||||
|
||||
contributors {
|
||||
contributor {
|
||||
name.set("Kevin Herron")
|
||||
url.set("https://github.com/kevinherron")
|
||||
}
|
||||
|
||||
contributor {
|
||||
name.set("Markus Padourek")
|
||||
url.set("https://github.com/Globegitter")
|
||||
}
|
||||
|
||||
contributor {
|
||||
name.set("Tristan Hamilton")
|
||||
url.set("https://github.com/Munzey")
|
||||
}
|
||||
}
|
||||
|
||||
scm {
|
||||
connection.set("scm:git:https://github.com/michaelbull/kotlin-result")
|
||||
developerConnection.set("scm:git:git@github.com:michaelbull/kotlin-result.git")
|
||||
url.set("https://github.com/michaelbull/kotlin-result")
|
||||
inceptionYear.set("2017")
|
||||
}
|
||||
|
||||
licenses {
|
||||
license {
|
||||
name.set("ISC License")
|
||||
url.set("https://opensource.org/licenses/isc-license.txt")
|
||||
}
|
||||
}
|
||||
issueManagement {
|
||||
system.set("GitHub")
|
||||
url.set("https://github.com/michaelbull/kotlin-result/issues")
|
||||
}
|
||||
|
||||
developers {
|
||||
developer {
|
||||
name.set("Michael Bull")
|
||||
url.set("https://www.michael-bull.com")
|
||||
}
|
||||
}
|
||||
|
||||
contributors {
|
||||
contributor {
|
||||
name.set("Kevin Herron")
|
||||
url.set("https://github.com/kevinherron")
|
||||
}
|
||||
|
||||
contributor {
|
||||
name.set("Markus Padourek")
|
||||
url.set("https://github.com/Globegitter")
|
||||
}
|
||||
|
||||
contributor {
|
||||
name.set("Tristan Hamilton")
|
||||
url.set("https://github.com/Munzey")
|
||||
}
|
||||
}
|
||||
|
||||
scm {
|
||||
connection.set("scm:git:https://github.com/michaelbull/kotlin-result")
|
||||
developerConnection.set("scm:git:git@github.com:michaelbull/kotlin-result.git")
|
||||
url.set("https://github.com/michaelbull/kotlin-result")
|
||||
}
|
||||
|
||||
issueManagement {
|
||||
system.set("GitHub")
|
||||
url.set("https://github.com/michaelbull/kotlin-result/issues")
|
||||
}
|
||||
|
||||
ciManagement {
|
||||
system.set("GitHub")
|
||||
url.set("https://github.com/michaelbull/kotlin-result/actions?query=workflow%3Aci")
|
||||
}
|
||||
ciManagement {
|
||||
system.set("GitHub")
|
||||
url.set("https://github.com/michaelbull/kotlin-result/actions?query=workflow%3Aci")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
|
||||
plugins {
|
||||
application
|
||||
kotlin("jvm")
|
||||
@ -22,3 +24,9 @@ dependencies {
|
||||
implementation("io.ktor:ktor-server-netty:$ktorVersion")
|
||||
implementation("io.ktor:ktor-gson:$ktorVersion")
|
||||
}
|
||||
|
||||
tasks.withType(KotlinCompile::class.java).all {
|
||||
kotlinOptions {
|
||||
jvmTarget = "1.8"
|
||||
}
|
||||
}
|
||||
|
@ -38,11 +38,7 @@ inline fun <V, E> binding(crossinline block: ResultBinding<E>.() -> V): Result<V
|
||||
}
|
||||
}
|
||||
|
||||
internal object BindException : Exception() {
|
||||
override fun fillInStackTrace(): Throwable {
|
||||
return this
|
||||
}
|
||||
}
|
||||
internal expect object BindException : Exception
|
||||
|
||||
interface ResultBinding<E> {
|
||||
fun <V> Result<V, E>.bind(): V
|
@ -0,0 +1,7 @@
|
||||
package com.github.michaelbull.result
|
||||
|
||||
internal actual object BindException : Exception() {
|
||||
override fun fillInStackTrace(): Throwable {
|
||||
return this
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user