| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
All Java code should have tests, anyways.
|
|
|
|
|
| |
Script plugins allow applying other plugins from plugins { } blocks,
which simplifies the build script.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Prefer the ! and ? operators instead of : false and : unknown and omit
: true when serializing assertions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Suggestion by @vincemolnar to match SysML V2 terminology more closely.
|
|
|
|
|
| |
Contextual keywords make Xtext parsing more complicated and degrade
content assist.
|
| |
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
CodeMirror 6 uses a hand-writter Lezer parser instead of the stream
parser generated by Xtext for CodeMirror 5.
|
| |
|
|
|
|
| |
Xtext and Class diagram extended.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Had to disable code coverage measurement in the Quality Gate, we should
switch it on again once we have a complete test suite.
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
into web-demo
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
Co-authored-by: Oszkár Semeráth <semerath@mit.bme.hu>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
They are regenerated on each build
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
|
|
|
|
| |
They can be re-generated by the BuildShip plugin anyways.
|