Migrating to version 0.7.0
API changes
Databinding plug-in
-
The
ObservablePatternMatchList
class has been extended with a generic type parameter. Additonally, a new factory method is availabe (similar to other databinding factories). See the classIncQueryObservables
for details.
Query-based Features
- All corresponding code has been moved to a separate plugin.
- The handler, helper and corresponding classes have been renamed. This should not cause problems if you regenerate your code.
- The annotation is changed to @QueryBasedFeature, the old annotation is marked as deprecated.
Architecture changes
New component: incquery.triggerengine plug-in
- validation.runtime and databinding.runtime now depends on this new plug-in
Renamed all projects
Old name | New name | Remarks |
org.eclipse.viatra2.emf.incquery.databinding.runtime | ||
org.eclipse.viatra2.emf.incquery.tooling.generator.databinding | ||
org.eclipse.viatra2.patternlanguage.emf | ||
org.eclipse.viatra2.patternlanguage.emf.ui | ||
org.eclipse.viatra2.patternlanguage.generator.util | ||
org.eclipse.viatra2.patternlanguage.core | ||
org.eclipse.viatra2.patternlanguage.core.ui | ||
org.eclipse.viatra2.emf.incquery.derived | ||
org.eclipse.viatra2.emf.incquery.tooling.generator.derived | ||
org.eclipse.viatra2.emf.incquery.base.itc | ||
org.eclipse.viatra2.emf.incquery.base | ||
org.eclipse.viatra2.emf.incquery.runtime.gmf org.eclipse.viatra2.emf.incquery.validation.runtime.ui.gmf |
Restructured GMF specific code | |
org.eclipse.viatra2.emf.incquery.runtime.graphiti | ||
org.eclipse.viatra2.gtasm.patternmatcher.incremental.rete | Version number downgrade to 0.7.0 | |
org.eclipse.viatra2.emf.incquery.runtime | ||
org.eclipse.viatra2.emf.incquery.tooling.core org.eclipse.viatra2.emf.incquery.tooling.generator |
Merging two projects | |
org.eclipse.viatra2.emf.incquery.tooling.generator.model.ui | ||
org.eclipse.viatra2.emf.incquery.tooling.generator.model | ||
org.eclipse.viatra2.emf.incquery.tooling.generator.ui | ||
org.eclipse.viatra2.emf.incquery.tooling.retevis | ||
org.eclipse.viatra2.emf.incquery.tooling.gui | ||
org.eclipse.viatra2.emf.incquery.validation.runtime.ui | ||
org.eclipse.viatra2.emf.incquery.validation.runtime | ||
org.eclipse.viatra2.emf.incquery.tooling.generator.validation |
Changes to Generated Code
As the generated code of EMF-IncQuery depends on the EMF-IncQuery runtime, the renaming of the projects cause the generated projects not working. However, we made sure that all the pattern definitions should work in the new release as well. There are two ways to update the existing EMF-IncQuery project:
- Create a new EMF-IncQuery project using the project wizard, and copy the eiq and eiqgen files and possibly any other manually written file to the new project. Matcher (and integration) code is regenerated, and the project will be ready to use.
-
Manually update the existing project:
-
Open the .project file of the project, and update the nature and builder references. An example for the rewriting is available in the following GitHub Gist
- Old version:
- New version:
- Remove all references of generated code from the plugin.xml.
- Trigger a full rebuild of the project to regenerate all matcher and integration code.
-
Open the .project file of the project, and update the nature and builder references. An example for the rewriting is available in the following GitHub Gist