Skip to content

Commit d9b7cb3

Browse files
authored
enh(api-gen): generate kdoc from api json (#534)
* enh(api-gen): generate kdoc from api json
1 parent 39dc302 commit d9b7cb3

File tree

842 files changed

+69499
-44078
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

842 files changed

+69499
-44078
lines changed

kt/api-generator/src/main/kotlin/godot/codegen/constants/JvmReservedMethods.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ val jvmReservedMethods = listOf(
1414
hashCompatibility = listOf(),
1515
returnValue = null,
1616
returnType = null,
17-
arguments = null
17+
arguments = null,
18+
description = null,
19+
briefDescription = null
1820
),
1921
""
2022
)

kt/api-generator/src/main/kotlin/godot/codegen/generationEntry.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,16 @@ import godot.codegen.repositories.*
1111
import godot.codegen.repositories.impl.*
1212
import godot.codegen.services.*
1313
import godot.codegen.services.impl.*
14-
import godot.docgen.DocGen
1514
import godot.tools.common.constants.GENERATED_COMMENT
1615
import java.io.File
1716

1817
fun File.generateApiFrom(jsonSource: File, docsDir: File? = null) {
19-
val classDocs = docsDir?.let { DocGen.deserializeDoc(it) } ?: mapOf()
2018
val apiDescription = ObjectMapper().readValue(jsonSource, object : TypeReference<ApiDescription>() {})
2119

2220
val classRepository: ClassRepository = JsonClassRepository(apiDescription.classes.toEnriched())
2321
val singletonRepository: SingletonRepository = JsonSingletonRepository(apiDescription.singletons.toEnriched())
2422
val globalEnumRepository: GlobalEnumRepository = JsonGlobalEnumRepository(apiDescription.globalEnums.toEnriched())
2523
val coreTypeEnumRepository: CoreTypeEnumRepository = KnownCoreTypeEnumRepository()
26-
val docRepository: IDocRepository = DocRepository(classDocs)
2724
val nativeStructureRepository = NativeStructureRepository(apiDescription.nativeStructures.toEnriched())
2825

2926
val classGraphService: IClassGraphService = ClassGraphService(classRepository)
@@ -33,7 +30,7 @@ fun File.generateApiFrom(jsonSource: File, docsDir: File? = null) {
3330
classGraphService
3431
)
3532
val enumService: IEnumService = EnumService(globalEnumRepository, coreTypeEnumRepository, classService)
36-
val generationService: IGenerationService = GenerationService(docRepository, classGraphService, enumService, nativeStructureRepository)
33+
val generationService: IGenerationService = GenerationService(classGraphService, enumService, nativeStructureRepository)
3734

3835
classService.findGetSetMethodsAndUpdateProperties()
3936

kt/api-generator/src/main/kotlin/godot/codegen/models/BuiltinClass.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ data class BuiltinClass @JsonCreator constructor (
1313
@JsonProperty("members") val members: List<Member>?,
1414
@JsonProperty("constants") val constants: List<Constant>?,
1515
@JsonProperty("enums") val enums: List<Enum>?,
16-
@JsonProperty("indexing_return_type") val indexingReturnType: String?
16+
@JsonProperty("indexing_return_type") val indexingReturnType: String?,
17+
@JsonProperty("description") val description: String?,
18+
@JsonProperty("brief_description") val briefDescription: String?
1719
)

kt/api-generator/src/main/kotlin/godot/codegen/models/Class.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ data class Class @JsonCreator constructor (
1313
@JsonProperty("methods") val methods : List<Method>?,
1414
@JsonProperty("properties") val properties: List<Property>?,
1515
@JsonProperty("constants") val constants: List<Constant>?,
16-
@JsonProperty("signals") val signals : List<Signal>?
16+
@JsonProperty("signals") val signals : List<Signal>?,
17+
@JsonProperty("description") val description: String?,
18+
@JsonProperty("brief_description") val briefDescription: String?
1719
) {
1820
fun copy(newName: String) = Class(
1921
newName,
@@ -25,6 +27,8 @@ data class Class @JsonCreator constructor (
2527
methods,
2628
properties,
2729
constants,
28-
signals
30+
signals,
31+
description,
32+
briefDescription
2933
)
3034
}

kt/api-generator/src/main/kotlin/godot/codegen/models/Constant.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ import godot.codegen.traits.TypedTrait
77
data class Constant @JsonCreator constructor(
88
@JsonProperty("name") val name: String,
99
@JsonProperty("type") val type: String?,
10-
@JsonProperty("value") val value: String
10+
@JsonProperty("value") val value: String,
11+
@JsonProperty("description") val description: String?,
12+
@JsonProperty("brief_description") val briefDescription: String?
1113
)

kt/api-generator/src/main/kotlin/godot/codegen/models/Constructor.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty
55

66
data class Constructor @JsonCreator constructor (
77
@JsonProperty("index") val index : Int,
8-
@JsonProperty("arguments") val arguments: List<Argument>?
8+
@JsonProperty("arguments") val arguments: List<Argument>?,
9+
@JsonProperty("description") val description: String?,
10+
@JsonProperty("brief_description") val briefDescription: String?
911
)

kt/api-generator/src/main/kotlin/godot/codegen/models/EnumValue.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package godot.codegen.models
22

33
import com.fasterxml.jackson.annotation.JsonCreator
44
import com.fasterxml.jackson.annotation.JsonProperty
5+
import godot.codegen.traits.IDocumented
56

67
data class EnumValue @JsonCreator constructor(
78
@JsonProperty("name") val name : String,
8-
@JsonProperty("value") val value : Long
9-
)
9+
@JsonProperty("value") val value : Long,
10+
@JsonProperty("description") override val description: String? = null
11+
) : IDocumented

kt/api-generator/src/main/kotlin/godot/codegen/models/Member.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,7 @@ import godot.codegen.traits.TypedTrait
66

77
data class Member @JsonCreator constructor(
88
@JsonProperty("name") val name: String,
9-
@JsonProperty("type") override val type: String
9+
@JsonProperty("type") override val type: String,
10+
@JsonProperty("description") val description: String?,
11+
@JsonProperty("brief_description") val briefDescription: String?
1012
) : TypedTrait

kt/api-generator/src/main/kotlin/godot/codegen/models/Method.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,7 @@ data class Method @JsonCreator constructor(
1313
@JsonProperty("hash_compatibility") val hashCompatibility: List<Long>?,
1414
@JsonProperty("return_value") val returnValue : ReturnValue?,
1515
@JsonProperty("return_type") val returnType: String?,
16-
@JsonProperty("arguments") val arguments : List<Argument>?
16+
@JsonProperty("arguments") val arguments : List<Argument>?,
17+
@JsonProperty("description") val description: String?,
18+
@JsonProperty("brief_description") val briefDescription: String?
1719
)

kt/api-generator/src/main/kotlin/godot/codegen/models/Operator.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@ package godot.codegen.models
22

33
import com.fasterxml.jackson.annotation.JsonCreator
44
import com.fasterxml.jackson.annotation.JsonProperty
5+
import godot.codegen.traits.IDocumented
56

67
data class Operator @JsonCreator constructor(
78
@JsonProperty("name") val name : String,
89
@JsonProperty("right_type") val rightType : String?,
9-
@JsonProperty("return_type") val returnType : String
10+
@JsonProperty("return_type") val returnType : String,
11+
@JsonProperty("description") val description: String?,
12+
@JsonProperty("brief_description") val briefDescription: String?
1013
)

0 commit comments

Comments
 (0)