96 lines
2.4 KiB
Groovy
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
|