| Commit message (Collapse) | Author | Age |
|
|
|
| |
Also bumps other dependencies.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Rename VIATRA subprojects to Refinery Interpreter to avoid interfering with
Eclipse Foundation trademarks.
Uses refering to a specific (historical) version of VIATRA were kept to avoid
ambiguity.
|
|
|
|
|
| |
Removes VIATRA sources from coverage anaylsis, since those files are maintained
by the VIATRA project.
|
| |
|
|
|
|
|
| |
Make our modifications more maintainable by editing the source code directly
instead of using reflection.
|
|
|
|
| |
https://docs.gradle.org/8.2.1/userguide/upgrading_version_8.html#test_framework_implementation_dependencies
|
|
|
|
|
|
| |
* Avoid writing generated source files directly into sibling projects.
* Full project isolation cannot be enabled yet, because the frontend plugin
still requires cross-projects task dependencies for Node.js installation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Java 19 is out of support, but Gradle current does not run on Java 20:
https://github.com/gradle/gradle/issues/23488
To avoid the complexity of running the build tool on a different JDK than the
application, we temporarily remove code that depends on experimental Java 19 or
Java 20 features.
Revert once the build can run on Java 20.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we obey the REUSE (https://reuse.software) specification and the
origin, copyright owner, and license of all files are clearly marked.
The whole project is under the EPL-2.0, except for trivial files where copyright
is not applicable that are marked with the CC0-1.0 license. Moreover, code
included from third parties is also available under the respective license.
chore: add CONTRIBUTORS.md
List all authors and supporting organizations in accordance with the REUSE
specification.
|
|
|
|
|
|
|
| |
Also take advantage of precompiled Kotlin scripts to write build scripts in a
more straightforward manner through generated accessors.
Might increase memory usage of Gradle.
|
| |
|
|
|
|
| |
Allows removing Eclipse-specific generated files from the source tree quickly.
|
|
|
|
|
|
| |
Make sure we get slf4j in every test source set and every application by
default. Saves configuration effort when creating a new library that tests
VIATRA or other dependencies that require log4j.
|
|
|
|
|
|
|
| |
Improves IDE support build scripts in IntelliJ.
There is no Eclipse IDE support, but Eclipse didn't have support for Groovy
either, so there is no degradation of functionality.
|
|
|
|
|
|
| |
Sonarqube is not yet compatible with Gradle 8:
https://sonarsource.atlassian.net/browse/SONARGRADL-84
https://github.com/SonarSource/sonar-scanner-gradle/pull/146
|
|
|
|
| |
Also test with virtual threads in we are using them in production.
|
| |
|
|
|
|
|
| |
Use Java 19 and Jetty 12 to take advantage of Project Loom preview
features to reduce CPU usage due to XtextWebDocumentAccess thread pools.
|
| |
|
|
|
|
|
|
| |
* Move all utilities for language-model to language, since they do not
make sense on their own
* Convert xtend code into java
|
| |
|
|
|
|
| |
See https://github.com/gradle/gradle/issues/898
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|