-
Notifications
You must be signed in to change notification settings - Fork 10
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
MODELIX-1064 Bulk sync based MPS plugin (sync-plugin 3) #1396
MODELIX-1064 Bulk sync based MPS plugin (sync-plugin 3) #1396
Conversation
Test Results 198 files + 1 198 suites +1 44m 27s ⏱️ + 12m 7s Results for commit 1187b88. ± Comparison against base commit b0f06ad. This pull request removes 1 and adds 16 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
39a3bc7
to
cb50e92
Compare
1ed0dc5
to
2066ff8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
detekt found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
3284d17
to
9df98d7
Compare
…x node Nodes stored on the model-server used to have the format `pnode:<nodeId>@<branchId>`. Since version 3.17.0, Modelix is already prepared for switching to the preferred format `modelix:<branchId>@<nodeId>`. BREAKING CHANGE: model-client versions before 3.17.0 are incompatible to this new release
At least on Mac with temurin 21 the executable isn't found if no absolute path is used.
…re during startup
… with empty list of children
An exception may heal itself if the user continues editing. Without ignoring exceptions, the synchronization will just stop.
…isOrdered(IChildLinkReference)
Otherwise, it can't be used for debugging authentication issues.
Otherwise, the client is blocked forever if there is no user doing the login.
… model-server Instead of copying all the jar libraries and having our own shell script we can just use the gradle plugin, that already assembles everything properly.
120a9b7
to
a8b6fcc
Compare
🎉 This PR is included in version 12.0.0 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This adds a new MPS plugin (
org.modelix.mps:mps-sync-plugin3
) which uses the algorithm inbulk-model-sync-lib
.It replaces the two sync plugins in modelix.mps-plugins.
The legacy-sync-plugin is still used in modelix.workspaces and uses the deprecated
RestWebModelClient
(aka "model client V1"). After migrating workspaces to this new plugin we can finally stop maintaining the old model client and its API in the model-server.The second sync-plugin uses the ModelClientV2, but was never mature enough to be actually used. It is completely replaced by this new plugin, which is more stable and more feature complete.
Looking at how many changes were necessary in all the other modelix.core components, it makes sense to maintain the new plugin as part of this repository instead of the modelix.mps-plugins repository.
More work on this plugin will be necessary to further improve the stability (higher code coverage) and for the workspaces use case, but it's a first working version that can be used to collect feedback.