From 2ef7352331c51f5866af26129d45be3256431415 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Wed, 1 Mar 2017 20:38:23 +0700 Subject: [PATCH 01/13] format readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7394fb8..98d21b5 100644 --- a/README.md +++ b/README.md @@ -50,10 +50,10 @@ After you migrated DB. ## Frequently asked questions * Q) IntelliJ IDEA is very slow when you use jOOQ with Kotlin. -* A) Refer [this ticket](https://youtrack.jetbrains.com/issue/KT-10978). In my case, [tuning memory config](https://youtrack.jetbrains.com/issue/KT-10978#comment=27-1519260) of IntelliJ IDEA worked. + * A) Refer [this ticket](https://youtrack.jetbrains.com/issue/KT-10978). In my case, [tuning memory config](https://youtrack.jetbrains.com/issue/KT-10978#comment=27-1519260) of IntelliJ IDEA worked. * Q) How can I run or debug app from IntelliJ IDEA? -* A) Use IntelliJ IDEA 2017.1 and run or debug Application.kt. + * A) Use IntelliJ IDEA 2017.1 and run or debug Application.kt. ## Docker Support From eff6d539d13c0f8c972893aec77e18d0bfdcd966 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 09:35:17 +0700 Subject: [PATCH 02/13] use cobertura instead of jacoco I want to exclude hashCode() and etc which are automatically generated by Kotlin data class. --- README.md | 2 +- build.gradle | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 98d21b5..a7175b8 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ After you migrated DB. ## Frequently asked questions -* Q) IntelliJ IDEA is very slow when you use jOOQ with Kotlin. +* Q) IntelliJ IDEA is very slow when I use jOOQ with Kotlin. * A) Refer [this ticket](https://youtrack.jetbrains.com/issue/KT-10978). In my case, [tuning memory config](https://youtrack.jetbrains.com/issue/KT-10978#comment=27-1519260) of IntelliJ IDEA worked. * Q) How can I run or debug app from IntelliJ IDEA? diff --git a/build.gradle b/build.gradle index 1cab3c8..3be710a 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,6 @@ buildscript { repositories { jcenter() maven { url "https://plugins.gradle.org/m2/" } - maven { url 'http://dl.bintray.com/kotlin/kotlin-eap-1.1' } } dependencies { classpath "org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}" @@ -28,7 +27,7 @@ buildscript { } plugins { - id 'jacoco' + id 'net.saliman.cobertura' version '2.4.0' id 'com.github.kt3k.coveralls' version '2.8.1' } apply plugin: 'java' @@ -47,7 +46,6 @@ sourceCompatibility = 1.8 repositories { jcenter() - maven { url 'http://dl.bintray.com/kotlin/kotlin-eap-1.1' } } dependencies { @@ -75,15 +73,13 @@ dependencies { testCompile group: 'com.beust', name: 'klaxon', version: '0.27' } -jacocoTestReport { - reports { - xml.enabled = true // coveralls plugin depends on xml format report - html.enabled = true - } +cobertura { + coverageFormats = ['html', 'xml'] + coverageExcludes = ['.*com.myapp.generated.*'] } flyway { - url = 'jdbc:h2:./db/dev;MODE=MySQL' + url = 'jdbc:h2:./db/tmp;MODE=MySQL' user = 'sa' password = '' } @@ -95,7 +91,7 @@ task jooqGenerate { .configuration('xmlns': "http://www.jooq.org/xsd/jooq-codegen-${jooqVersion}.xsd") { jdbc { driver 'org.h2.Driver' - url 'jdbc:h2:./db/dev;MODE=MySQL' + url 'jdbc:h2:./db/tmp;MODE=MySQL' user 'sa' password '' } From 17c9ad928115e73fe59173d4a379b028b3c530dc Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 09:43:17 +0700 Subject: [PATCH 03/13] fix travis yml to use cobertura --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 180c8ff..e090e82 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ install: - aws --version script: - - ./gradlew clean jooqGenerate build jacocoTestReport coveralls + - ./gradlew clean jooqGenerate build cobertura coveralls before_deploy: # Parse branch name and determine an environment to deploy From 4f0973f7a5d8eb884ee1a0074fea2fba44fb0d1b Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 10:58:55 +0700 Subject: [PATCH 04/13] send coverage --- .travis.yml | 2 +- build.gradle | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index e090e82..8108263 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ install: - aws --version script: - - ./gradlew clean jooqGenerate build cobertura coveralls + - ./gradlew clean jooqGenerate build cobertura coveralls | grep -v DEBUG # I don't know why cobertura is DEBUG mode, though it is INFO level in my PC. before_deploy: # Parse branch name and determine an environment to deploy diff --git a/build.gradle b/build.gradle index 3be710a..2d9a799 100644 --- a/build.gradle +++ b/build.gradle @@ -76,6 +76,7 @@ dependencies { cobertura { coverageFormats = ['html', 'xml'] coverageExcludes = ['.*com.myapp.generated.*'] + coverageSourceDirs = sourceSets.main.kotlin.srcDirs } flyway { From 7ef634c6de51296d719fd745b4cdcaa9ce9444a7 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 11:25:07 +0700 Subject: [PATCH 05/13] try openjdk --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8108263..59dca35 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,8 @@ sudo: required dist: trusty language: java jdk: -- oraclejdk8 +#- oraclejdk8 +- openjdk8 services: - docker @@ -13,7 +14,7 @@ install: - aws --version script: - - ./gradlew clean jooqGenerate build cobertura coveralls | grep -v DEBUG # I don't know why cobertura is DEBUG mode, though it is INFO level in my PC. + - ./gradlew clean jooqGenerate build cobertura coveralls before_deploy: # Parse branch name and determine an environment to deploy From fe493617741665a875c3561661b07e5130499e84 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 11:36:59 +0700 Subject: [PATCH 06/13] try jdk7 --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 59dca35..15450b8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,8 @@ dist: trusty language: java jdk: #- oraclejdk8 -- openjdk8 +- oraclejdk7 +#- openjdk8 services: - docker From 887f4990f09cbd09e6b4665949f6451993357a0a Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 11:38:49 +0700 Subject: [PATCH 07/13] try some options for Cobertura --- .travis.yml | 4 ++-- build.gradle | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 15450b8..abcb753 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,8 @@ sudo: required dist: trusty language: java jdk: -#- oraclejdk8 -- oraclejdk7 +- oraclejdk8 +#- oraclejdk7 #- openjdk8 services: - docker diff --git a/build.gradle b/build.gradle index 2d9a799..3453808 100644 --- a/build.gradle +++ b/build.gradle @@ -77,6 +77,8 @@ cobertura { coverageFormats = ['html', 'xml'] coverageExcludes = ['.*com.myapp.generated.*'] coverageSourceDirs = sourceSets.main.kotlin.srcDirs + coverageIgnoreTrivial = true + coverageIgnores = [] } flyway { From 614c6cc057d837f502d4fc2c63ad28eda4c4ae65 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 11:47:31 +0700 Subject: [PATCH 08/13] add testRuntime --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 3453808..e8a6f97 100644 --- a/build.gradle +++ b/build.gradle @@ -71,6 +71,7 @@ dependencies { testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2' testCompile group: 'com.nhaarman', name: 'mockito-kotlin', version: '1.1.0' testCompile group: 'com.beust', name: 'klaxon', version: '0.27' + testRuntime "org.slf4j:slf4j-api:1.7.10" // for gradle-cobertura-plugin } cobertura { From e747c630fa7cde8b439a05dffc4b1a4bbcf2419b Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 11:55:32 +0700 Subject: [PATCH 09/13] remove coverage spport once... --- .travis.yml | 4 +--- build.gradle | 13 ------------- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index abcb753..58d73fc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,8 +3,6 @@ dist: trusty language: java jdk: - oraclejdk8 -#- oraclejdk7 -#- openjdk8 services: - docker @@ -15,7 +13,7 @@ install: - aws --version script: - - ./gradlew clean jooqGenerate build cobertura coveralls + - ./gradlew clean jooqGenerate build before_deploy: # Parse branch name and determine an environment to deploy diff --git a/build.gradle b/build.gradle index e8a6f97..6a85aa2 100644 --- a/build.gradle +++ b/build.gradle @@ -26,10 +26,6 @@ buildscript { } } -plugins { - id 'net.saliman.cobertura' version '2.4.0' - id 'com.github.kt3k.coveralls' version '2.8.1' -} apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'kotlin-spring' @@ -71,15 +67,6 @@ dependencies { testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2' testCompile group: 'com.nhaarman', name: 'mockito-kotlin', version: '1.1.0' testCompile group: 'com.beust', name: 'klaxon', version: '0.27' - testRuntime "org.slf4j:slf4j-api:1.7.10" // for gradle-cobertura-plugin -} - -cobertura { - coverageFormats = ['html', 'xml'] - coverageExcludes = ['.*com.myapp.generated.*'] - coverageSourceDirs = sourceSets.main.kotlin.srcDirs - coverageIgnoreTrivial = true - coverageIgnores = [] } flyway { From 4769d5b0f58794528e93ce3b6d8fbaa269dfd7d8 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Thu, 2 Mar 2017 14:15:19 +0700 Subject: [PATCH 10/13] kotlin 1.1.0 release --- build.gradle | 2 +- src/main/kotlin/com/myapp/auth/SecurityContextServiceImpl.kt | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 6a85aa2..4e5c513 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ import javax.xml.bind.JAXB buildscript { ext { - kotlinVersion = '1.0.6' + kotlinVersion = '1.1.0' springBootVersion = '1.5.1.RELEASE' jooqVersion = '3.9.0' flywayVersion = '4.1.1' diff --git a/src/main/kotlin/com/myapp/auth/SecurityContextServiceImpl.kt b/src/main/kotlin/com/myapp/auth/SecurityContextServiceImpl.kt index 65b7ce6..e24aa9f 100644 --- a/src/main/kotlin/com/myapp/auth/SecurityContextServiceImpl.kt +++ b/src/main/kotlin/com/myapp/auth/SecurityContextServiceImpl.kt @@ -5,10 +5,8 @@ import com.myapp.domain.UserDetailsImpl import org.slf4j.LoggerFactory import org.springframework.security.core.context.SecurityContextHolder import org.springframework.stereotype.Service -import org.springframework.transaction.annotation.Transactional @Service -@Transactional class SecurityContextServiceImpl : SecurityContextService { @Suppress("unused") From 541e445180d358e80e3e80d9d013b60406f2a30e Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sun, 19 Mar 2017 16:30:47 +0700 Subject: [PATCH 11/13] upgraded spring boot and kotlin --- build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4e5c513..0976234 100644 --- a/build.gradle +++ b/build.gradle @@ -5,8 +5,8 @@ import javax.xml.bind.JAXB buildscript { ext { - kotlinVersion = '1.1.0' - springBootVersion = '1.5.1.RELEASE' + kotlinVersion = '1.1.1' + springBootVersion = '1.5.2.RELEASE' jooqVersion = '3.9.0' flywayVersion = '4.1.1' h2Version = '1.4.193' From f63dafc8f5f65af7284a1bfc65a08dec082a8e1b Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sun, 19 Mar 2017 16:46:59 +0700 Subject: [PATCH 12/13] jooq 3.9.1 --- build.gradle | 49 ++++++++++++++++++++----------------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/build.gradle b/build.gradle index 0976234..d202afc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,11 @@ -import groovy.xml.MarkupBuilder import org.jooq.util.GenerationTool - -import javax.xml.bind.JAXB +import org.jooq.util.jaxb.* buildscript { ext { kotlinVersion = '1.1.1' springBootVersion = '1.5.2.RELEASE' - jooqVersion = '3.9.0' + jooqVersion = '3.9.1' flywayVersion = '4.1.1' h2Version = '1.4.193' swaggerVersion = '2.6.1' @@ -77,31 +75,24 @@ flyway { task jooqGenerate { doLast { - def writer = new StringWriter() - new MarkupBuilder(writer) - .configuration('xmlns': "http://www.jooq.org/xsd/jooq-codegen-${jooqVersion}.xsd") { - jdbc { - driver 'org.h2.Driver' - url 'jdbc:h2:./db/tmp;MODE=MySQL' - user 'sa' - password '' - } - generator { - database { - inputSchema 'public' - outputSchemaToDefault 'true' - } - generate { - } - target { - packageName 'com.myapp.generated' - directory 'src/main/java' - } - } - } - GenerationTool.generate( - JAXB.unmarshal(new StringReader(writer.toString()), org.jooq.util.jaxb.Configuration.class) - ) + Configuration configuration = new Configuration() + .withJdbc(new Jdbc() + .withDriver("org.h2.Driver") + .withUrl("jdbc:h2:./db/tmp;MODE=MySQL") + .withUser("sa") + .withPassword("") + ) + .withGenerator(new Generator() + .withDatabase(new Database() + .withInputSchema("public") + .withOutputSchemaToDefault(true) + ) + .withTarget(new Target() + .withPackageName("com.myapp.generated") + .withDirectory("src/main/java") + ) + ) + GenerationTool.generate(configuration) } } jooqGenerate.dependsOn flywayMigrate From c6daf1df3dcb06813bbeb9096e5a5672c58481a7 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sun, 19 Mar 2017 17:00:56 +0700 Subject: [PATCH 13/13] updated dependencies --- build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index d202afc..5dcbd1e 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,8 @@ buildscript { kotlinVersion = '1.1.1' springBootVersion = '1.5.2.RELEASE' jooqVersion = '3.9.1' - flywayVersion = '4.1.1' - h2Version = '1.4.193' + flywayVersion = '4.1.2' + h2Version = '1.4.194' swaggerVersion = '2.6.1' } repositories { @@ -50,21 +50,21 @@ dependencies { compile group: 'org.springframework.boot', name: 'spring-boot-devtools' compile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib', version: kotlinVersion compile group: 'org.jetbrains.kotlin', name: 'kotlin-reflect', version: kotlinVersion - compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.8.6' + compile group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.8.7' compile group: 'org.jooq', name: 'jooq', version: jooqVersion compile group: 'org.flywaydb', name: 'flyway-core', version: flywayVersion compile group: 'com.zaxxer', name: 'HikariCP' compile group: 'io.jsonwebtoken', name: 'jjwt', version: '0.7.0' compile group: 'io.springfox', name: 'springfox-swagger2', version: swaggerVersion compile group: 'io.springfox', name: 'springfox-swagger-ui', version: swaggerVersion - compile group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '1.11' + compile group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '1.12' runtime group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version: '1.5.8' runtime group: 'com.h2database', name: 'h2', version: h2Version testCompile group: 'org.springframework.boot', name: 'spring-boot-starter-test' testCompile group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit', version: kotlinVersion testCompile group: 'org.assertj', name: 'assertj-core', version: '3.6.2' testCompile group: 'com.nhaarman', name: 'mockito-kotlin', version: '1.1.0' - testCompile group: 'com.beust', name: 'klaxon', version: '0.27' + testCompile group: 'com.beust', name: 'klaxon', version: '0.31' } flyway {