fix(emf): remove the two things that would break an examiner's import - #137
Merged
Merged
Conversation
#132 asks for a clean Eclipse import to be proved by hand, which needs a person at the IDE. Two of the failures it predicts can be removed first, so that session confirms rather than debugs. **m2e had no lifecycle mapping for `exec-maven-plugin`**, which is how both metamodels generate their typed Java. Without one, an import reports "Plugin execution not covered by lifecycle configuration" against every such execution, and a grader meets a red workspace before reading a line of the model. The mapping is declared in `pluginManagement`: Maven ignores it, m2e reads it. `runOnIncremental` is false, because regenerating a metamodel on every keystroke helps nobody and a full build still runs it. #87 made this worse without noticing, by adding a second execution. **The generated sources do not exist at import time.** `build.properties` names `target/generated-sources/emf/` as a source folder, and on a clean clone that directory is not there: import first and the workspace opens with every reference to a generated package unresolved. The README now opens with the terminal build and says why, which is the second acceptance criterion taking its own "or" branch. The README also notes that five of the six modules are `eclipse-plugin` packaging, which m2e maps through the Tycho configurator, so the importer may offer to install a connector. Every file the instructions name was checked against the tree: `emf.target`, `skeleton.ecore`, `empty.xmi`, `skeleton.ocl`, `notes.xmi`, `identity.launch` and `file.launch` all exist. What remains is the import itself, and the issue stays open for it.
Shape
CoverageBaseline:
This pull request changed no covered line. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #132, and deliberately does not close it.
What this branch does
#132 asks for a clean Eclipse import to be proved by hand. That needs a person at the IDE, which is why the issue carries no
status: ready-for-agentand why this leaves it open. What it does is remove two of the failures the issue predicts, so that session confirms rather than debugs.m2e had no lifecycle mapping for
exec-maven-plugin, which is how both metamodels generate their typed Java. Without one an import reports "Plugin execution not covered by lifecycle configuration" against every such execution, and a grader meets a red workspace before reading a line of the model. The mapping is declared inpluginManagement: Maven ignores it, m2e reads it.runOnIncrementalis false, because regenerating a metamodel on every keystroke helps nobody and a full build still runs it.#87 made this worse a few hours ago without noticing, by adding a second execution for the target metamodel. The issue named the risk against one generator and there are now two.
The generated sources do not exist at import time.
build.propertiesnamestarget/generated-sources/emf/as a source folder, and on a clean clone that directory is not there: import first and the workspace opens with every reference to a generated package unresolved.emf/README.mdnow opens with the terminal build and says why it is needed, which is the second acceptance criterion taking its own "or" branch.The README also notes that five of the six modules are
eclipse-pluginpackaging, which m2e maps through the Tycho configurator, so the importer may offer to install a connector and ask to restart.What was checked, and what was not
Every file the instructions name exists:
emf.target,model/skeleton.ecore,model/empty.xmi,model/skeleton.ocl,model/notes.xmi,identity.launchandfile.launch.Nothing here proves the import. Whether the target platform resolves, whether the OCL document reports
skeletonHasAnApplicationonempty.xmi, and whether the two launch configurations write their output are all still open, and all still #132's.Verification
./mvnw -B -ntp verifyfromemf/exits 0, so the lifecycle-mapping block is inert to Maven, which is the point of it. Rootnpm run verifygreen at 782 tests.