Skip to content

Commit a1c008d

Browse files
Merge pull request #576 from kotlin-orm/dev
Release 4.1.1
2 parents f258717 + a028e14 commit a1c008d

File tree

18 files changed

+86
-88
lines changed

18 files changed

+86
-88
lines changed

PACKAGES.md

-52
This file was deleted.

build.gradle.kts

+6-12
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,11 @@
22
group = "org.ktorm"
33
version = file("ktorm.version").readLines()[0]
44

5-
task("printClasspath") {
6-
doLast {
7-
val jars = subprojects
8-
.map { it.configurations["compileClasspath"] }
9-
.flatMap { it.files }
10-
.filterNotTo(HashSet()) { it.name.contains("ktorm") }
11-
.onEach { println(it.name) }
5+
plugins {
6+
id("ktorm.dokka")
7+
}
128

13-
val file = file("build/ktorm.classpath")
14-
file.parentFile.mkdirs()
15-
file.writeText(jars.joinToString(File.pathSeparator) { it.absolutePath })
16-
println("Classpath written to build/ktorm.classpath")
17-
}
9+
repositories {
10+
mavenCentral()
11+
gradlePluginPortal()
1812
}

buildSrc/build.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ repositories {
1010

1111
dependencies {
1212
api("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.23")
13+
api("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20")
14+
api("org.jetbrains.dokka:dokka-base:1.9.20")
1315
api("org.moditect:moditect:1.0.0.RC1")
1416
api("io.gitlab.arturbosch.detekt:detekt-gradle-plugin:1.23.6")
1517
}

buildSrc/src/main/kotlin/ktorm.base.gradle.kts

+5
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,12 @@ java {
3030
}
3131

3232
tasks {
33+
// Lifecycle task for code generation.
34+
val codegen by registering { /* do nothing */ }
35+
3336
compileKotlin {
37+
dependsOn(codegen)
38+
3439
kotlinOptions {
3540
jvmTarget = "1.8"
3641
allWarningsAsErrors = true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
plugins {
3+
id("org.jetbrains.dokka")
4+
}
5+
6+
tasks.named<org.jetbrains.dokka.gradle.DokkaMultiModuleTask>("dokkaHtmlMultiModule") {
7+
val tmplDir = System.getProperty("dokka.templatesDir")
8+
if (!tmplDir.isNullOrEmpty()) {
9+
pluginConfiguration<org.jetbrains.dokka.base.DokkaBase, org.jetbrains.dokka.base.DokkaBaseConfiguration> {
10+
templatesDir = File(tmplDir)
11+
}
12+
}
13+
}
14+
15+
subprojects {
16+
apply(plugin = "org.jetbrains.dokka")
17+
18+
tasks.dokkaJavadoc {
19+
dependsOn("codegen")
20+
21+
dokkaSourceSets.named("main") {
22+
suppressGeneratedFiles.set(false)
23+
}
24+
}
25+
26+
tasks.named<org.jetbrains.dokka.gradle.DokkaTaskPartial>("dokkaHtmlPartial") {
27+
dependsOn("codegen")
28+
29+
val tmplDir = System.getProperty("dokka.templatesDir")
30+
if (!tmplDir.isNullOrEmpty()) {
31+
pluginConfiguration<org.jetbrains.dokka.base.DokkaBase, org.jetbrains.dokka.base.DokkaBaseConfiguration> {
32+
templatesDir = File(tmplDir)
33+
}
34+
}
35+
36+
dokkaSourceSets.named("main") {
37+
suppressGeneratedFiles.set(false)
38+
sourceLink {
39+
localDirectory.set(file("src/main/kotlin"))
40+
remoteUrl.set(java.net.URL("https://github.com/kotlin-orm/ktorm/blob/master/${project.name}/src/main/kotlin"))
41+
remoteLineSuffix.set("#L")
42+
}
43+
}
44+
}
45+
}

buildSrc/src/main/kotlin/ktorm.publish.gradle.kts

+5-1
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ plugins {
33
id("kotlin")
44
id("signing")
55
id("maven-publish")
6+
id("org.jetbrains.dokka")
67
}
78

89
val jarSources by tasks.registering(Jar::class) {
9-
archiveClassifier.set("sources")
10+
dependsOn("codegen")
1011
from(sourceSets.main.map { it.allSource })
12+
archiveClassifier.set("sources")
1113
}
1214

1315
val jarJavadoc by tasks.registering(Jar::class) {
16+
dependsOn(tasks.dokkaJavadoc)
17+
from(tasks.dokkaJavadoc.flatMap { it.outputDirectory })
1418
archiveClassifier.set("javadoc")
1519
}
1620

buildSrc/src/main/kotlin/ktorm.tuples-codegen.gradle.kts

+1-4
Original file line numberDiff line numberDiff line change
@@ -348,10 +348,7 @@ val generateTuples by tasks.registering {
348348
}
349349

350350
tasks {
351-
compileKotlin {
352-
dependsOn(generateTuples)
353-
}
354-
"jarSources" {
351+
"codegen" {
355352
dependsOn(generateTuples)
356353
}
357354
}

detekt.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -402,7 +402,7 @@ style:
402402
active: true
403403
maxJumpCount: 2
404404
MagicNumber:
405-
active: true
405+
active: false
406406
ignoreNumbers: ['-1', '0', '1', '2', '3', '60']
407407
ignoreHashCodeFunction: true
408408
ignorePropertyDeclaration: false

ktorm-core/src/main/kotlin/org/ktorm/schema/SqlTypes.kt

-1
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,6 @@ public fun BaseTable<*>.yearMonth(name: String): Column<YearMonth> {
450450
/**
451451
* [SqlType] implementation used to save [YearMonth] instances, formatting them to strings with pattern `yyyy-MM`.
452452
*/
453-
@Suppress("MagicNumber")
454453
public object YearMonthSqlType : SqlType<YearMonth>(Types.VARCHAR, "varchar") {
455454
private val formatter = DateTimeFormatterBuilder()
456455
.appendValue(ChronoField.YEAR, 4, 10, SignStyle.EXCEEDS_PAD)

ktorm-jackson/ktorm-jackson.gradle.kts

+1-4
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,7 @@ val generatePackageVersion by tasks.registering(Copy::class) {
2323
}
2424

2525
tasks {
26-
compileKotlin {
27-
dependsOn(generatePackageVersion)
28-
}
29-
"jarSources" {
26+
codegen {
3027
dependsOn(generatePackageVersion)
3128
}
3229
}

ktorm-ksp-annotations/src/main/kotlin/org/ktorm/ksp/annotation/Undefined.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public object Undefined {
145145
return defineClass(name, bytes, null)
146146
}
147147

148-
@Suppress("MagicNumber", "NoMultipleSpaces")
148+
@Suppress("NoMultipleSpaces")
149149
private fun generateByteCode(className: ByteArray, superClassName: ByteArray): ByteBuffer {
150150
val buf = ByteBuffer.allocate(1024)
151151
buf.putInt(0xCAFEBABE.toInt()) // magic

ktorm-ksp-compiler/src/main/kotlin/org/ktorm/ksp/compiler/KtormProcessorProvider.kt

+3-2
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ public class KtormProcessorProvider : SymbolProcessorProvider {
6565
val fileSpec = FileGenerator.generate(table, environment)
6666

6767
// Beautify the generated code.
68-
val formattedCode = formatter.format(fileSpec.toString())
68+
val fileName = fileSpec.packageName.replace('.', '/') + "/" + fileSpec.name + ".kt"
69+
val formattedCode = formatter.format(fileName, fileSpec.toString())
6970

7071
// Output the formatted code.
7172
val dependencies = Dependencies(false, *table.getDependencyFiles().toTypedArray())
@@ -88,7 +89,7 @@ public class KtormProcessorProvider : SymbolProcessorProvider {
8889
} catch (_: NoClassDefFoundError) {
8990
}
9091

91-
return CodeFormatter { code -> code }
92+
return CodeFormatter { _, code -> code }
9293
}
9394

9495
private fun TableMetadata.getDependencyFiles(): List<KSFile> {

ktorm-ksp-compiler/src/main/kotlin/org/ktorm/ksp/compiler/formatter/CodeFormatter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ internal fun interface CodeFormatter {
2424
/**
2525
* Format the generated code to the community recommended coding style.
2626
*/
27-
fun format(code: String): String
27+
fun format(fileName: String, code: String): String
2828
}

ktorm-ksp-compiler/src/main/kotlin/org/ktorm/ksp/compiler/formatter/KtLintCodeFormatter.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ internal class KtLintCodeFormatter(val environment: SymbolProcessorEnvironment)
3838
)
3939
)
4040

41-
override fun format(code: String): String {
41+
override fun format(fileName: String, code: String): String {
4242
try {
4343
// Manually fix some code styles before formatting.
4444
val snippet = code

ktorm-ksp-compiler/src/main/kotlin/org/ktorm/ksp/compiler/formatter/StandaloneKtLintCodeFormatter.kt

+11-5
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,25 @@ package org.ktorm.ksp.compiler.formatter
1818

1919
import com.google.devtools.ksp.processing.SymbolProcessorEnvironment
2020
import java.io.File
21+
import java.util.concurrent.TimeUnit
2122

2223
internal class StandaloneKtLintCodeFormatter(val environment: SymbolProcessorEnvironment) : CodeFormatter {
24+
private val logger = environment.logger
2325
private val command = buildCommand()
2426

2527
init {
26-
environment.logger.info("[ktorm-ksp-compiler] init ktlint formatter with command: ${command.joinToString(" ")}")
28+
logger.info("[ktorm-ksp-compiler] init ktlint formatter with command: ${command.joinToString(" ")}")
2729
}
2830

29-
override fun format(code: String): String {
31+
override fun format(fileName: String, code: String): String {
3032
try {
3133
val p = ProcessBuilder(command).start()
3234
p.outputStream.bufferedWriter(Charsets.UTF_8).use { it.write(preprocessCode(code)) }
33-
p.waitFor()
35+
36+
if (!p.waitFor(30, TimeUnit.SECONDS)) {
37+
logger.info("[ktorm-ksp-compiler] ktlint execution timeout, skip code formatting for file: $fileName")
38+
return code
39+
}
3440

3541
val formattedCode = p.inputStream.bufferedReader(Charsets.UTF_8).use { it.readText() }
3642
if (p.exitValue() == 0) {
@@ -43,12 +49,12 @@ internal class StandaloneKtLintCodeFormatter(val environment: SymbolProcessorEnv
4349
} else {
4450
// Exit exceptionally.
4551
val msg = p.errorStream.bufferedReader(Charsets.UTF_8).use { it.readText() }
46-
environment.logger.error("[ktorm-ksp-compiler] ktlint exit with code: ${p.exitValue()}\n$msg")
52+
logger.error("[ktorm-ksp-compiler] ktlint exit with code: ${p.exitValue()}\n$msg")
4753
return code
4854
}
4955
}
5056
} catch (e: Throwable) {
51-
environment.logger.exception(e)
57+
logger.exception(e)
5258
return code
5359
}
5460
}

ktorm-ksp-compiler/src/main/kotlin/org/ktorm/ksp/compiler/generator/PseudoConstructorFunctionGenerator.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ internal object PseudoConstructorFunctionGenerator {
9090
}
9191

9292
if (!prop._type.isMarkedNullable) {
93-
statement += "·?:·error(\"`%1L` should not be null.\")"
93+
statement += "·?:·error(\"`%1L`·should·not·be·null.\")"
9494
}
9595

9696
addStatement(statement, prop.simpleName.asString())

ktorm.version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
4.1.0
1+
4.1.1

settings.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
plugins {
3-
id("com.gradle.enterprise") version("3.14.1")
3+
id("com.gradle.enterprise") version "3.14.1"
44
}
55

66
include("ktorm-core")

0 commit comments

Comments
 (0)