You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@solr.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2026/10/06 17:13:00 UTC
[jira] [Updated] (SOLR-18511) Port ClusterTool to PicoCli
[ https://issues.apache.org/jira/browse/SOLR-18511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated SOLR-18511:
----------------------------------
Labels: newdev pull-request-available (was: newdev)
> Port ClusterTool to PicoCli
> ---------------------------
>
> Key: SOLR-18511
> URL: https://issues.apache.org/jira/browse/SOLR-18511
> Project: Solr
> Issue Type: Improvement
> Components: cli
> Reporter: Jan Høydahl
> Priority: Major
> Labels: newdev, pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Port {{ClusterTool}} to picocli, adding the picocli code path alongside the existing commons-cli one.
> *Covers:* {{bin/solr cluster}}
> The command sets a single cluster property via {{\-\-property}} and {{\-\-value}}, where an omitted value unsets the property. There are no sub-commands, and the connection and credential options come from the shared mixins.
> *Acceptance criteria*
> * {{bin/solr cluster}} and all its options work with {{SOLR_PICOCLI=true}}, and the commons-cli path is left behaviourally unchanged.
> * {{ClusterTool}} is registered in {{SolrCLI}}'s picocli {{subcommands}} list and {{ToolBase.callTool()}} is implemented, replacing the {{UnsupportedOperationException}} stub.
> * Shared options reuse the existing mixins ({{ConnectionOptions}}, {{CredentialsOptions}}, {{HelpMixin}}) rather than redeclaring them.
> * An {{ClusterToolPicocliTest}} subclasses the existing test and overrides only the {{runTool}} hook, so the inherited assertions run through both parsers.
> * {{./gradlew :solr:solr-ref-guide:generateCliDocs}} is re-run and the generated {{cli/solr-cluster.adoc}} page is committed, so {{checkCliDocsUpToDate}} passes.
> *AI assistance:* a coding-agent prompt template encoding the patterns already established by the ported tools is available at [https://gist.github.com/janhoy/a3fe0dbcaadf24b3493558946cc549d9] — name {{ClusterTool}} in its Assignment line up front and the rest of the prompt adapts. Please review agent output as carefully as hand-written code.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@solr.apache.org
For additional commands, e-mail: issues-help@solr.apache.org