Skip to content

Use HTTP Problem Details (rfc9457) to signal deploy issues #911

@tobias

Description

@tobias

Clojars currently uses an HTTP status-message to report issues with a deploy back to the user. However, status-message is deprecated in HTTP/1.1, and requires a hack to Jetty to work, which prevents us from upgrading to Jetty 12, as it no longer works there.

The Apache Maven Resolver now supports Problem Details, so if Clojars were to return deploy issues using that format, the client could show them, and we could (eventually) get rid of the status-message hack. I have a branch with a WIP spike for this, and it is pretty straightforward to implement.

However, for users to see these messages, we need to update pomegranate to use a version of Maven Resolver that supports showing problem details (org.apache.maven.resolver/maven-resolver-transport-http {:mvn/version "1.9.24"}, and possibly org.apache.maven/maven-resolver-provider {:mvn/version "3.9.10"}), and change pomegranate to use the HTTP Transport by default instead of the older HTTP Wagon, as only the Transport supports problem details.

Once pomegranate is updated, we need to make updates to leiningen and deps-deploy to use the new pomegranate version (Q: are there other tools that need to be updated?) and get those released.

Then we wait for adoption of the new deploy tooling. Once sufficient time has passed, we can remove the status-message support from Clojars.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions