plugins { id 'org.jetbrains.kotlin.jvm' version '1.4.31' apply false id "org.jlleitschuh.gradle.ktlint" version "9.2.1" id "io.github.gradle-nexus.publish-plugin" version "1.1.0" } ext { PUBLISH_VERSION = '1.2.0-SNAPSHOT' SITE_URL = 'https://github.com/wulkanowy/sdk' GIT_URL = 'https://github.com/wulkanowy/sdk.git' jspoon = "1.3.2" okhttp3 = "3.12.13" retrofit = "2.6.4" slf4j = "1.7.30" } 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() jcenter() 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.6" javaParameters = true } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2' 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:1.4.2' } jacocoTestReport { reports { xml.enabled true } } 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" }