aboutsummaryrefslogtreecommitdiff
path: root/loader/build.gradle
blob: a163444bee8a4520398101bfb7cb3eede8fdc3c9 (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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
plugins {
    id "idea"
    id "java"
    id "com.github.johnrengelman.shadow" version "7.1.2"
    id "dev.architectury.architectury-pack200" version "0.1.3"
    id "gg.essential.loom" version "0.10.0.+"
}

version = "4.0.0"
group = "kr.syeyoung.dungeonsguide"
archivesBaseName = "dungeonsguide"


java {
    toolchain.languageVersion.set(JavaLanguageVersion.of(8))
}

loom {
    launchConfigs {
        client {
            // probably will have to my own mixin tweaker, due to dungeonsguide's weird dynamic loading stuff
//            property("mixin.debug", "true")
//            property("asmhelper.verbose", "true")
//            arg("--mixin", "mixins.examplemod.json")

        }
    }
    runConfigs {
        named("client") {
            ideConfigGenerated(true)
            vmArgs.remove("-XstartOnFirstThread")
        }
    }
    runs {

        client {
            runDir = '../runtime'
            property('devauth.enabled','true')
            property("fml.coreMods.load", "kr.syeyoung.dungeonsguide.launcher.coremod.DGTweaker")
            client()
            vmArgs.remove("-XstartOnFirstThread")
        }
    }
    forge {
        pack200Provider.set(new dev.architectury.pack200.java.Pack200Adapter())
    }
}


sourceSets.main {
    output.setResourcesDir(file("$buildDir/classes/java/main"))
}


repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
    // dev auth
    maven {url "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1"}
}

configurations {
    implementation.extendsFrom shadowImpl
}


dependencies {
    minecraft("com.mojang:minecraft:1.8.9")
    mappings("de.oceanlabs.mcp:mcp_stable:22-1.8.9")
    forge("net.minecraftforge:forge:1.8.9-11.15.1.2318-1.8.9")

    implementation "org.jetbrains:annotations-java5:19.0.0"
    implementation "org.json:json:20171018"
    implementation 'io.nayuki:qrcodegen:1.4.0'
    implementation 'org.bouncycastle:bcpg-jdk15on:1.70'


    compileOnly "org.projectlombok:lombok:1.18.20"
    annotationProcessor "org.projectlombok:lombok:1.18.16"

    testCompileOnly "org.projectlombok:lombok:1.18.20"
    testAnnotationProcessor "org.projectlombok:lombok:1.18.20"


    modRuntimeOnly("me.djtheredstoner:DevAuth-forge-legacy:1.1.0")
}


tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}

tasks.withType(Jar) {
    archivesBaseName = "dungeonsguide-loader"
    manifest {
        attributes["FMLCorePluginContainsFMLMod"] = "true"
        attributes["FMLCorePlugin"] = 'kr.syeyoung.dungeonsguide.launcher.coremod.DGTweaker'
//        attributes["ForceLoadAsMod"] = "true" not applicable, not using mixins
//        attributes["TweakClass"] = "kr.syeyoung.dungeonsguide.launcher.coremod.DGTweaker"

        // If you don't want mixins, remove these lines
//        this["TweakClass"] = "org.spongepowered.asm.launch.MixinTweaker"
//        this["MixinConfigs"] = "mixins.examplemod.json"
    }
}


tasks.shadowJar {
    archiveFileName = jar.archiveFileName
    exclude "META-INF/versions/**"
    dependencies {
        include(dependency("org.slf4j:slf4j-api:1.7.25"))
        include(dependency("org.json:json:20171018"))
        include(dependency("org.bouncycastle:bcpg-jdk15on:1.70"))
        include(dependency("org.bouncycastle:bcprov-jdk15on:1.70"))
    }
}

tasks.named("remapJar") {
    archiveClassifier = "all"
    from(tasks.shadowJar)
    input = tasks.shadowJar.archiveFile
}


tasks.assemble.dependsOn tasks.remapJar