aboutsummaryrefslogtreecommitdiff
path: root/forge/build.gradle
blob: 736e12434dadfb9c1dee388aa04e000d806fb126 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
plugins {
    id "com.github.johnrengelman.shadow" version "5.0.0"
}

configurations {
    shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
}

architectury {
    platformSetupLoomIde()
    forge()
}

processResources {
    filesMatching("META-INF/mods.toml") {
        expand "version": project.version
    }
    inputs.property "version", project.version
}

repositories {
    maven { url "https://www.cursemaven.com" }
    maven {
        name "Modmaven"
        url "https://modmaven.dev/"
        // For Gradle 5.1 and above, limit it to just AE2
        content {
            includeGroup 'appeng'
        }
    }
}

dependencies {
    forge("net.minecraftforge:forge:${rootProject.minecraft_version}-${rootProject.forge_version}")
    modApi("me.shedaniel.cloth:cloth-config-forge:${cloth_config_version}")
    modApi("me.shedaniel:architectury-forge:${architectury_version}")

    implementation(project(path: ":api")) { transitive = false }
    implementation(project(path: ":default-plugin")) { transitive = false }
    implementation(project(path: ":runtime")) { transitive = false }
    implementation(project(path: ":jei-compatibility-layer")) { transitive = false }
    developmentForge(project(path: ":api")) { transitive = false }
    developmentForge(project(path: ":default-plugin")) { transitive = false }
    developmentForge(project(path: ":runtime")) { transitive = false }
    developmentForge(project(path: ":jei-compatibility-layer")) { transitive = false }

    shadowCommon(project(path: ":api", configuration: "transformProductionForge")) { transitive = false }
    shadowCommon(project(path: ":default-plugin", configuration: "transformProductionForge")) { transitive = false }
    shadowCommon(project(path: ":runtime", configuration: "transformProductionForge")) { transitive = false }
    shadowCommon(project(path: ":jei-compatibility-layer")) { transitive = false }

    modRuntime("curse.maven:chiselsbits-231095:3176033")
    modRuntime("curse.maven:jumbofurnace-390880:3120970")
    modRuntime("curse.maven:cyclic-239286:3221427")
    modRuntime("curse.maven:mekanism-268560:3206392")
    modRuntime("curse.maven:refined-storage-243076:3196167")
    modRuntime("appeng:appliedenergistics2:8.2.0")
}

shadowJar {
    configurations = [project.configurations.shadowCommon]
    classifier "dev-shadow"
}

remapJar {
    input.set shadowJar.archiveFile
    dependsOn shadowJar
    classifier "forge"
}

jar {
    classifier "dev"
}

curseforge {
    if (project.hasProperty('danielshe_curse_api_key') || System.getenv('danielshe_curse_api_key') != null) {
        apiKey = project.hasProperty('danielshe_curse_api_key') ? project.property('danielshe_curse_api_key') : System.getenv('danielshe_curse_api_key')
        project {
            id = "392060"
            releaseType = "beta"
            changelogType = "html"
            changelog = rootProject.releaseChangelog
            addGameVersion "1.16.4"
            addGameVersion "1.16.5"
            addGameVersion "Java 8"
            addGameVersion "Forge"
            relations {
                requiredDependency "architectury-forge"
                requiredDependency "cloth-config-forge"
            }
            mainArtifact(tasks.getByName("remapJar")) {
                displayName = "[Forge $project.supported_version] v$project.version"
            }
        }
    }
    options {
        forgeGradleIntegration = false
        javaVersionAutoDetect = false
    }
}