feat: support sysand add/remove PURL shorthand#354
Conversation
cddcbb0 to
00a2463
Compare
|
I think |
7b1ce1f to
0130dea
Compare
Users can identify indexed packages as `publisher/name`, but `sysand add` and `sysand remove` previously required the full `pkg:sysand/publisher/name` IRI. Their CLI locators also parsed inputs as IRIs before core command logic could apply command-specific behavior. Expand valid Sysand PURL shorthand in the add and remove paths so normalized `publisher/name` input maps to the canonical PURL. Reject shorthand that would require normalization first. Leave other resources to existing command validation. Keep the shorthand scoped to add and remove by leaving general project usage validation unchanged. Update CLI parsing, docs, and Python binding coverage for the new behavior. Signed-off-by: Erik Sundell <erik.sundell+2025@sensmetry.com>
0130dea to
98dca27
Compare
|
Hmmm this became more work than I have time to allocate to make deadlines. Do you have time to finalize/re-work it? Decision required about core change vs CLI change: My take is that this change isn't CLI specific, so it should be implemented in the core layer, but what we do matters less to me than we move forward. If we would reprompt AI to implement this from scratch, I'd describe it as we want add/remove functionality in the core layer updated to:
|
Signed-off-by: Andrius Pukšta <andrius.puksta@sensmetry.com>
|
Done everything to my liking. Now core |
Signed-off-by: Andrius Pukšta <andrius.puksta@sensmetry.com>
Users can identify indexed packages as
publisher/name, butsysand addpreviously required the fullpkg:sysand/publisher/nameIRI. The CLI also parsed the positionaladd locator as an IRI before core add logic could apply add-specific
behavior.
Expand valid Sysand PURL shorthand in the add path so normalized
publisher/nameinput is stored as the canonical PURL. Reject shorthandthat would require normalization first. Leave other add resources to
existing usage validation. Keep the shorthand scoped to add by leaving
general project usage validation and remove parsing unchanged. Update
CLI parsing, docs, and Python binding coverage for the new add behavior.