Skip to content

Thin veraPDF commands via shared install/env logic #6

Description

@jbagsik

Context

SonarQube duplication on the moox/verapdf branch in production code: InstallVeraPdfCommand (12%), ValidateCommand (26%), and DoctorCommand repeat the same concerns — resolving base path / launcher / Java binary, the "installed / java-available" gating, and status output.

What to build

The veraPDF commands share their install/environment logic through one place instead of repeating it, so each command is thin and the shared logic has a single home.

Acceptance criteria

  • Shared path/Java/installed-gating/status logic is extracted into a trait or VeraPdfService and used by InstallVeraPdfCommand, ValidateCommand, and DoctorCommand.
  • Command behavior and output are unchanged (existing command tests still pass).
  • SonarQube duplication on the command files drops.

Blocked by

None — can start immediately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentSpec is ready for an agent to implement

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions