Skip to content

Commit b324a0f

Browse files
authored
annotate KSP generated classes with @generated (#1400)
* annotate generated classes with @generated * annotate fields with @JvmField
1 parent 2a029e2 commit b324a0f

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

querydsl-tooling/querydsl-ksp-codegen/src/main/kotlin/com/querydsl/ksp/codegen/QueryModelRenderer.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.querydsl.ksp.codegen
22

3+
import com.querydsl.core.annotations.Generated
34
import com.querydsl.core.types.ConstructorExpression
45
import com.querydsl.core.types.Path
56
import com.querydsl.core.types.PathMetadata
@@ -16,6 +17,7 @@ object QueryModelRenderer {
1617
.setPrimaryConstructor(model)
1718
.setEntitySuperclass(model)
1819
.addSuperConstructorParameter(model)
20+
.addAnnotation(Generated::class)
1921
.build()
2022

2123
else -> TypeSpec.classBuilder(model.className)
@@ -28,6 +30,7 @@ object QueryModelRenderer {
2830
.constructorForTypeMetadata(model)
2931
.addInitializerCompanionObject(model)
3032
.addInheritedProperties(model)
33+
.addAnnotation(Generated::class)
3134
.build()
3235
}
3336
}
@@ -68,7 +71,13 @@ object QueryModelRenderer {
6871

6972
private fun TypeSpec.Builder.addProperties(model: QueryModel): TypeSpec.Builder {
7073
model.properties
71-
.map { renderProperty(it) }
74+
.map {
75+
val propertySpec = renderProperty(it)
76+
when {
77+
propertySpec.delegated -> propertySpec
78+
else -> propertySpec.toBuilder().addAnnotation(JvmField::class).build()
79+
}
80+
}
7281
.forEach { addProperty(it) }
7382
return this
7483
}

querydsl-tooling/querydsl-ksp-codegen/src/test/kotlin/RenderTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ class RenderTest {
115115
val code = typeSpec.toString()
116116
code.assertCompiles()
117117
code.assertLines("""
118+
@com.querydsl.core.annotations.Generated
118119
public class QArticle : com.querydsl.core.types.dsl.EntityPathBase<Article<*>> {
119120
public constructor(path: com.querydsl.core.types.Path<out Article<*>>) : super(path.type, path.metadata)
120121
@@ -348,4 +349,4 @@ class Level1 {
348349
class Level2 {
349350
class Level3
350351
}
351-
}
352+
}

0 commit comments

Comments
 (0)