aboutsummaryrefslogtreecommitdiffstats
path: root/language
Commit message (Collapse)AuthorAge
* build: move modules into subproject directoryLibravatar Kristóf Marussy2021-12-12
|
* build: move to yarn workspacesLibravatar Kristóf Marussy2021-11-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The root project (worktree) must have a valid package.json, .yarnrc.yaml, and have the gradle precompiled script plugin refinery-frontend-worktree applied to it. All frontend modules (workspaces) must have a valid package.json, be referenced in the worktree project.json, and be a valid gradle subproject with the gradle precompiled script plugin refinery-frontend-workspace applied to it. To reduce unnecessary downloads, we do the following workarounds: * The node version is pinned in gradle.properties and the installed node version is stored in .node/frontend.properties. A new node version is only downloaded if it differs from the installed one (or none is installed). This improves on the default gradle behavior, which would download a new node version if the classpath of the installNode task was changed. * The yarn classic version is pinned in gradle.properties and the installed yarn classic version is stored in .node/frontend.properties. This improves on the default gradle behavior, which would reinstall the yarn npm package at every build. * We disable the enableYarnBerry task, since a yarn berry version is already committed into the repository at .yarn/versions as it is recommended in http://yarnpkg.com/getting-started/qa/ * We use yarn set version --only-if-needed in the installYarn task. * The installFrontend task takes package.json and yarn.lock as inputs and produces .pnp.cjs and .pnp.loader.mjs as outputs. Whether this task is up-to-date can be checked by gradle quickly, since it doesn't have to traverse the node_module folder due to pnp resoltion: https://yarnpkg.com/features/pnp/ All workspaces have the installNode, installYarnGlobally, installYarn and installFrontend tasks disabled. However, these tasks depend on the task with the same name in the worktree project, so installation is still triggered globally. Moreover, the installFrontend task in the worktree has the package.json of the workspaces as inputs, so reinstallation is triggered when the workspace package.json changes.
* build: fix cross-project group and version configLibravatar Kristóf Marussy2021-11-19
|
* build: fix cross-project sonar configurationLibravatar Kristóf Marussy2021-11-19
|
* build: library and application convetion pluginsLibravatar Kristóf Marussy2021-11-17
|
* build: merge java and junit conventionsLibravatar Kristóf Marussy2021-11-17
| | | | All Java code should have tests, anyways.
* build: move scripts into script pluginsLibravatar Kristóf Marussy2021-11-17
| | | | | Script plugins allow applying other plugins from plugins { } blocks, which simplifies the build script.
* build: use version catalogsLibravatar Kristóf Marussy2021-11-16
| | | | | | | | | | | Gradle version catalogs allow centralized management of dependency artifact coordinates using a toml file. Previously, we use the gradle.properties file, which cannot manage group and name coordinates, only versions. Node and yarn versions still have to be in gradle.properties, because they do not correspond to any coordiates of a maven artifact.
* feat(web): xtext formatter clientLibravatar Kristóf Marussy2021-11-16
| | | | | | | | | Uses the xtext formatted on the server to format the document. Also adds the capability to take (delta) changes from the server and apply them before any pending local changes, then replay the changes. This means that the server-side formatter is effectively acting as a second user who is editing the document.
* feat(lang): basic formattingLibravatar Kristóf Marussy2021-11-15
| | | | | | | | | Adds support for formatting some elements without any indentation. Mostly for testing model serialization with some human-readable formatting instead of just space-separating the tokens. Finishing the formatter to support all language constructs might be a bit more difficult due to our Prolog-like indentation rules.
* chore(lang): fix Sonar issueLibravatar Kristóf Marussy2021-11-06
|
* chore(lang): seralize assertions in short formLibravatar Kristóf Marussy2021-11-06
| | | | | Prefer the ! and ? operators instead of : false and : unknown and omit : true when serializing assertions.
* chore(lang): shorten keyword individual -> indivLibravatar Kristóf Marussy2021-11-06
|
* fix(lang): mark transient referencesLibravatar Kristóf Marussy2021-11-06
| | | | | | | | | | | | | | | Xtext fails to serialize non-transient references that have no corresponding assignment in the grammar. Therefore, we mark * Problem.nodes * ClassDeclaration.newNode * ExistentialQualifier.implicitVariables * VariableOrNodeArgument.singletonVariable as transient. This will allow serializing Problem instances using the textual concrete syntax for display.
* chore: rename unique to individualLibravatar Kristóf Marussy2021-11-05
| | | | Suggestion by @vincemolnar to match SysML V2 terminology more closely.
* fix(lang): make default and scope non-contextualLibravatar Kristóf Marussy2021-11-05
| | | | | Contextual keywords make Xtext parsing more complicated and degrade content assist.
* feat(lang): add example validation checksLibravatar Kristóf Marussy2021-11-05
|
* fix(language): hide current implicit proposalLibravatar Kristóf Marussy2021-11-04
| | | | | | | Content assist proposals should not display the object that is only added to the model because the current context assist input refers to it (e.g., an implicit node or variable that is only referenced in the currently edited context).
* feat(web): simplify contextual parsingLibravatar Kristóf Marussy2021-10-31
| | | | | | | | * More relaxted parsing in the browser for stable variable/node identifier classification. * String support in the browser. * contains, refers, and opposite keywords are no longer contextual, which simplifies parsing in the browser.
* chore(web): remove CodeMirror 5 MWE2 integrationLibravatar Kristóf Marussy2021-10-31
| | | | | CodeMirror 6 uses a hand-writter Lezer parser instead of the stream parser generated by Xtext for CodeMirror 5.
* Add scope for new and delete with testsLibravatar Garami Bence2021-10-20
|
* Add syntax for direct rules and direct predicatesLibravatar Garami Bence2021-10-20
| | | | Xtext and Class diagram extended.
* chore: remove builtin library xtext dependencyLibravatar Kristóf Marussy2021-10-19
|
* fix(language): also rename builtin problem libraryLibravatar Kristóf Marussy2021-10-05
|
* chore: change package nameLibravatar Kristóf Marussy2021-10-05
|
* build: refactor task dependenciesLibravatar Kristóf Marussy2021-10-03
|
* chore: fix Java 17 Sonar warningsLibravatar Kristóf Marussy2021-10-02
| | | | | Had to disable code coverage measurement in the Quality Gate, we should switch it on again once we have a complete test suite.
* build: simplify Eclipse project generationLibravatar Kristóf Marussy2021-10-02
| | | | | | Make sure both the :generateXtext and :generateTestXtext task are run if there is a generated xtend-gen source folder, so that BuildShip can set ignore_optional_problems also on there.
* feat: skeleton for language to store mappingLibravatar Kristóf Marussy2021-10-01
|
* build: migration to Gradle 7Libravatar Kristóf Marussy2021-09-29
|
* Refactor ServerLauncherLibravatar Kristóf Marussy2021-09-20
|
* Merge branch 'web-demo' of https://github.com/viatra/VIATRA-Generator.git ↵Libravatar OszkarSemerath2021-09-19
|\ | | | | | | into web-demo
| * Simplify node namingLibravatar Kristóf Marussy2021-08-20
| |
* | Small fixes over the projectLibravatar OszkarSemerath2021-09-19
|/
* Refactor Gradle configsLibravatar Kristóf Marussy2021-07-31
|
* Add new data structure for backendLibravatar Kristóf Marussy2021-07-29
| | | | Co-authored-by: Oszkár Semeráth <semerath@mit.bme.hu>
* Refactoring based on Sonar reportsLibravatar Kristóf Marussy2021-07-29
|
* Change operator for predicate definitionLibravatar Kristóf Marussy2021-07-02
|
* Fix enum literal scopesLibravatar Kristóf Marussy2021-06-30
|
* Node scoping fixesLibravatar Kristóf Marussy2021-06-30
|
* Pin all m2 dependency versionsLibravatar Kristóf Marussy2021-06-29
|
* Generate all files on buildLibravatar Kristóf Marussy2021-06-29
|
* Remove Xtext generated Javascript fileLibravatar Kristóf Marussy2021-06-29
|
* Remove xtext-gen generated filesLibravatar Kristóf Marussy2021-06-29
| | | | They are regenerated on each build
* Webpack build for frontendLibravatar Kristóf Marussy2021-06-29
|
* Fix derived state computer idempotencyLibravatar Kristóf Marussy2021-06-28
|
* Fix real literalsLibravatar Kristóf Marussy2021-06-28
|
* Add scoping tests and simplify implicit nodesLibravatar Kristóf Marussy2021-06-28
| | | | | | | * Do not export implicit nodes to the global scope * Enum literals must not be quoted * Plan for the future: unify quoted nodes from the global scope in post-processing
* Add data constant supportLibravatar Kristóf Marussy2021-06-27
|
* Customize client-side CodeMirror modeLibravatar Kristóf Marussy2021-06-27
|