Skip to content

Make emf/ navigable and its parity tier independent #127

Description

@ExtraToast

Parent

#78

What to build

emf/ reads as one flat list of six Eclipse bundles, and nothing in the listing says which of them a course examiner opens and which exist only for this repository's own evidence. The parity suite is the sharpest case: it reaches past the pipeline's interface into Pipeline, Parsed, Diagnostic and Descriptor, which is why parity/pom.xml is eclipse-plugin packaging while emf/docs/architecture.md says a module needing no p2 bundle stays a plain jar. That drift is live.

This epic closes it in the order the two decisions take: the parity suite moves onto the pipeline's file interface and becomes a plain jar, then the tree splits into bundles/ for what Tycho builds and Eclipse imports and tests/ for what only Maven runs, and the second tier is ported to Kotlin, the estate's JVM language.

Decided in 0120 and 0121, recorded in #126. Neither is implemented there: emf/docs/architecture.md still describes the tree as it is, with each decision beside it as a "proposed, not landed" note. This epic is what removes those notes.

Acceptance criteria

  • tests/parity builds as a plain jar, holds no EMF type, and resolves nothing from the target platform.
  • EMF-010 and EMF-011 still fail on a fixture that breaks them, rather than passing on an empty class import.
  • bundles/ holds the five graded modules and tests/ the parity tier; ./mvnw -B -ntp verify is green from emf/.
  • emf/README.md answers "where does this artefact live, and which task grades it" in one table.
  • Both "proposed, not landed" notes are gone from emf/docs/architecture.md, because the tree matches what it says.

Blocked by

  • None (can start immediately).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.priority: P2Medium; normal planned work.type: refactorCode structure change without intended behavior change.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions