Skip to content

Rename Scheduler API and docs to Executor / Contributte\Executor #1

@ohmyfelix

Description

@ohmyfelix

Goal

Finish the package rebrand so the code, docs, and public API consistently use Executor / Contributte\Executor instead of the old Scheduler naming.

The repository is already contributte/executor, but the package still exposes a large Scheduler surface.

Scope

  • Rename PHP namespaces from Contributte\Scheduler\... to Contributte\Executor\...
  • Rename core public classes/interfaces:
    • IScheduler -> IExecutor
    • Scheduler -> Executor
    • LockingScheduler -> LockingExecutor
    • SchedulerExtension -> ExecutorExtension
  • Update all imports/usages across src/ and tests/
  • Rename console commands from scheduler:* to executor:*
  • Rename DI/docs config examples from scheduler: to executor:
  • Update lock-path and other examples from scheduler to executor
  • Update package/docs metadata and branding:
    • composer.json
    • README.md
    • .docs/README.md
    • ruleset.xml
    • badges, links, package name references, homepage, descriptions

Affected areas

Code

  • src/IScheduler.php
  • src/Scheduler.php
  • src/LockingScheduler.php
  • src/DI/SchedulerExtension.php
  • namespace updates in the rest of src/
  • command classes under src/Command/

Tests

  • tests/Cases/DI/SchedulerExtension.phpt
  • fixtures importing Contributte\Scheduler\...

Metadata / docs

  • composer.json
  • README.md
  • .docs/README.md
  • ruleset.xml

Backward compatibility

This rename changes the public API, so we should decide whether to:

  1. do a hard break for the next major release, or
  2. ship temporary deprecated BC shims

Recommended approach: add temporary BC shims for one transition release.

That would mean:

  • deprecated class/interface aliases or forwarding wrappers for old Contributte\Scheduler\... symbols
  • deprecated scheduler:* command aliases
  • temporary support for old scheduler: config in DI extension if practical

Proposed implementation order

  1. Rename PHP namespace and public symbols to Contributte\Executor
  2. Update DI extension naming and service/config surface
  3. Rename console commands to executor:*
  4. Add BC layer for old names/commands/config if we want a transition period
  5. Update docs, README, badges, package metadata, and examples
  6. Run tests/QA and do a final search for leftover references:
    • Contributte\\Scheduler
    • scheduler:
    • contributte/scheduler
    • github.com/contributte/scheduler

Verification

  • DI container compiles with the new extension/config
  • console exposes the new executor:* commands
  • docs/examples match the final API
  • no stale Scheduler branding remains except intentional BC shims
  • tests and QA pass

Notes

The repo is already named contributte/executor, so this issue is mainly about aligning the codebase and documentation with the repository/package direction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions