Open sergej-koscejev opened 5 months ago
I created a PR instead of pushing the change to v1.x right away because it's potentially breaking and I would like to gather some opinions on it in case I'm unknowingly making a big mistake.
Having a common interface makes it easier to configure the common properties for all tasks that launch MPS (migrations, generation, model checking, etc.) using tasks.withType(MpsTask).configureEach { ... }
.
I have a different idea now, I think we should introduce MpsForkOptions
interface for these tasks, similar to JavaForkOptions
(and probably extending it).
Changed
MpsTask
interface which defines common properties. As a result, some tasks were affected (all marked as@Incubating
):MpsCheck
:pluginRoots
type was changed fromSetProperty<Directory>
toConfigurableFileCollection
because the latter is easier to work with from Gradle. This is a breaking change.MpsExecute
:folderMacros
are now supported and will be passed to MPS.Deprecated
MpsCheck
,MpsGenerate
,MpsExecute
:varMacros
(ormacros
in case ofMpsExecute
) are now deprecated and will be removed in a later release. Only folder macros (pointing to an existing directory) are supported by MPS, any non-folder macros would not have worked properly anyway.