The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Support for explicitly setting
javaExec
property ofgenerate
andcheckmodels
(the Java executable to use) was broken in 1.19.1 and 1.19.2 and should now be fixed.
runMigrations
task now supports MPS 2022.2 and above by adding the necessary--add-opens
JVM arguments.runMigrations
task now honors itsjavaExec
property.
generate
andcheckmodels
tasks now support MPS 2022.2 and above by adding the necessary--add-opens
JVM arguments (usingmps-build-backends/launcher
).
MpsCheck
task for running the model checker. In contrast to themodelcheck
plugin there can be multiple instances of the task, and the task is written with the current Gradle best practices (lazy properties, caching).
extractJbr
task is no longer aSync
but will use platform-specific tools (tar
) to make sure symlinks in the JBR are extracted properly. Native libraries rely on symlinks and do not function unless properly extracted.
generate
now supportsparallelGenerationThreads
option. Positive values will turn on parallel generation, and the value will be used as the number of threads. The default is 0, which means no parallel generation.
runMigrations
task now passes configuredplugins
andmacros
to MPS.runMigrations
task now supportshaltOnPrecheckFailure
parameter on MPS 2021.1 and above.
- Extracted Git-based versioning into a separate subproject,
git-based-versioning
. runMigrations
:force
andhaltOnPrecheckFailure
are now nullable and null by default.
generate
,run-migrations
now supportmaxHeap
option for specifying the maximum JVM heap size, similar tomodelcheck
.
downloadJbr
: propertydownloadJbr.javaExecutable
now correctly points to<JBR>/bin/java.exe
on Windows rather than<JBR>/bin/java
.
generate
: can now define include and exclude lists of models and modules, similar to themodelcheck
plugin.
de.itemis.gradle.common
empty plugin that can be used in aplugins
block to put task classes onto the build script classpath.
run-migrations
plugin to execute pending migrations on a project.
download-jbr
:extractJbr
task class changed fromCopy
toSync
.download-jbr
:extractJbr
task will ensure all extracted files are user-writable.
download-jbr
: as a result of the above change,extractJbr
task no longer fails due to trying to overwrite read-only files it previously extracted.
GitBasedVersioning#getVersionWithBugfixAndCount(major, minor, bugfix, count)
method.
generate
,modelcheck
: newenvironmentKind
property to choose between executing in MPS or IDEA environment. Default isIDEA
for backwards compatibility, butMPS
environment might perform faster.
generate
,modelcheck
: Can specify the list of plugins lazily via the newpluginsProperty
. This is useful if they may be downloaded by a preceding task in the same build.generate
,modelcheck
: Register thegenerate
andcheckmodels
tasks when the plugin is applied instead of inproject.afterEvaluate
, so that they can be configured by the build.
generate
,modelcheck
: Useregister
rather thancreate
to help with configuration avoidance.
modelcheck
: Can now exclude models or modules from model checking.generate
,modelcheck
: Can specify configuration for the "backend" explicitly so that it can be locked via Gradle lockfiles.
- Upgraded to Gradle 7.4.1, Kotlin 1.5.31.
- Build backends (
execute-generators
,modelcheck
) extracted into a separate repository (mbeddr/mps-build-backends).
- Can now specify distribution type for
downloadJbr
.
RunAntScript
task now hasincremental
flag to enable incremental builds.
- Support for using custom MPS distribution.
- The plugin is no longer compatible with MPS 2019.3 and below.