Skip to content

✨ Implement Hangar platform support (fix HANGER typo) #238

@Nlkomaru

Description

@Nlkomaru

Summary

Hangar (PaperMC's plugin repository) is advertised in documentation but is not functional.

Current state

  • RepositoryType.kt line 23: Enum value is misspelled as HANGER instead of HANGAR
  • DownloaderRepositoryImpl.kt lines 237-239: Hangar downloads return null
  • DownloaderRepositoryImpl.kt lines 119-122: Version retrieval returns generic "unknown" version data
  • URL parsing for Hangar exists (PluginMetadataManagerImpl.kt lines 82-86) but leads to dead ends

What needs to be done

  1. Fix typo: Rename HANGERHANGAR in RepositoryType.kt (this is a breaking change for any existing configs using the string)
  2. Implement HangarDownloader: Create a downloader that uses the Hangar API
  3. Wire into all paths: Ensure Hangar works in:
    • getLatestVersion()
    • getVersionByName()
    • getAllVersions()
    • downloadByVersion()
  4. Add tests: At least contract tests for version resolution
  5. Update docs: Confirm Hangar support in documentation

Impact

  • Documentation promises Hangar support that doesn't work
  • Users trying to install from Hangar will get confusing errors

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions