Package io.github.smootheez.curseforge
Class CurseforgePublisher
java.lang.Object
io.github.smootheez.Publisher
io.github.smootheez.curseforge.CurseforgePublisher
Handles publishing mod files to CurseForge using the CurseForge upload API.
This publisher is responsible for:
- Resolving configured game versions, loaders, and environments
- Constructing metadata for the upload request
- Building and sending a multipart upload request to CurseForge
- Logging responses and raising exceptions for failed uploads
-
Field Summary
-
Constructor Summary
ConstructorsConstructorDescriptionCurseforgePublisher(org.gradle.api.Project project, McModPublisherExtension extension, okhttp3.OkHttpClient client) Constructs a new CurseForge publisher instance. -
Method Summary
-
Constructor Details
-
CurseforgePublisher
public CurseforgePublisher(org.gradle.api.Project project, McModPublisherExtension extension, okhttp3.OkHttpClient client) Constructs a new CurseForge publisher instance.- Parameters:
project- the Gradle projectextension- the plugin extension containing user configurationclient- the HTTP client used for API communication
-
-
Method Details
-
publish
public void publish()Publishes all configured files to CurseForge.Steps performed include:
- Reading configuration (token, project ID, load targets)
- Resolving valid CurseForge game version IDs
- Constructing upload metadata
- Sending each file to CurseForge using a multipart upload
-