Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Henshin/Committer Instructions"
(→Importing projects into your workspace and resolving dependencies) |
(→Importing projects into your workspace and resolving dependencies) |
||
Line 18: | Line 18: | ||
==<span id="imports"></span>Importing projects into your workspace and resolving dependencies == | ==<span id="imports"></span>Importing projects into your workspace and resolving dependencies == | ||
− | Henshin's codebase is divided into plug- | + | Henshin's codebase is divided into several plug-in projects with different responsibilies, for example: |
* Plug-in ''org.eclipse.emf.henshin.model'': The [[Henshin/Transformation Meta-Model|meta-model]] | * Plug-in ''org.eclipse.emf.henshin.model'': The [[Henshin/Transformation Meta-Model|meta-model]] | ||
Line 25: | Line 25: | ||
* Plug-ins ''org.eclipse.emf.henshin.{edit,editor}'': The tree-based editor | * Plug-ins ''org.eclipse.emf.henshin.{edit,editor}'': The tree-based editor | ||
<br /> | <br /> | ||
− | All plug- | + | All plug-in projects are contained in the ''plugins'' folder in the root directory of our Git repo. Import the plug-ins you want to work on '''as Eclipse projects''' into your workspace. Depending on your selection, you may encounter various build errors. Resolve the missing dependencies as follows: |
* On build errors for ''org.eclipse.emf.henshin.diagram'', use the Eclipse Marketplace (in ''Help'' menu) to install the ''Graphical Modeling Framework Tooling'' feature. | * On build errors for ''org.eclipse.emf.henshin.diagram'', use the Eclipse Marketplace (in ''Help'' menu) to install the ''Graphical Modeling Framework Tooling'' feature. |
Revision as of 07:02, 28 June 2019
Henshin uses Gerrit for handling code reviewing and merging. This implies specific processes when setting up the development environment and pushing changes.
Set-up
The following steps are for setting up the development environment based on eGit, Eclipse's git integration. Steps may vary if you don't want to use eGit.
- If you don't have one yet, generate a SSH RSA key pair: do ssh-keygen -t rsa in the git shell.
- Register your public key at https://git.eclipse.org/r/#/settings/ssh-keys
- Make sure your local git's committer e-mail address matches the one registered at https://git.eclipse.org/r/#/settings/contact
- To view the local e-mail address, do git config user.email. An empty result means the e-mail address has not been set yet.
- To change the local e-mail address, do git config --global user.email [your email address here]
- In the same manner, you can view and change your committer name using the user.name environment variable.
- To ensure correct handling of line endings when using Windows, please use the following git configs: core.autocrlf=true and core.filemode=false. If you have dirty projects due to Windows line endings, try a hard reset after setting the config.
- In Eclipse, clone the Henshin repo from ssh://committer_id@git.eclipse.org:29418/henshin/org.eclipse.emft.henshin.git
- Restarting Eclipse before this step may be required.
- It is also possible to clone via https, but with a separate HTTP password.
- In the Git perspective, open the Repository: Remotes -> Right click on origin -> Gerrit Configuration... -> Finish.
- Follow the steps outlined in the next section.
Importing projects into your workspace and resolving dependencies
Henshin's codebase is divided into several plug-in projects with different responsibilies, for example:
- Plug-in org.eclipse.emf.henshin.model: The meta-model
- Plug-in org.eclipse.emf.henshin.diagram: The graphical editor
- Plug-in org.eclipse.emf.henshin.interpreter: The interpeter
- Plug-ins org.eclipse.emf.henshin.{edit,editor}: The tree-based editor
All plug-in projects are contained in the plugins folder in the root directory of our Git repo. Import the plug-ins you want to work on as Eclipse projects into your workspace. Depending on your selection, you may encounter various build errors. Resolve the missing dependencies as follows:
- On build errors for org.eclipse.emf.henshin.diagram, use the Eclipse Marketplace (in Help menu) to install the Graphical Modeling Framework Tooling feature.
- On build errors for org.eclipse.emf.henshin.giraph, use the Eclipse Marketplace to install the Maven Integration for Eclipse feature.
- On build errors for the org.eclipse.emf.henshin.text projects, use the Eclipse Marketplace to install the Eclipse Xtext feature. On further build errors, trigger the Xtext generation process: navigate to org.eclipse.emf.henshin.text -> GenerateHenshin_text.mwe2, right click and do Run As -> MWE2 Workflow.
- On build errors for org.eclipse.emf.henshin.text.transformation, use the Eclipse Marketplace to install the QVT Operational feature. Navigate to the Metamodel Mappings: right click the package org.eclipse.emf.henshin.text.transformation -> Properties -> Metamodel Mappings. There add mappings for org.eclipse.emf.henshin.model/model/henshin.ecore and org.eclipse.emf.henshin.text/model/generated/Henshin_text.ecore: Add -> Browse -> navigate to .ecore-file.
- On build errors for org.eclipse.emf.henshin.interpreter.ui, org.eclipse.emf.henshin.multicda.cpa or org.eclipse.emf.henshin.text.transformation.tests, use the Eclipse Marketplace to install the EMF Compare feature.
- On build errors for org.eclipse.emf.henshin.multicda.cpa, install the AGG Runtime from the Eclipse Orbit Update Site (Help -> Install new software -> Work with this URL and use the filter to find the AGG Runtime)
Pushing changes
After pushing a change, a corresponding entry on Gerrit has been created. Please invite (a subset of) the other committers as reviewers, doing this for all changes.