Skip to content

Releasing Kdl4J on Maven Central #13

@alightgoesout

Description

@alightgoesout

The first release of Kdl4J 1.0.0 is nearly ready. I would like to publish it to Maven Central.

Motivation

For now, I have only published on GitHub packages. The packages are also available on external services, such as JitPack. None of this options are satisfying. Using a package on GitHub packages requires authenticating with a personal token. JitPack is a freemium service, I do not feel comfortable relying on it for releases. This also creates a hard reliance on GitHub, and would prevent moving to another code hosting service in the future.

Maven central is the most used Maven repository and the de facto standard. I know some developers in my company would like to use KDL for some internal projects, but we can only use packages published on Maven Central or our internal package repository. Using another repository (such as GitHub packages) would be too complicated and I don't think anyone would push hard enough for this to happen. I also think this is a very common case.

Publishing on Maven Central

Maven Central is actually two repositories : OSSRH and Central Portal. The former has been deprecated and is only available for existing packages, all new packages must register with the latter. To publish a package, we need to register a namespace, which can be tied to a code hosting service (such as GitHub) or a domain name. Since KDL already has its domain name (kdl.org), I think we should use the dev.kdl namespace.

Right now the process is a bit cumbersome. One must create an account, add the namespace and verify it with DNS (by adding TXT entry). Then they can publish packages on the namespace, or add other users to the namespace. It is currently only possible to add new users through their support.

@zkat, what's your opinion on this ?

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