Skip to content

Add documentation about new commandlets and UrlUpdates #1949

@hohwille

Description

@hohwille

Task summary

We already discussed in the team that the documentation about creating new commandlets and UrlUpdaters is lacking. The knowledge in the team should be present but only in some heads so we need to write it down.
Important key facts:

  • Explain about ecosystems like Npm, Mvn, Pip where we have according implementations of ToolRepository and *BasedCommandlet (BTW: I just noticed that the naming is inconsistent and should be aligned - see MvnBasedLocalToolCommandlet vs. PipBasedCommandlet vs. NpmBasedCommandlet). In case of such ecosystem no UrlUpdater is needed and not even wanted.
  • If an UrlUpdater is needed explain what it is and what options and base-classes there are to implement one. E.g. WebsiteUrlUpdater should be avoided (explain why it is unstable and kind of hacky) and is only used in the worst case where there really is no other option left. For GitHub explain that GithubUrlReleaseUpdater (shouldn't it be consistently named GithubReleaseUrlUpdater) is preferred if the tool provides releases on GitHub (explain how to find out). Only otherwise consider GithubUrlTagUpdater (rename to GithubTagUrlUpdater?).
  • Explain JsonUrlUpdater if we find a REST+JSON API.
  • ...

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requestinternalNothing to be added to CHANGELOG, only internal storyready-to-implementurlside-urls repo and related processes and features

    Type

    No fields configured for Task.

    Projects

    Status

    🆕 New

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions