Skip to content

Commit

Permalink
1. renamed kohttp-core -> kohttp
Browse files Browse the repository at this point in the history
2. gitignore changes
3. changes in gradle to use jacoco multi-module
  • Loading branch information
rybalkinsd committed Aug 4, 2019
1 parent ddeb4b0 commit 755cd52
Show file tree
Hide file tree
Showing 91 changed files with 134 additions and 99 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@

/out
/build
/*/out/
/*/build
160 changes: 89 additions & 71 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,119 +1,137 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
kotlin("jvm") version "1.3.40" apply false
jacoco
kotlin("jvm") version "1.3.40"

id("org.jetbrains.dokka") version "0.9.16" apply false
jacoco
id("org.jetbrains.dokka") version "0.9.16"
`maven-publish`
signing

}

allprojects {
apply(plugin = "jacoco")

group = "io.github.rybalkinsd"
version = "0.11.0-SNAPSHOT"


repositories {
mavenCentral()
mavenLocal()
}
}

val notToPublish = listOf("kohttp-test")

subprojects {
apply(plugin = "kotlin")
apply(plugin = "org.jetbrains.dokka")
apply(plugin = "maven-publish")
apply(plugin = "signing")


tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
}

val sourceSets = the<SourceSetContainer>()

val sourcesJar = task<Jar>("sourcesJar") {
from(this.source)
classifier = "sources"
sourceSets {
getByName("main").java.srcDirs("src/main/kotlin")
getByName("test").java.srcDirs("src/main/kotlin")
}

// val dokkaJar by tasks

// val dokkaJar = task<Jar>("dokkaJar") {
// group = JavaBasePlugin.DOCUMENTATION_GROUP
// from(tasks.dokka)
// classifier = "javadoc"
// }

publishing {
publications {
create<MavenPublication>("kohttp") {
from(components["java"])
artifacts {
artifact(sourcesJar)
// artifact(dokkaJar)
}
if (project.name !in notToPublish) {
apply(plugin = "org.jetbrains.dokka")
apply(plugin = "maven-publish")
apply(plugin = "signing")

pom {
name.set("Kotlin http dsl")
description.set("Kotlin http dsl based on okhttp")
url.set("https://github.com/rybalkinsd/kohttp")
organization {
name.set("io.github.rybalkinsd")
url.set("https://github.com/rybalkinsd")
}
licenses {
license {
name.set("Apache License 2.0")
url.set("https://github.com/rybalkinsd/kohttp/blob/master/LICENSE")
}
val sourcesJar = task<Jar>("sourcesJar") {
from(sourceSets["main"].allSource)
classifier = "sources"
}

val dokkaJar = task<Jar>("dokkaJar") {
group = JavaBasePlugin.DOCUMENTATION_GROUP
classifier = "javadoc"
}

publishing {
publications {
create<MavenPublication>("kohttp") {
from(components["java"])
artifacts {
artifact(sourcesJar)
artifact(dokkaJar)
}
scm {

pom {
name.set("Kotlin http dsl")
description.set("Kotlin http dsl based on okhttp")
url.set("https://github.com/rybalkinsd/kohttp")
connection.set("scm:git:git://github.com/rybalkinsd/kohttp.git")
developerConnection.set("scm:git:ssh://git@github.com:rybalkinsd/kohttp.git")
}
developers {
developer {
name.set("Sergey")
organization {
name.set("io.github.rybalkinsd")
url.set("https://github.com/rybalkinsd")
}
licenses {
license {
name.set("Apache License 2.0")
url.set("https://github.com/rybalkinsd/kohttp/blob/master/LICENSE")
}
}
scm {
url.set("https://github.com/rybalkinsd/kohttp")
connection.set("scm:git:git://github.com/rybalkinsd/kohttp.git")
developerConnection.set("scm:git:ssh://git@github.com:rybalkinsd/kohttp.git")
}
developers {
developer {
name.set("Sergey")
}
}
}
}
}

repositories {
maven {
credentials {
val nexusUsername: String? by project
val nexusPassword: String? by project
username = nexusUsername
password = nexusPassword
}
repositories {
maven {
credentials {
val nexusUsername: String? by project
val nexusPassword: String? by project
username = nexusUsername
password = nexusPassword
}

val releasesRepoUrl = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
val snapshotsRepoUrl = uri("https://oss.sonatype.org/content/repositories/snapshots/")
url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl
val releasesRepoUrl = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2/")
val snapshotsRepoUrl = uri("https://oss.sonatype.org/content/repositories/snapshots/")
url = if (version.toString().endsWith("SNAPSHOT")) snapshotsRepoUrl else releasesRepoUrl
}
}
}
}
}

signing {
sign(publishing.publications["kohttp"])
signing {
sign(publishing.publications["kohttp"])
}
}

}


tasks.withType<JacocoReport> {
val containers = subprojects.map { it.the<SourceSetContainer>()["main"] }

val output = containers.flatMap { it.output }
val sources = containers.flatMap { it.allSource.srcDirs }

val exec = subprojects.flatMap { it.tasks }
.filter { it is Test }
.flatMap { files(it) }
.filter { it.exists() && it.name.endsWith(".exec") }

//tasks.withType<JacocoReport> {
// reports {
// xml.isEnabled = true
// xml.destination = File("$buildDir/reports/jacoco/report.xml")
// html.isEnabled = false
// }
//}

additionalSourceDirs.setFrom(sources)
sourceDirectories.setFrom(sources)
classDirectories.setFrom(output)
executionData.setFrom(exec)

reports {
xml.isEnabled = true
xml.destination = File("$buildDir/reports/jacoco/report.xml")
html.isEnabled = false
}
}
3 changes: 1 addition & 2 deletions kohttp-jackson/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
dependencies {
implementation(kotlin("stdlib-jdk8"))
api(project(":kohttp-core"))
api(project(":kohttp"))

val jacksonVersion = "2.9.9"
api(jackson("core"), "jackson-databind", jacksonVersion)
implementation(jackson("module"), "jackson-module-kotlin", jacksonVersion)

testImplementation(kotlin("test-junit"))
testImplementation("org.assertj:assertj-core:3.12.2")

}

fun jackson(pack: String) = "com.fasterxml.jackson.$pack"
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.github.rybalkinsd.kohttp.ext
package io.github.rybalkinsd.kohttp.jackson.ext

import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.ObjectMapper
Expand All @@ -9,6 +9,15 @@ import okhttp3.Response
*/
internal val stringMapper: ObjectMapper by lazy { ObjectMapper() }



/**
* Returns Response Body as JSON. If Response is `null` it returns a empty JSON
*
* @return JsonNode.
* @since 0.9.0
* @author gokul
*/
fun Response.asJson(): JsonNode = with(body()?.string()) {
if (isNullOrBlank()) stringMapper.readTree("{}") else stringMapper.readTree(this)
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package io.github.rybalkinsd.kohttp.ext
package io.github.rybalkinsd.kohttp.jackson.ext

import io.github.rybalkinsd.kohttp.ext.httpGet
import io.github.rybalkinsd.kohttp.util.json
import org.assertj.core.api.Assertions.assertThat
import org.junit.Test
Expand Down
2 changes: 1 addition & 1 deletion kohttp-test/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
dependencies {
testImplementation(kotlin("stdlib-jdk8"))
testImplementation(project(":kohttp-core"))
testImplementation(project(":kohttp"))
testImplementation(project(":kohttp-jackson"))

testImplementation(kotlin("test-junit"))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpDelete
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.assertContainsExactly
import io.github.rybalkinsd.kohttp.ext.asJson
import org.junit.Test
import kotlin.test.assertEquals

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpGet
import io.github.rybalkinsd.kohttp.ext.url
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.assertContainsExactly
import io.github.rybalkinsd.kohttp.ext.asJson
import io.github.rybalkinsd.kohttp.ext.url
import io.github.rybalkinsd.kohttp.util.json
import org.junit.Test
import kotlin.test.assertEquals
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.ext.asJson
import io.github.rybalkinsd.kohttp.dsl.httpPost
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import org.junit.Test
import java.io.File
import kotlin.test.assertEquals
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpPatch
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.assertContainsExactly
import io.github.rybalkinsd.kohttp.ext.asJson

import org.junit.Test
import kotlin.test.assertEquals

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpPost
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.assertContainsExactly
import io.github.rybalkinsd.kohttp.ext.asJson
import org.junit.Test
import java.io.File
import kotlin.test.assertEquals
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpPut
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.assertContainsExactly
import io.github.rybalkinsd.kohttp.ext.asJson
import org.junit.Test
import kotlin.test.assertEquals

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package io.github.rybalkinsd.kohttp.dsl

import io.github.rybalkinsd.kohttp.dsl.httpGet
import io.github.rybalkinsd.kohttp.dsl.upload
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import io.github.rybalkinsd.kohttp.assertContainsAtLeast
import io.github.rybalkinsd.kohttp.ext.asJson
import org.junit.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.github.rybalkinsd.kohttp.dsl.async

import io.github.rybalkinsd.kohttp.ext.asJson
import io.github.rybalkinsd.kohttp.dsl.async.uploadAsync
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import kotlinx.coroutines.runBlocking
import org.junit.Assert
import org.junit.Test
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.rybalkinsd.kohttp.ext

import io.github.rybalkinsd.kohttp.ext.uploadAsync
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import kotlinx.coroutines.runBlocking
import org.junit.Test
import java.io.File
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.rybalkinsd.kohttp.ext

import io.github.rybalkinsd.kohttp.ext.upload
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import org.junit.Test
import java.io.File
import java.net.URL
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.rybalkinsd.kohttp.ext

import io.github.rybalkinsd.kohttp.ext.uploadAsync
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import kotlinx.coroutines.runBlocking
import org.junit.Test
import java.net.URL
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.github.rybalkinsd.kohttp.ext

import io.github.rybalkinsd.kohttp.ext.upload
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import org.junit.Test
import java.net.URL
import kotlin.test.assertEquals
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ package io.github.rybalkinsd.kohttp.interceptors
import io.github.rybalkinsd.kohttp.client.defaultHttpClient
import io.github.rybalkinsd.kohttp.client.fork
import io.github.rybalkinsd.kohttp.dsl.httpGet
import io.github.rybalkinsd.kohttp.ext.asJson
import io.github.rybalkinsd.kohttp.interceptors.SigningInterceptor
import io.github.rybalkinsd.kohttp.jackson.ext.asJson
import org.junit.Test
import java.security.MessageDigest
import java.util.*
Expand Down
File renamed without changes.
Loading

0 comments on commit 755cd52

Please sign in to comment.