Skip to content

Revisit published Maven artifact names (artifactId) #3245

@IgnatBeresnev

Description

@IgnatBeresnev

Tech debt

The Maven artifacts that are currently published by Dokka are somewhat inconsistent:

  1. There's no distinction between a simple Dokka plugin (mathjax-plugin), a Dokka runner (dokka-maven-plugin) and an output format (gfm-plugin), although all of them are plugins in their own right.
  2. Some artifact names are prefixed with dokka- (like dokka-core and dokka-base), others are not.
  3. dokka-test-api is in reality test API for dokka-core, which isn't obvious.
  4. It's unclear whether dokka-base needs special treatment, since it's just a Dokka plugin (should it be base-plugin instead?)
  5. Artifact names like plugin-jekyll-template-processing are not user friendly, although they are expected to be used in non-Gradle runners for generating multimodule documentation. Should they even be published as a separate artifact? (can probably be bundled with the main format plugin, and enabled conditionally if all-modules-page plugin is on classpath)

These inconsistencies and the lack of an easy to follow logic in naming leads to problems with perception, and makes it difficult to use Gradle's composite builds (they require the name of the project to be the same as the artifact name).

Proposed solution

The artifact names should be revisited:

  1. Think of and agree on consistent artifact naming guidelines for Dokka.
  2. Rename the published artifacts.
  3. Configure relocation for the renamed artifacts.

This issue came into existence after it started getting in the way of #3174. Temporary workarounds have been put in place until this issue is resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementAn issue for a feature or an overall improvementtech-debtA technical issue that is not observable by the users, but improves maintainers quality of life

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions