Skip to content

Commit b45c1c1

Browse files
authored
Merge pull request #119 from modelix/feature/model-api-gen-enum-support
MODELIX-433 Code generator lacks support for enums
2 parents 64e4645 + c40af11 commit b45c1c1

File tree

108 files changed

+547
-51061
lines changed

Some content is hidden

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

108 files changed

+547
-51061
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project version="4">
33
<component name="MigrationProperties">
4+
<entry key="jetbrains.mps.ide.mpsmigration.v182.ReapplyPatternMigration" value="executed" />
5+
<entry key="jetbrains.mps.ide.mpsmigration.v191.SaveAllJavaStubMethodRefsToShortForeignFormat" value="executed" />
6+
<entry key="jetbrains.mps.ide.mpsmigration.v191.UpdateJavaStubMethodRefs" value="executed" />
47
<entry key="jetbrains.mps.ide.mpsmigration.v_2019_3.DefaultFacetExplicitPersistence" value="executed" />
58
</component>
69
</project>

metamodel-export/org.modelix.metamodel.export/models/org.modelix.metamodel.export.mps

Lines changed: 285 additions & 17 deletions
Large diffs are not rendered by default.

metamodel-export/org.modelix.metamodel.export/org.modelix.metamodel.export.msd

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
<sourceRoot location="models" />
66
</modelRoot>
77
<modelRoot contentPath="${module}/lib" type="java_classes">
8-
<sourceRoot location="metamodel-generator.jar" />
9-
<sourceRoot location="metamodel-runtime-jvm.jar" />
108
<sourceRoot location="model-api-jvm.jar" />
119
<sourceRoot location="kaml-jvm.jar" />
1210
<sourceRoot location="kotlin-logging-jvm.jar" />
@@ -20,6 +18,9 @@
2018
<sourceRoot location="kotlinx-serialization-core-jvm.jar" />
2119
<sourceRoot location="kotlinx-serialization-json-jvm.jar" />
2220
<sourceRoot location="snakeyaml-engine.jar" />
21+
<sourceRoot location="model-api-gen-runtime-jvm.jar" />
22+
<sourceRoot location="model-api-gen.jar" />
23+
<sourceRoot location="slf4j-api.jar" />
2324
</modelRoot>
2425
</models>
2526
<facets>
@@ -28,8 +29,6 @@
2829
</facet>
2930
</facets>
3031
<stubModelEntries>
31-
<stubModelEntry path="${module}/lib/metamodel-generator.jar" />
32-
<stubModelEntry path="${module}/lib/metamodel-runtime-jvm.jar" />
3332
<stubModelEntry path="${module}/lib/model-api-jvm.jar" />
3433
<stubModelEntry path="${module}/lib/kaml-jvm.jar" />
3534
<stubModelEntry path="${module}/lib/kotlin-logging-jvm.jar" />
@@ -43,6 +42,9 @@
4342
<stubModelEntry path="${module}/lib/kotlinx-serialization-core-jvm.jar" />
4443
<stubModelEntry path="${module}/lib/kotlinx-serialization-json-jvm.jar" />
4544
<stubModelEntry path="${module}/lib/snakeyaml-engine.jar" />
45+
<stubModelEntry path="${module}/lib/model-api-gen-runtime-jvm.jar" />
46+
<stubModelEntry path="${module}/lib/model-api-gen.jar" />
47+
<stubModelEntry path="${module}/lib/slf4j-api.jar" />
4648
</stubModelEntries>
4749
<sourcePath />
4850
<dependencies>
@@ -62,7 +64,7 @@
6264
<language slang="l:760a0a8c-eabb-4521-8bfd-65db761a9ba3:jetbrains.mps.baseLanguage.logging" version="0" />
6365
<language slang="l:ceab5195-25ea-4f22-9b92-103b95ca8c0c:jetbrains.mps.lang.core" version="2" />
6466
<language slang="l:446c26eb-2b7b-4bf0-9b35-f83fa582753e:jetbrains.mps.lang.modelapi" version="0" />
65-
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="17" />
67+
<language slang="l:7866978e-a0f0-4cc7-81bc-4d213d9375e1:jetbrains.mps.lang.smodel" version="18" />
6668
<language slang="l:9ded098b-ad6a-4657-bfd9-48636cfe8bc3:jetbrains.mps.lang.traceable" version="0" />
6769
</languageVersions>
6870
<dependencyVersions>
@@ -73,7 +75,6 @@
7375
<module reference="fdaaf35f-8ee3-4c37-b09d-9efaeaaa7a41(jetbrains.mps.core.tool.environment)" version="0" />
7476
<module reference="d936855b-48da-4812-a8a0-2bfddd633ac5(jetbrains.mps.lang.behavior.api)" version="0" />
7577
<module reference="ceab5195-25ea-4f22-9b92-103b95ca8c0c(jetbrains.mps.lang.core)" version="0" />
76-
<module reference="9e98f4e2-decf-4e97-bf80-9109e8b759aa(jetbrains.mps.lang.feedback.context)" version="0" />
7778
<module reference="d7eb0a2a-bd50-4576-beae-e4a89db35f20(jetbrains.mps.lang.scopes.runtime)" version="0" />
7879
<module reference="c72da2b9-7cce-4447-8389-f407dc1158b7(jetbrains.mps.lang.structure)" version="0" />
7980
<module reference="e52a4421-48a2-4de1-8327-d9414e799c67(org.modelix.metamodel.export)" version="0" />
Lines changed: 7 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
/*
2-
* This file was generated by the Gradle 'init' task.
3-
*
4-
* This generated file contains a sample Gradle plugin project to get you started.
5-
* For more details take a look at the Writing Custom Plugins chapter in the Gradle
6-
* User Manual available at https://docs.gradle.org/7.5.1/userguide/custom_plugins.html
7-
* This project uses @Incubating APIs which are subject to change.
8-
*/
91

