@@ -5,43 +5,44 @@ import org.gradle.api.file.DirectoryProperty
55import org.gradle.api.model.ObjectFactory
66import org.gradle.api.provider.ListProperty
77import org.gradle.api.provider.Property
8- import org.gradle.api.tasks.Input
9- import org.gradle.api.tasks.InputDirectory
10- import org.gradle.api.tasks.Optional
11- import org.gradle.api.tasks.OutputDirectory
12- import org.gradle.api.tasks.TaskAction
8+ import org.gradle.api.tasks.*
9+ import org.modelix.metamodel.generator.*
1310import org.modelix.model.data.LanguageData
14- import org.modelix.metamodel.generator.LanguageSet
15- import org.modelix.metamodel.generator.MetaModelGenerator
16- import org.modelix.metamodel.generator.NameConfig
17- import org.modelix.metamodel.generator.TypescriptMMGenerator
18- import org.modelix.metamodel.generator.process
1911import javax.inject.Inject
2012
13+ @CacheableTask
2114abstract class GenerateMetaModelSources @Inject constructor(of : ObjectFactory ) : DefaultTask() {
2215 @get:InputDirectory
16+ @PathSensitive(PathSensitivity .RELATIVE )
2317 val exportedLanguagesDir: DirectoryProperty = of.directoryProperty()
18+
2419 @get:OutputDirectory
2520 @Optional
2621 val kotlinOutputDir: DirectoryProperty = of.directoryProperty()
22+
2723 @get:OutputDirectory
2824 @Optional
2925 val typescriptOutputDir: DirectoryProperty = of.directoryProperty()
26+
3027 @get:Input
3128 val includedNamespaces: ListProperty <String > = of.listProperty(String ::class .java)
29+
3230 @get:Input
3331 val includedLanguages: ListProperty <String > = of.listProperty(String ::class .java)
32+
3433 @get:Input
3534 val includedConcepts: ListProperty <String > = of.listProperty(String ::class .java)
35+
3636 @get:Input
3737 @Optional
3838 val registrationHelperName: Property <String > = of.property(String ::class .java)
39+
3940 @get: Input
4041 val nameConfig: Property <NameConfig > = of.property(NameConfig ::class .java)
4142
4243 @TaskAction
4344 fun generate () {
44- var languages: LanguageSet = LanguageSet (exportedLanguagesDir.get().asFile.walk()
45+ var languages = LanguageSet (exportedLanguagesDir.get().asFile.walk()
4546 .filter { it.extension.lowercase() == " json" }
4647 .map { LanguageData .fromJson(it.readText()) }
4748 .toList())
0 commit comments