aboutsummaryrefslogtreecommitdiff
path: root/spark-forge189/build.gradle
blob: a7d8f2b573f25120819b72c87a281af0879f341e (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
import dev.architectury.pack200.java.Pack200Adapter

plugins {
    id 'idea'
    id 'java'
    id 'gg.essential.loom' version '0.10.0.+'
    id 'dev.architectury.architectury-pack200' version '0.1.3'
    id 'com.github.johnrengelman.shadow' version '7.1.2'
    id 'net.kyori.blossom' version '1.2.0'
    id 'maven-publish'
}

sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
compileJava.options.encoding = 'UTF-8'

sourceSets {
    main {
        output.resourcesDir = java.classesDirectory
    }
}

loom {
    forge {
        pack200Provider = new Pack200Adapter()
    }
}

configurations {
    embed
    implementation.extendsFrom(embed)
}

blossom {
    replaceToken("@version@", project.pluginVersion)
}

repositories {
    mavenCentral()
    maven { url = "https://repo.sk1er.club/repository/maven-public/" }
    maven { url = "https://jitpack.io/" }
    maven { url = "https://repo.spongepowered.org/repository/maven-public/" }
}

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'

    embed project(':spark-common')
}

jar {
    archiveClassifier.set("deobf")
}

shadowJar {
    archiveFileName.set("spark-forge189.jar")
    configurations = [project.configurations.embed]

    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

remapJar {
    archiveClassifier.set("USETHISONE")
    from shadowJar
    input.set(shadowJar.archiveFile)
}

artifacts {
    archives shadowJar
    shadow shadowJar
}

build.dependsOn(shadowJar)

processResources {
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version

    // replace stuff in mcmod.info, nothing else
    from(sourceSets.main.resources.srcDirs) {
        include 'mcmod.info'

        // replace version and mcversion
        expand 'version': project.version
    }

    // copy everything else, thats not the mcmod.info
    from(sourceSets.main.resources.srcDirs) {
        exclude 'mcmod.info'
    }

    from(file("LICENSE"))
}

publishing {
    publications {
        maven(MavenPublication) {
            artifactId = 'spark-forge189'
            groupId = project.group
            version = project.version

            artifact(tasks.shadowJar) {
                classifier = "mod"
            }
        }
    }
}