Integrate Runtime into DefaultContext#660
Merged
Merged
Conversation
…es) into DefaultContext
FDelporte
requested changes
Jun 18, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR inlines the former com.pi4j.runtime.Runtime responsibilities into DefaultContext, removing the dedicated runtime layer and associated provider wrappers so the Context directly owns initialization/shutdown, plugin discovery, provider lifecycle, registry, events, and task execution.
Changes:
- Removed the standalone
Runtimeabstraction and related provider wrapper interfaces/classes. - Moved runtime-managed provider/registry implementations under
com.pi4j.context.impl. - Inlined runtime initialization/shutdown logic (plugins/providers/events/executors/registry) into
DefaultContext.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pi4j-core/src/main/java/com/pi4j/runtime/Runtime.java | Deleted; runtime lifecycle responsibilities are moved into DefaultContext. |
| pi4j-core/src/main/java/com/pi4j/provider/impl/RuntimeProviders.java | Deleted; runtime-specific provider lifecycle interface removed. |
| pi4j-core/src/main/java/com/pi4j/provider/impl/DefaultProviders.java | Deleted; provider delegation wrapper removed. |
| pi4j-core/src/main/java/com/pi4j/context/impl/MutableRegistry.java | Package adjusted to match location under context.impl (runtime-managed registry now context-managed). |
| pi4j-core/src/main/java/com/pi4j/context/impl/MutableProviders.java | Moved/renamed and reworked to be context-managed (MutableProviders) rather than runtime-managed. |
| pi4j-core/src/main/java/com/pi4j/context/impl/DefaultContext.java | Major changes: inlines runtime initialization/shutdown, plugin/provider lifecycle, registry ownership, event managers, executor pool, and shutdown hook. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
It was mostly just delegating to other entities anyway -- adding a layer of indirection that did not seem to have much of a clear purpose on its own
I have tried to strictly inline only -- there shouldn't be any semantic changes.