Skip to content

Commit ee46c36

Browse files
author
Oleksandr Dzhychko
authored
Merge pull request #200 from modelix/issue/MODELIX-467
MODELIX-467 Caching in model-api-gen does not add new concepts on rebuild
2 parents 6e3325f + affbf19 commit ee46c36

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

model-api-gen-gradle/src/main/kotlin/org/modelix/metamodel/gradle/GenerateAntScriptForMpsMetaModelExport.kt

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,28 @@
11
package org.modelix.metamodel.gradle
22

33
import org.gradle.api.DefaultTask
4-
import org.gradle.api.file.DirectoryProperty
54
import org.gradle.api.file.RegularFileProperty
65
import org.gradle.api.model.ObjectFactory
76
import org.gradle.api.provider.ListProperty
87
import org.gradle.api.provider.Property
98
import org.gradle.api.tasks.*
109
import org.gradle.api.tasks.Optional
10+
import java.io.File
1111
import java.util.*
1212
import javax.inject.Inject
1313

1414
@CacheableTask
1515
abstract class GenerateAntScriptForMpsMetaModelExport @Inject constructor(of: ObjectFactory) : DefaultTask() {
16-
@get:InputDirectory
17-
@PathSensitive(PathSensitivity.RELATIVE)
18-
val mpsHome: DirectoryProperty = of.directoryProperty()
16+
@Input
17+
val mpsHome: Property<String> = of.property(String::class.java)
1918

2019
@get:OutputFile
2120
val antScriptFile: RegularFileProperty = of.fileProperty()
2221

23-
@InputDirectory
24-
@PathSensitive(PathSensitivity.RELATIVE)
22+
@Input
2523
val exporterDir: Property<String> = of.property(String::class.java)
2624

27-
@InputFiles
28-
@PathSensitive(PathSensitivity.RELATIVE)
25+
@Input
2926
val moduleFolders: ListProperty<String> = of.listProperty(String::class.java)
3027

3128
@Input
@@ -75,7 +72,7 @@ abstract class GenerateAntScriptForMpsMetaModelExport @Inject constructor(of: Ob
7572
<taskdef resource="jetbrains/mps/build/ant/antlib.xml" classpathref="path.mps.ant.path" />
7673
</target>
7774
78-
<target name="export-languages" depends="declare-mps-tasks">
75+
<target name="export-languages" depends="clean,declare-mps-tasks">
7976
<echo message="Running export of languages" />
8077
<runMPS solution="e52a4421-48a2-4de1-8327-d9414e799c67(org.modelix.metamodel.export)" startClass="org.modelix.metamodel.export.CommandlineExporter" startMethod="${if (exportModulesFilter.isPresent) "exportBoth" else "exportLanguages"}">
8178
<library file="${getMpsLanguagesDir().absolutePath}" />
@@ -101,8 +98,8 @@ abstract class GenerateAntScriptForMpsMetaModelExport @Inject constructor(of: Ob
10198
""".trimIndent())
10299
}
103100

104-
private fun getMpsBuildPropertiesFile() = mpsHome.get().asFile.resolve("build.properties")
105-
private fun getMpsLanguagesDir() = mpsHome.get().asFile.resolve("languages")
101+
private fun getMpsBuildPropertiesFile() = File(mpsHome.get()).resolve("build.properties")
102+
private fun getMpsLanguagesDir() = File(mpsHome.get()).resolve("languages")
106103

107104
private fun getMpsVersion(): String {
108105
val buildPropertiesFile = getMpsBuildPropertiesFile()

model-api-gen-gradle/src/main/kotlin/org/modelix/metamodel/gradle/MetaModelGradlePlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ class MetaModelGradlePlugin: Plugin<Project> {
3232
task.enabled = settings.jsonDir == null
3333
task.dependsOn(downloadExporterDependencies)
3434
task.dependsOn(*settings.taskDependencies.toTypedArray())
35-
task.mpsHome.set(getMpsHome())
35+
task.mpsHome.set(getMpsHome()?.absolutePath)
3636
task.heapSize.set(settings.mpsHeapSize)
3737
if (settings.includedModules.isNotEmpty()) task.exportModulesFilter.set(settings.includedModules.joinToString(","))
3838
task.antScriptFile.set(getAntScriptFile())

0 commit comments

Comments
 (0)