Class ModrinthPublisher

java.lang.Object
io.github.smootheez.Publisher
io.github.smootheez.modrinth.ModrinthPublisher

public class ModrinthPublisher extends Publisher
Publishes mod versions to Modrinth using their official API.

This publisher is responsible for:

  • Validating configuration such as release type, status, and game versions
  • Fetching available game versions from Modrinth
  • Building metadata for the version upload
  • Uploading files and metadata via multipart requests
  • Constructor Details

    • ModrinthPublisher

      public ModrinthPublisher(org.gradle.api.Project project, McModPublisherExtension extension, okhttp3.OkHttpClient client)
      Constructs a new ModrinthPublisher.
      Parameters:
      project - the Gradle project instance
      extension - the plugin configuration extension
      client - the HTTP client used for API communication
  • Method Details

    • publish

      public void publish()
      Executes the publishing process to Modrinth.

      This includes:

      • Validating configuration
      • Fetching supported game versions from Modrinth
      • Constructing metadata
      • Sending the multipart request containing metadata and mod files
      Logs and aborts on invalid configuration or missing versions.
      Specified by:
      publish in class Publisher