Conversation
Swap the deprecated AbstractCommandExecutor for the current BaseCommandExecutor (import + extends only). All @CmdTarget, @cmdexecutor, @CmdMapping and @CmdParam annotations are preserved verbatim, and the existing handleHelp(CommandSender) override is kept unchanged, satisfying BaseCommandExecutor's protected abstract contract with no stub. Compiles against the existing released UltiTools-API 6.2.2 pin, no snapshot repository added (D-10 round 1).
…pshots - Bump the UltiTools-API dependency from the released 6.2.2 to the 6.3.0-SNAPSHOT lineage (phase 9, MOD-01/MOD-02), ahead of the 6.3.0 release. - Add the central-snapshots repository entry; without it the snapshot coordinate cannot be resolved at all. - Record, in the pom near the build section, that this repository is deliberately out of scope for the module coverage gate: it has no CI workflow to run one in, and it demonstrates the External Plugin API rather than shipping as a UltiToolsPlugin module. - Module version and line endings unchanged.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
4 tasks
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.
Summary
Brings this example onto the 6.3.0 lineage and proves it loads. Builds on top of
#1 (
feat(GEN-02): migrate GreetCommand to BaseCommandExecutor), which this branchincludes -- so this PR's diff against
mastercarries both changes. #1 itself stayson HOLD per the maintainer's 2026-09-02 note (do not merge until 6.3.0 is actually
released); this PR does not change that. It is opened, not merged, for the same
milestone-wide reason every other module pull request in this phase is open and
unmerged: the maintainer reviews all of them personally.
What changed (on top of #1)
pom.xml:UltiTools-APIpinned from the released6.2.2to6.3.0-SNAPSHOT,and the
central-snapshotsrepository added -- without it the snapshotcoordinate cannot resolve at all.
pom.xml: a short English comment near the<build>section records that thisrepository is deliberately not subject to the module coverage gate applied
to the sixteen product modules -- it demonstrates the External Plugin API rather
than shipping as a
UltiToolsPluginmodule, and it has no CI workflow to run agate in. No jacoco
checkgoal, no.github/workflows/, no dependabot wereadded; that absence is this decision, not an oversight.
Verification
env -u JAVA_TOOL_OPTIONS mvn -B -f pom.xml clean package:BUILD SUCCESS,resolving
UltiTools-API-6.3.0-SNAPSHOTfromcentral-snapshots.UltiTools-External-Example-1.0.0.jar, sha25603126813df796f2580442bbf43b70cefd466b80de0032c5b524477935f9e2f1d) installedon the recorded 6.3.0-SNAPSHOT server build (commit
9c62d45d) alongside thesixteen product-module JARs, left untouched. Clean enable:
[UltiToolsExtExample] Enabling UltiToolsExtExample v1.0.0,External plugin registered,External plugin connected,UltiTools External Example enabled!-- zeroNoSuchMethodError/NoClassDefFoundError/ClassNotFoundExceptionfor thisplugin's own package (
com.example.ultitoolsext), against the same server run'sknown, already-tracked failures for OTHER not-yet-migrated modules.
GreetCommandproven to actually register and execute, not merely load withoutcrashing: the framework logs nothing observable on successful command
registration, so
/ultiext hellowas issued from the server console and itsresponse captured verbatim --
"Hello Console! This message is from an external plugin using UltiTools-API.",GreetService.greet()'s own return value, reachedonly through
GreetCommand'shellomapping ->@Autowired GreetServiceinjection -> method invocation.
(16) confirmed untouched afterward.
Scope note
This is load-correctness only -- no coverage gate, no CI, no dependabot -- a
deliberate decision recorded in the pom, not an omission. Not merging in this PR.
🤖 Generated with GSD phase-09-14 execution.