Skip to content

[0%] Phase 4: Move critter-core into morphia-core #4186

@evanchooly

Description

@evanchooly

Parent: #4179
Blocked by: #4195

Goal

Physically move Java source (converted in Phase 3) into morphia-core, configure optional bytecode-generation dependencies, refactor Generators singleton to instance, update CritterClassLoader.

Details

See Phase 4 in planning doc

Tasks

  • Add optional dependencies to core/pom.xml: gizmo, asm-tree, asm-util, byte-buddy, roaster-jdt (no Kotlin plugin needed)
  • Move all Java source files from critter/core to core preserving package structure
  • Move relevant test files from critter/core to core
  • Refactor Generators from static singleton to instance class with constructor injection
  • Update all files referencing Generators.config/Generators.mapper to use instance
  • Update CritterClassLoader to accept parent classloader parameter
  • Verify pure-Java compilation succeeds
  • Run critter-core tests from new location

Progress Tracking

phase_percentage = (completed_tasks / 8) * 100, rounded to nearest integer
gh issue edit 4186 --repo MorphiaOrg/morphia --title "[XX%] Phase 4: Move critter-core into morphia-core"

parent_percentage = (total_completed_tasks_across_all_phases / 55) * 100, rounded to nearest integer
gh issue edit 4179 --repo MorphiaOrg/morphia --title "[XX%] Integrate critter-core into morphia-core"

When all tasks are complete (100%), close this issue and check its box in #4179.

Metadata

Metadata

Assignees

No one assigned

    Labels

    critterCritter bytecode generation integrationenhancement

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions