Skip to content

Multi Module Projects

AzureDoom edited this page Aug 5, 2026 · 3 revisions

Multi-Module Projects

In a multi-module Gradle project, apply HytalePublisher only to the subproject that produces the mod JAR.

Root settings.gradle

pluginManagement {
    repositories {
        gradlePluginPortal()
        mavenLocal()
        maven {
            url = uri("https://maven.azuredoom.com/mods")
        }
    }
}

rootProject.name = "my-hytale-mods"

include "core"
include "addon"

Root build.gradle

subprojects {
    group = "com.example.hytale"
    version = "1.0.0"

    ext.hytale_version = "your-game-version"
}

Mod subproject (core/build.gradle)

plugins {
    id "java"
    id "com.azuredoom.hytalepublisher" version "1.+"
}

hytalePublisher {
    releaseType = "release"
    changelogFile = "changelog.md"

    modtale {
        enabled = true
        projectId = "your-modtale-project-id"
    }

    curseforge {
        enabled = true
        projectId = "123456"
    }

    modifold {
        enabled = true
        projectId = "your-modifold-project-slug"
        gameVersions = [project.hytale_version]
        loaders = ["vanilla"]
    }
}

Run publishing from the root project with the subproject path:

./gradlew :core:publishAll

Or publish to a single platform:

./gradlew :core:publishToModtale

Each publish task uses the JAR built by the subproject where the plugin is applied.

Clone this wiki locally