@@ -56,7 +56,7 @@ import org.modelix.modelql.typed.TypedModelQL
56
56
import java.nio.file.Path
57
57
import kotlin.reflect.KClass
58
58
59
- class MetaModelGenerator (val outputDir : Path , val nameConfig : NameConfig = NameConfig ()) {
59
+ class MetaModelGenerator (val outputDir : Path , val nameConfig : NameConfig = NameConfig (), val modelqlOutputDir : Path ? = null ) {
60
60
var alwaysUseNonNullableProperties: Boolean = true
61
61
62
62
private val headerComment = " \n generated by modelix model-api-gen \n "
@@ -128,16 +128,18 @@ class MetaModelGenerator(val outputDir: Path, val nameConfig: NameConfig = NameC
128
128
FileSpec .builder(language.generatedClassName().packageName, language.generatedClassName().simpleName)
129
129
val file = builder.addFileComment(headerComment)
130
130
.addType(generateLanguage(language)).build()
131
+ file.write()
132
+
131
133
for (enum in language.getEnums()) {
132
134
generateEnumFile(enum)
133
135
}
136
+
134
137
for (concept in language.getConcepts()) {
135
138
generateConceptFile(concept)
136
- if (concept.getOwnRoles().isNotEmpty()) {
139
+ if (modelqlOutputDir != null && concept.getOwnRoles().isNotEmpty()) {
137
140
generateModelQLFile(concept)
138
141
}
139
142
}
140
- file.write()
141
143
}
142
144
}
143
145
@@ -469,7 +471,7 @@ class MetaModelGenerator(val outputDir: Path, val nameConfig: NameConfig = NameC
469
471
}
470
472
}
471
473
}
472
- .build().write( )
474
+ .build().writeTo(modelqlOutputDir !! )
473
475
}
474
476
475
477
private fun generateConceptObject (concept : ProcessedConcept ): TypeSpec {
0 commit comments