kotlin-result/build.gradle

96 lines
2.4 KiB
Groovy

buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}
plugins {
id 'com.github.ben-manes.versions' version '0.20.0'
id 'com.jfrog.bintray' version '1.8.4'
id 'net.researchgate.release' version '2.7.0'
id 'org.jetbrains.dokka' version '0.9.17'
}
apply plugin: 'kotlin'
apply plugin: 'maven-publish'
description = 'A Result monad for modelling success or failure operations.'
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
testImplementation "junit:junit:$junitVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test-common:$kotlinVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlinVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlinVersion"
testImplementation "org.jetbrains.kotlin:kotlin-test:$kotlinVersion"
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
dokka {
kotlinTasks { [ ] }
sourceDirs = sourceSets.main.kotlin.srcDirs
outputFormat = 'javadoc'
outputDirectory = "${docsDir}/javadoc"
}
task javadocJar(type: Jar, dependsOn: dokka) {
group = LifecycleBasePlugin.BUILD_GROUP
description = 'Assembles a jar archive containing the Javadoc API documentation.'
classifier = 'javadoc'
from dokka.outputDirectory
}
task sourcesJar(type: Jar) {
group = LifecycleBasePlugin.BUILD_GROUP
description = 'Assembles a jar archive containing the main classes with sources.'
classifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact javadocJar
artifact sourcesJar
}
}
}
bintray {
user = project.findProperty('bintrayUser') ?: ''
key = project.findProperty('bintrayKey') ?: ''
publications = [ 'mavenJava' ]
pkg {
repo = 'maven'
name = 'kotlin-result'
licenses = [ 'ISC' ]
vcsUrl = 'git@github.com:michaelbull/kotlin-result.git'
}
}
bintrayUpload.dependsOn build
bintrayUpload.dependsOn sourcesJar
bintrayUpload.dependsOn javadocJar
bintrayUpload.dependsOn generatePomFileForMavenJavaPublication
afterReleaseBuild.dependsOn bintrayUpload