aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gradle/xtext-common.gradle10
-rw-r--r--language-to-store/build.gradle10
-rw-r--r--language-to-store/src/main/java/org/eclipse/viatra/solver/language/mapping/PartialModelMapper.java11
-rw-r--r--language-to-store/src/test/java/org/eclipse/viatra/solver/language/mapping/tests/PartialModelMapperTest.xtend44
-rw-r--r--language/build.gradle22
-rw-r--r--language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe23
-rw-r--r--settings.gradle1
7 files changed, 87 insertions, 14 deletions
diff --git a/gradle/xtext-common.gradle b/gradle/xtext-common.gradle
index 4993ed7e..e95bdb46 100644
--- a/gradle/xtext-common.gradle
+++ b/gradle/xtext-common.gradle
@@ -1,9 +1,5 @@
1apply from: "${rootDir}/gradle/java-common.gradle" 1apply from: "${rootDir}/gradle/java-common.gradle"
2 2
3dependencies {
4 implementation platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
5}
6
7configurations.all { 3configurations.all {
8 exclude group: 'asm' 4 exclude group: 'asm'
9} 5}
@@ -13,20 +9,14 @@ sourceSets {
13 java.srcDirs += ['src/main/xtext-gen'] 9 java.srcDirs += ['src/main/xtext-gen']
14 resources.srcDirs += ['src/main/xtext-gen'] 10 resources.srcDirs += ['src/main/xtext-gen']
15 } 11 }
16 test {
17 java.srcDirs += ['src/test/xtext-gen']
18 resources.srcDirs += ['src/test/xtext-gen']
19 }
20} 12}
21 13
22tasks.named('clean') { 14tasks.named('clean') {
23 delete 'src/main/xtext-gen' 15 delete 'src/main/xtext-gen'
24 delete 'src/test/xtext-gen'
25} 16}
26 17
27sonarqube.properties { 18sonarqube.properties {
28 properties['sonar.exclusions'] += [ 19 properties['sonar.exclusions'] += [
29 'src/main/xtext-gen/**', 20 'src/main/xtext-gen/**',
30 'src/test/xtext-gen/**',
31 ] 21 ]
32} 22}
diff --git a/language-to-store/build.gradle b/language-to-store/build.gradle
new file mode 100644
index 00000000..e0fd8212
--- /dev/null
+++ b/language-to-store/build.gradle
@@ -0,0 +1,10 @@
1apply plugin: 'java-library'
2apply from: "${rootDir}/gradle/java-common.gradle"
3apply from: "${rootDir}/gradle/junit.gradle"
4apply from: "${rootDir}/gradle/xtend.gradle"
5
6dependencies {
7 api project(':refinery-language-model')
8 api project(':refinery-store')
9 testImplementation testFixtures(project(':refinery-language'))
10}
diff --git a/language-to-store/src/main/java/org/eclipse/viatra/solver/language/mapping/PartialModelMapper.java b/language-to-store/src/main/java/org/eclipse/viatra/solver/language/mapping/PartialModelMapper.java
new file mode 100644
index 00000000..7eae4361
--- /dev/null
+++ b/language-to-store/src/main/java/org/eclipse/viatra/solver/language/mapping/PartialModelMapper.java
@@ -0,0 +1,11 @@
1package org.eclipse.viatra.solver.language.mapping;
2
3import org.eclipse.viatra.solver.data.model.Model;
4import org.eclipse.viatra.solver.language.model.problem.Problem;
5
6public class PartialModelMapper {
7 public Model transformProblem(Problem problem) {
8 // TODO @Marci Implement this
9 throw new UnsupportedOperationException();
10 }
11}
diff --git a/language-to-store/src/test/java/org/eclipse/viatra/solver/language/mapping/tests/PartialModelMapperTest.xtend b/language-to-store/src/test/java/org/eclipse/viatra/solver/language/mapping/tests/PartialModelMapperTest.xtend
new file mode 100644
index 00000000..a769ae20
--- /dev/null
+++ b/language-to-store/src/test/java/org/eclipse/viatra/solver/language/mapping/tests/PartialModelMapperTest.xtend
@@ -0,0 +1,44 @@
1package org.eclipse.viatra.solver.language.mapping.tests
2
3import com.google.inject.Inject
4import org.eclipse.viatra.solver.language.mapping.PartialModelMapper
5import org.eclipse.viatra.solver.language.model.problem.Problem
6import org.eclipse.viatra.solver.language.tests.ProblemInjectorProvider
7import org.eclipse.xtext.testing.InjectWith
8import org.eclipse.xtext.testing.extensions.InjectionExtension
9import org.eclipse.xtext.testing.util.ParseHelper
10import org.junit.jupiter.api.BeforeEach
11import org.junit.jupiter.api.Disabled
12import org.junit.jupiter.api.Test
13import org.junit.jupiter.api.^extension.ExtendWith
14
15import static org.hamcrest.MatcherAssert.assertThat
16import static org.hamcrest.Matchers.*
17
18@ExtendWith(InjectionExtension)
19@InjectWith(ProblemInjectorProvider)
20class PartialModelMapperTest {
21 @Inject
22 ParseHelper<Problem> parseHelper
23
24 PartialModelMapper mapper
25
26 @BeforeEach
27 def void beforeEach() {
28 mapper = new PartialModelMapper
29 }
30
31 @Test
32 @Disabled("Method not yet implemented")
33 def void exampleTest() {
34 val problem = parseHelper.parse('''
35 class Person {
36 Person[0..*] friend
37 }
38
39 friend(a, b).
40 ''')
41 val model = mapper.transformProblem(problem)
42 assertThat(model, notNullValue())
43 }
44}
diff --git a/language/build.gradle b/language/build.gradle
index 494d9d08..e9db351f 100644
--- a/language/build.gradle
+++ b/language/build.gradle
@@ -1,22 +1,30 @@
1apply plugin: 'java-library' 1apply plugin: 'java-library'
2apply plugin: 'java-test-fixtures'
2apply from: "${rootDir}/gradle/xtext-common.gradle" 3apply from: "${rootDir}/gradle/xtext-common.gradle"
3apply from: "${rootDir}/gradle/junit.gradle" 4apply from: "${rootDir}/gradle/junit.gradle"
4apply from: "${rootDir}/gradle/mwe2.gradle" 5apply from: "${rootDir}/gradle/mwe2.gradle"
5apply from: "${rootDir}/gradle/xtend.gradle" 6apply from: "${rootDir}/gradle/xtend.gradle"
6 7
7dependencies { 8dependencies {
9 api platform("org.eclipse.xtext:xtext-dev-bom:${xtextVersion}")
8 api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}" 10 api "org.eclipse.xtext:org.eclipse.xtext:${xtextVersion}"
9 api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}" 11 api "org.eclipse.xtext:org.eclipse.xtext.xbase:${xtextVersion}"
10 api "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}" 12 api "org.eclipse.emf:org.eclipse.emf.ecore:${ecoreVersion}"
11 api project(':refinery-language-model') 13 api project(':refinery-language-model')
12 testImplementation "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}" 14 testFixturesApi "org.eclipse.xtext:org.eclipse.xtext.testing:${xtextVersion}"
13 testImplementation "org.eclipse.xtext:org.eclipse.xtext.xbase.testing:${xtextVersion}"
14 mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}" 15 mwe2 "org.eclipse.xtext:org.eclipse.xtext.common.types:${xtextVersion}"
15 mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}" 16 mwe2 "org.eclipse.xtext:org.eclipse.xtext.xtext.generator:${xtextVersion}"
16 mwe2 "org.eclipse.xtext:xtext-antlr-generator:${xtextAntlrGeneratorVersion}" 17 mwe2 "org.eclipse.xtext:xtext-antlr-generator:${xtextAntlrGeneratorVersion}"
17 mwe2 project(':refinery-language-mwe2') 18 mwe2 project(':refinery-language-mwe2')
18} 19}
19 20
21sourceSets {
22 testFixtures {
23 java.srcDirs += ['src/testFixtures/xtext-gen']
24 resources.srcDirs += ['src/testFixtures/xtext-gen']
25 }
26}
27
20tasks.named('jar') { 28tasks.named('jar') {
21 from(sourceSets.main.allSource) { 29 from(sourceSets.main.allSource) {
22 include '**/*.xtext' 30 include '**/*.xtext'
@@ -29,7 +37,7 @@ def generateXtextLanguage = tasks.register('generateXtextLanguage', JavaExec) {
29 inputs.file 'src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2' 37 inputs.file 'src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2'
30 inputs.file 'src/main/java/org/eclipse/viatra/solver/language/Problem.xtext' 38 inputs.file 'src/main/java/org/eclipse/viatra/solver/language/Problem.xtext'
31 outputs.dir 'src/main/xtext-gen' 39 outputs.dir 'src/main/xtext-gen'
32 outputs.dir 'src/test/xtext-gen' 40 outputs.dir 'src/testFixtures/xtext-gen'
33 outputs.dir '../language-ide/src/main/xtext-gen' 41 outputs.dir '../language-ide/src/main/xtext-gen'
34 outputs.dir '../language-web/src/main/xtext-gen' 42 outputs.dir '../language-web/src/main/xtext-gen'
35 outputs.dir '../language-web/build/generated/sources/xtext' 43 outputs.dir '../language-web/build/generated/sources/xtext'
@@ -53,8 +61,14 @@ tasks.named('processResources') {
53 61
54tasks.named('clean') { 62tasks.named('clean') {
55 delete 'src/main/xtext-gen' 63 delete 'src/main/xtext-gen'
56 delete 'src/test/xtext-gen' 64 delete 'src/testFixtures/xtext-gen'
57 delete '../language-ide/src/main/xtext-gen' 65 delete '../language-ide/src/main/xtext-gen'
58 delete '../language-web/src/main/xtext-gen' 66 delete '../language-web/src/main/xtext-gen'
59 delete '../language-web/build/generated/sources/xtext' 67 delete '../language-web/build/generated/sources/xtext'
60} 68}
69
70sonarqube.properties {
71 properties['sonar.exclusions'] += [
72 'src/testFixtures/xtext-gen/**',
73 ]
74}
diff --git a/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2 b/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2
index b8bc5a44..4dfbb242 100644
--- a/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2
+++ b/language/src/main/java/org/eclipse/viatra/solver/language/GenerateProblem.mwe2
@@ -15,6 +15,7 @@ Workflow {
15 rootPath = rootPath 15 rootPath = rootPath
16 runtimeTest = { 16 runtimeTest = {
17 enabled = true 17 enabled = true
18 srcGen = 'src/testFixtures/xtext-gen'
18 } 19 }
19 genericIde = { 20 genericIde = {
20 name = "language-ide" 21 name = "language-ide"
@@ -48,6 +49,8 @@ Workflow {
48 generateStub = false 49 generateStub = false
49 } 50 }
50 junitSupport = { 51 junitSupport = {
52 generateStub = false
53 skipXbaseTestingPackage = true
51 junitVersion = "5" 54 junitVersion = "5"
52 } 55 }
53 webSupport = ProblemWebIntegrationFragment { 56 webSupport = ProblemWebIntegrationFragment {
diff --git a/settings.gradle b/settings.gradle
index 00d4a82b..9edf237f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -4,6 +4,7 @@ include 'language'
4include 'language-ide' 4include 'language-ide'
5include 'language-model' 5include 'language-model'
6include 'language-mwe2' 6include 'language-mwe2'
7include 'language-to-store'
7include 'language-web' 8include 'language-web'
8include 'store' 9include 'store'
9 10