-
Notifications
You must be signed in to change notification settings - Fork 49
/
build.gradle
98 lines (83 loc) · 2.96 KB
/
build.gradle
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
import org.apache.tools.ant.filters.ReplaceTokens
plugins {
id 'com.github.johnrengelman.shadow' version '8.1.1'
id 'maven-publish'
id 'java-library'
}
targetCompatibility = 1.8
sourceCompatibility = 1.8
group = 'dev.esophose'
version = '8.7'
java {
disableAutoTargetJvm() // Allows depending on Paper's newer APIs even though they use Java 17
withJavadocJar()
withSourcesJar()
}
compileJava {
options.compilerArgs += ['-parameters']
options.fork = true
options.encoding = 'UTF-8'
}
repositories {
mavenCentral()
maven { url = 'https://repo.papermc.io/repository/maven-public/' }
maven { url = 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
maven { url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/' }
maven { url = 'https://repo.codemc.org/repository/maven-public' }
maven { url = 'https://repo.extendedclip.com/content/repositories/placeholderapi/' }
maven { url = 'https://repo.rosewooddev.io/repository/public/' }
}
dependencies {
compileOnly 'io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT'
compileOnly 'org.jetbrains:annotations:23.0.0'
compileOnly 'me.clip:placeholderapi:2.10.4'
api 'org.bstats:bstats-bukkit-lite:1.7'
api 'org.codemc.worldguardwrapper:worldguardwrapper:1.2.1-SNAPSHOT'
api 'dev.rosewood:rosegarden:1.3.0.36-DEV-SNAPSHOT'
}
shadowJar {
archiveClassifier.set(null)
minimize()
relocate('org.bstats', 'dev.esophose.playerparticles.libs.bstats')
relocate('dev.rosewood.rosegarden', 'dev.esophose.playerparticles.libs.rosegarden')
relocate('org.codemc.worldguardwrapper', 'dev.esophose.playerparticles.libs.worldguardwrapper')
}
processResources {
from (sourceSets.main.resources.srcDirs) {
include '**/*.yml'
filter ReplaceTokens, tokens: ["version": project.property("version")]
duplicatesStrategy DuplicatesStrategy.INCLUDE
}
}
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
artifactId = 'playerparticles'
pom {
name = 'playerparticles'
}
}
}
repositories {
if (project.hasProperty('mavenUser') && project.hasProperty('mavenPassword')) {
maven {
credentials {
username project.mavenUser
password project.mavenPassword
}
def releasesRepoUrl = 'https://repo.rosewooddev.io/repository/public-releases/'
def snapshotsRepoUrl = 'https://repo.rosewooddev.io/repository/public-snapshots/'
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
}
}
}
}
javadoc {
options.encoding = 'UTF-8'
if (JavaVersion.current().isJava9Compatible()) {
options.addBooleanOption('html5', true)
}
}
build.dependsOn shadowJar
publishShadowPublicationToMavenRepository.dependsOn jar