sdk/build.gradle
2021-09-13 12:37:58 +02:00

163 lines
4.5 KiB
Groovy

plugins {
id 'org.jetbrains.kotlin.jvm' version '1.5.30' apply false
id "org.jlleitschuh.gradle.ktlint" version "10.1.0"
id "io.github.gradle-nexus.publish-plugin" version "1.1.0"
}
ext {
PUBLISH_VERSION = '1.2.2'
SITE_URL = 'https://github.com/wulkanowy/sdk'
GIT_URL = 'https://github.com/wulkanowy/sdk.git'
jspoon = "1.3.2"
jsoup = "1.14.2"
okhttp3 = "4.9.1"
retrofit = "2.9.0"
slf4j = "1.7.32"
moshi = "1.12.0"
coroutines = "1.5.1"
}
version = PUBLISH_VERSION
group = "io.github.wulkanowy"
nexusPublishing {
repositories {
sonatype {
nexusUrl.set(uri("https://s01.oss.sonatype.org/service/local/"))
snapshotRepositoryUrl.set(uri("https://s01.oss.sonatype.org/content/repositories/snapshots/"))
username = System.getenv("MAVEN_USERNAME")
password = System.getenv("MAVEN_PASSWORD")
}
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'kotlin'
apply plugin: 'maven-publish'
apply plugin: 'signing'
apply plugin: "org.jlleitschuh.gradle.ktlint"
repositories {
mavenCentral()
maven { url "https://jitpack.io" }
}
dependencies {
implementation "org.slf4j:slf4j-api:$slf4j"
testImplementation "org.slf4j:slf4j-simple:$slf4j"
}
java {
withJavadocJar()
withSourcesJar()
}
publishing {
publications {
sdk(MavenPublication) {
from components.java
version = rootProject.version
pom {
name = 'VULCAN UONET+ SDK'
description = 'Unified way of retrieving data from the UONET+ register through mobile api and scraping api'
url = 'https://github.com/wulkanowy/sdk'
licenses {
license {
name = 'The Apache License, Version 2.0'
url = 'https://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
developers {
developer {
id = 'mklkj'
name = 'Mikołaj Pich'
email = 'm.pich@outlook.com'
}
}
scm {
connection = 'https://github.com/wulkanowy/sdk.git'
developerConnection = 'git@github.com:wulkanowy/sdk.git'
url = 'https://github.com/wulkanowy/sdk'
}
}
}
}
if (System.getenv("MAVEN_SIGNING_KEY")) {
signing {
def signingKey = System.getenv("MAVEN_SIGNING_KEY") ?: ""
def signingPassword = System.getenv("MAVEN_SIGNING_PASSWORD")
useInMemoryPgpKeys(new String(signingKey.decodeBase64()), signingPassword)
sign publishing.publications.sdk
}
}
javadoc {
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}
}
}
subprojects {
apply plugin: 'jacoco'
ktlint {
additionalEditorconfigFile = file(".editorconfig")
disabledRules = [
"no-wildcard-imports",
"import-ordering",
"max-line-length"
]
}
sourceCompatibility = 1.8
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
javaParameters = true
}
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines"
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp3"
testImplementation "junit:junit:4.13.2"
testImplementation "com.squareup.okhttp3:mockwebserver:$okhttp3"
testImplementation "com.squareup.retrofit2:retrofit-mock:$retrofit"
testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"
}
jacocoTestReport {
reports {
xml.enabled true
}
}
jacoco {
toolVersion "0.8.7"
}
test {
testLogging.showStandardStreams = false
}
group = "io.github.wulkanowy.sdk"
}
dependencies {
compile project(":sdk")
compile project(":sdk-mobile")
compile project(":sdk-scrapper")
compile "com.squareup.okhttp3:okhttp:$okhttp3"
}