RyanHub - file viewer
filename: build.gradle
branch: 1.21
back to repo
plugins {
    id 'dev.architectury.loom' version '1.9-SNAPSHOT' apply false
    id 'architectury-plugin' version '3.4-SNAPSHOT'
    id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
    id 'org.sinytra.wiki.toolkit' version '0.1.16'
    id "me.modmuss50.mod-publish-plugin" version "0.8.0"
}

wiki {
    docs {
        oritech {
            // The path to the folder containing the documentation metadata file (sinytra-wiki.json)
            root = file('docs')
            exportedAssetNamespaces = ['oritech']
            wikiAccessToken = System.getenv('WIKI_TOKEN')
        }
    }
}

task runDatagenNeoforge(type: GradleBuild) {
    buildFile = 'neoforgedatagen/build.gradle'
    tasks = ['runData']
}

architectury {
    minecraft = project.minecraft_version
}

allprojects {
    group = rootProject.maven_group
    version = rootProject.mod_version
}

subprojects {
    apply plugin: 'dev.architectury.loom'
    apply plugin: 'architectury-plugin'
    apply plugin: 'maven-publish'
    apply plugin: 'me.modmuss50.mod-publish-plugin'

    base {
        // Set up a suffixed format for the mod jar names, e.g. `example-fabric`.
        archivesName = "$rootProject.archives_name-$project.name"
    }

    loom {
        runs.configureEach {
            vmArg("-Dmixin.env.remapRefMap=true")
            vmArg("-Dmixin.env.refMapRemappingFile=${projectDir}/build/createSrgToMcp/output.srg")
        }
    }


    repositories {
        maven {
            name = 'Owo'
            url 'https://maven.wispforest.io/releases/'
        }

        maven {
            name = 'GeckoLib'
            url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
        }
        maven {
            name = 'REI'
            url "https://maven.shedaniel.me/"
        }

        maven { // EMI
            name = 'TerraformersMC'
            url 'https://maven.terraformersmc.com/'
        }

        maven { // jade
            name = 'CurseMaven'
            url "https://beta.cursemaven.com"
        }

        maven { // FFAPI
            name = "Sinytra"
            url "https://maven.su5ed.dev/releases"
        }

        maven { // JEI
            name = "Jared's maven"
            url = "https://maven.blamejared.com/"
        }

        maven { // for athena/CSL
            name = 'teamresourceful'
            url "https://maven.teamresourceful.com/repository/maven-public/"
        }

        // create:
        maven { url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/" }
        maven { url = "https://maven.createmod.net" }   // create + ponder + flywheel?

    }

    dependencies {
        minecraft "net.minecraft:minecraft:$rootProject.minecraft_version"
        mappings loom.layered {
            it.mappings("net.fabricmc:yarn:$rootProject.yarn_mappings:v2")
            it.mappings("dev.architectury:yarn-mappings-patch-neoforge:$rootProject.yarn_mappings_patch_neoforge_version")
        }
    }

    java {
        // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
        // if it is present.
        // If you remove this line, sources will not be generated.
        withSourcesJar()

        sourceCompatibility = JavaVersion.VERSION_21
        targetCompatibility = JavaVersion.VERSION_21
    }

    tasks.withType(JavaCompile).configureEach {
        it.options.release = 21
    }

    // Configure Maven publishing.
    publishing {
        publications {
            mavenJava(MavenPublication) {
                artifactId = base.archivesName.get()
                from components.java
            }
        }

        // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
        repositories {
            // Add repositories to publish to here.
            // Notice: This block does NOT have the same function as the block in the top level.
            // The repositories here will be used for publishing your artifact, not for
            // retrieving dependencies.
        }
    }
}