-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
109 lines (91 loc) · 2.44 KB
/
build.gradle
File metadata and controls
109 lines (91 loc) · 2.44 KB
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
import org.apache.tools.ant.filters.ReplaceTokens
buildscript {
repositories {
jcenter()
}
dependencies {
classpath group: 'com.github.rodionmoiseev.gradle.plugins', name: 'idea-utils', version: '0.2'
}
}
plugins {
id "com.github.johnrengelman.shadow" version "1.2.3"
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'idea-utils'
idea {
project {
ipr {
withXml { xmlProvider ->
def project = xmlProvider.asNode()
def runConfigs = new XmlParser().parse(new File("config/intellij_runconfigs.xml"))
project.append(runConfigs)
}
}
}
}
repositories {
mavenLocal()
mavenCentral()
maven {
name = 'sponge'
url = 'http://repo.spongepowered.org/maven'
}
}
group = project.property("group")
version = project.property("version")
sourceCompatibility = "1.8"
dependencies {
compile group: 'org.spongepowered', name: 'spongeapi', version: project.property("apiversion")
// dependencies go here
// Example:
// compile group: 'com.google.guava', name: 'guava', version: '19.0'
}
processResources {
filter ReplaceTokens, tokens: [
"apiversion": project.property("apiversion"),
"version" : project.property("version")
]
}
clean {
delete "final/"
delete "sponge/"
}
jar {
actions = []
dependsOn = []
dependsOn('shadowJar')
}
shadowJar {
dependencies {
exclude(dependency('org.spongepowered:spongeapi:.*'))
}
}
task deploy(type: Copy, dependsOn: ['build']) {
from "${buildDir}/libs"
into "final/"
}
task setupDevServer(dependsOn: 'extractServerJar', type: Copy) {
from 'config/serverfiles'
into "sponge/"
}
task extractServerJar(type: Copy) {
from {
configurations.runtime
}
include("spigot-" + project.property("apiversion") + ".jar")
rename("spigot-" + project.property("apiversion") + ".jar", "server.jar")
into "sponge/"
}
task copyPluginToTestserver(dependsOn: ['build'], type: Copy) {
from "${buildDir}/libs"
into "sponge/mods"
}
task prepareDevServer(dependsOn: ['setupDevServer', 'copyPluginToTestserver']) {}
task startDevServer(dependsOn: [prepareDevServer], type: JavaExec) {
classpath configurations.compile, configurations.runtime
main = "org.spongepowered.api.util.InformativeMain"
workingDir = "sponge/"
standardInput = System.in
}