102
plugins {
113
// Apply the Java Gradle plugin development plugin to add support for developing Gradle plugins
@@ -32,19 +24,12 @@ dependencies {
3224
implementation(project(":model-api"))
3325
}
3426

35-
// ------------- Download MPS for the functional test ------------------------------------------------------------------
36-
37-
val mps = configurations.create("mps")
38-
39-
dependencies {
40-
mps("com.jetbrains:mps:2021.3.+")
41-
}
42-
43-
val mpsDir = buildDir.resolve("mps")
44-
45-
val resolveMps by tasks.registering(Sync::class) {
46-
from(mps.resolve().map { zipTree(it) })
47-
into(mpsDir)
27+
gradlePlugin {
28+
// Define the plugin
29+
val mpsMetaModel by plugins.creating {
30+
id = "org.modelix.model-api-gen"
31+
implementationClass = "org.modelix.metamodel.gradle.MetaModelGradlePlugin"
32+
}
4833
}
4934

5035
val writeVersionFile by tasks.registering {
@@ -56,56 +41,4 @@ val writeVersionFile by tasks.registering {
5641
}
5742
tasks.named("processResources") {
5843
dependsOn(writeVersionFile)
59-
}
60-
61-
// ---------------------------------------------------------------------------------------------------------------------
62-
63-
testing {
64-
suites {
65-
// Configure the built-in test suite
66-
val test by getting(JvmTestSuite::class) {
67-
// Use Kotlin Test test framework
68-
useKotlinTest()
69-
}
70-
71-
// Create a new test suite
72-
val functionalTest by registering(JvmTestSuite::class) {
73-
useJUnit()
74-
75-
dependencies {
76-
// functionalTest test suite depends on the production code in tests
77-
implementation(project(":model-api-gen-gradle"))
78-
implementation(project(":model-api"))
79-
implementation(project(":model-api-gen"))
80-
implementation(project(":metamodel-export"))
81-
}
82-
83-
targets {
84-
all {
85-
// This test suite should run after the built-in test suite has run its tests
86-
testTask.configure { shouldRunAfter(test) }
87-
}
88-
}
89-
}
90-
}
91-
}
92-
93-
gradlePlugin {
94-
// Define the plugin
95-
val mpsMetaModel by plugins.creating {
96-
id = "org.modelix.model-api-gen"
97-
implementationClass = "org.modelix.metamodel.gradle.MetaModelGradlePlugin"
98-
}
99-
}
100-
101-
gradlePlugin.testSourceSets(sourceSets["functionalTest"])
102-
103-
tasks.named<Task>("check") {
104-
// Include functionalTest as part of the check lifecycle
105-
dependsOn(testing.suites.named("functionalTest"))
106-
}
107-
108-
tasks.named("functionalTest") {
109-
dependsOn(resolveMps)
110-
dependsOn(":metamodel-export:publish_metamodel-export_PublicationToMavenLocal")
111-
}
44+
}

model-api-gen-gradle/src/functionalTest/kotlin/org/modelix/metamodel/gradle/MetaModelGradlePluginFunctionalTest.kt

Lines changed: 0 additions & 129 deletions
This file was deleted.

model-api-gen-gradle/src/functionalTest/resources/json/jetbrains.mps.baseLanguage.blTypes.json

Lines changed: 0 additions & 47 deletions
This file was deleted.

0 commit comments

Comments
 (0)