aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: 839d15becacf19c70e61c8b48aa58c3fa0214a76 (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
// For those who want the bleeding edge
buildscript {
    repositories {
        maven {
            name = "forge"
            url = "https://files.minecraftforge.net/maven"
        }
    }
    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
    }
}
apply plugin: 'net.minecraftforge.gradle.forge'
allprojects {
    apply plugin: 'maven-publish'
    version = "1.0.0.2" // First 3 numbers should correspond to the version of the API, last number is for the mod itself for any changes/fixes
    group = "net.hypixel" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
    archivesBaseName = "HypixelModAPI"

    repositories {
        maven {
            url "https://repo.hypixel.net/repository/Hypixel/"
        }
        maven {
            url "https://pkgs.dev.azure.com/djtheredstoner/DevAuth/_packaging/public/maven/v1"
        }
        mavenLocal()
    }

    publishing {
        publications {
            maven(MavenPublication) {
                groupId = project.group
                artifactId = project == rootProject ? 'mod-api-forge' : ('mod-api-forge-' + project.name)
                version = project.version
                    from components.java
                }
        }
    }
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

minecraft {
    version = "1.8.9-11.15.1.1722"
//    version = "1.8.9-11.15.1.2318-1.8.9"
    runDir = "run"

    mappings = "stable_22"

    replace('${version}', project.version)
    replaceIn("ForgeModAPI.java")
}

configurations {
    shade
    compile.extendsFrom shade
}

dependencies {
    shade "net.hypixel:mod-api:1.0"
    runtimeOnly "me.djtheredstoner:DevAuth-forge-legacy:1.2.1"
}

jar {
    configurations.shade.each { dep ->
        from(project.zipTree(dep)) {
            exclude 'META-INF', 'META-INF/**'
        }
    }
}

processResources {
    // this will ensure that this task is redone when the versions change.
    inputs.property "version", project.version
    inputs.property "mcversion", project.minecraft.version

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

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

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