summaryrefslogtreecommitdiffstats
path: root/build.gradle
blob: da7f917cb7eebb06b9cc3704de9c6d92e624f3e2 (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
127
128
129
130
131
132
133
134
plugins {
    id 'java'
    id 'com.github.johnrengelman.shadow' version '6.1.0'
    id 'maven-publish'
}

group = 'com.leonardobishop'
version = '2.18'

processResources {
    duplicatesStrategy = 'include'
    from(sourceSets.main.resources.srcDirs) {
        include 'plugin.yml'
        expand('version': project.version)
    }
}

repositories {
    // Spigot
    maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
    // ASkyBlock, BentoBox
    maven { url = 'https://repo.codemc.org/repository/maven-public/' }
    // uSkyBlock
    maven { url = 'https://raw.github.com/rlf/uSkyBlock/mvn-repo/' }
    // Citizens
    maven { url = 'https://repo.citizensnpcs.co/' }
    // MythicMobs
    maven { url = 'https://mvn.lumine.io/repository/maven-public/' }
    // PlaceholderAPI
    maven { url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' }
    // EssentialsX
    maven { url = 'https://repo.essentialsx.net/releases/' }
    // JitPack (IridiumSkyblock, ShopGUI+)
    maven { url = 'https://jitpack.io' }
    // CoreProtect
    maven { url = 'https://maven.playpro.com/' }
    // bStats
    maven { url = uri('https://repo.codemc.org/repository/maven-public') }
    mavenCentral()
}

dependencies {
    // Spigot
    compileOnly ('org.spigotmc:spigot-api:1.16.4-R0.1-SNAPSHOT') {
        exclude group: 'net.md-5', module: 'bungeecord-chat'
        exclude group: 'com.google.guava', module: 'guava'
        exclude group: 'org.yaml', module: 'snakeyaml'
    }
    // ASkyBlock
    compileOnly ('com.wasteofplastic:askyblock:3.0.9.4') {
        exclude group: 'net.milkbowl.vault', module: 'VaultAPI'
    }
    // BentoBox (bSkyBlock)
    compileOnly ('world.bentobox:bentobox:1.15.5-SNAPSHOT') {
        exclude group: 'org.eclipse.jdt', module: 'org.eclipse.jdt.annotation'
        exclude group: 'org.mongodb', module: 'mongodb-driver'
    }
    // IridiumSkyblock
    // TODO fix whenever repo is up
    //    compileOnly 'com.github.Iridium-Development:IridiumSkyblock:master-SNAPSHOT'
    // download  from spigot and add to /libs/ yourself
    // uSkyBlock
    compileOnly 'com.github.rlf:uSkyBlock-API:2.6.4'
    // MythicMobs
    compileOnly 'io.lumine.xikage:MythicMobs:4.11.0-BETA'
    // Citizens
    compileOnly ('net.citizensnpcs:citizens:2.0.27-SNAPSHOT') {
        exclude group: 'net.citizensnpcs', module: 'citizens-main'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_8_R3'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_12_R1'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_13_R2'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_14_R1'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_15_R1'
        exclude group: 'net.citizensnpcs', module: 'citizens-v1_16_R3'
    }
    // PlaceholderAPI
    compileOnly 'me.clip:placeholderapi:2.10.9'
    // EssentialsX
    compileOnly "net.ess3:EssentialsX:2.18.2"
    // ShopGUI+
    compileOnly 'com.github.brcdev-minecraft:shopgui-api:master-SNAPSHOT'
    // CoreProtect
    compileOnly ('net.coreprotect:coreprotect:2.18.2') {
        exclude group: 'com.sk89q.worldedit', module: 'worldedit-bukkit'
    }
    // bStats
    implementation 'org.bstats:bstats-bukkit-lite:1.8'
    // HikariCP
    implementation 'com.zaxxer:HikariCP:4.0.3'
    // slf4j
    implementation 'org.slf4j:slf4j-simple:1.7.30'

    compileOnly fileTree(dir: 'libs', includes: ['*.jar'])
}

shadowJar {
    relocate 'org.bstats', 'com.leonardobishop.quests.libs.bstats'
    relocate 'com.zaxxer.hikari', 'com.leonardobishop.quests.libs.hikaricp'
    relocate 'org.slf4j', 'com.leonardobishop.quests.libs.slf4j'
    archiveClassifier.set('')
}

publishing {
    publications {
        maven(MavenPublication) {
            groupId = 'com.leonardobishop'
            artifactId = 'quests'
            version = project.version

            from components.java
        }
    }

    repositories {
        maven {
            credentials {
                username = project.findProperty('mavenUser') ?: System.getenv('MAVEN_USER')
                password = project.findProperty('mavenPassword') ?: System.getenv('MAVEN_PASSWORD')
            }
            url = "https://repo.leonardobishop.com/releases/"
        }
    }
}

jar.enabled = true

tasks.build {
    dependsOn(tasks.shadowJar)
}

compileJava {
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
}