Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[breaking] MPS task interface #159

Open
wants to merge 1 commit into
base: v1.x
Choose a base branch
from

Conversation

sergej-koscejev
Copy link
Member

@sergej-koscejev sergej-koscejev commented Jun 22, 2024

Changed

  • All MPS tasks now implement MpsTask interface which defines common properties. As a result, some tasks were
    affected (all marked as @Incubating):
    • MpsCheck: pluginRoots type was changed from SetProperty<Directory> to ConfigurableFileCollection 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 (or macros in case of MpsExecute) 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.

@sergej-koscejev
Copy link
Member Author

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.

@sergej-koscejev
Copy link
Member Author

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 { ... }.

@sergej-koscejev
Copy link
Member Author

I have a different idea now, I think we should introduce MpsForkOptions interface for these tasks, similar to JavaForkOptions (and probably extending it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant