-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle
97 lines (89 loc) · 2.83 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
import java.util.function.Function
import java.util.stream.Collectors
plugins {
id 'java-library'
id 'idea'
id 'application'
// id "org.jetbrains.kotlin.jvm" version "1.6.10"
}
repositories {
mavenCentral()
}
//apply plugin: "org.jetbrains.kotlin.jvm"
apply plugin: 'idea'
apply plugin: 'application'
group 'cn.ltcraft'
version '0.0.1'
mainClassName = "cn.ltcraft.rpg.Main"
dependencies {
implementation fileTree(dir: 'ServerRun/', includes: ['spigot-1.12.2.jar'])
compileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
}
def fileList(File dir, files) {
dir.eachFile { File file ->
if (file.isDirectory()) {
fileList(file, files) // 递归调用以处理子目录
} else {
files.add(file)
}
}
}
subprojects {
apply plugin: 'java-library'
apply plugin: 'idea'
[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'
repositories {
mavenCentral()
}
/*
TODO 更好的模块依赖处理方式 编写自定义插件加载器
添加通用依赖
*/
dependencies {
Set<String> submodulesJar = parent.getSubprojects().stream().map(new Function<Project, String>() {
@Override
String apply(Project s) {
return s.getName().substring(0) + ".jar";
}
}).collect(Collectors.toSet())
implementation fileTree(dir: '../ServerRun/', includes: ['spigot-1.12.2.jar'])
implementation fileTree(dir: '../ServerRun/plugins/', includes: ['*.jar']/*, excludes: submodulesJar*/)
implementation fileTree(dir: '../ServerRun/plugins/PlaceholderAPI/expansions/', includes: ['*.jar'])
// implementation fileTree(dir: '../ServerRun/libs/', includes: ['*.jar'])
implementation fileTree(dir: '../ServerRun/plugins/PxTools/lib', includes: ['*.jar'])
compileOnly 'org.projectlombok:lombok:1.18.32'
annotationProcessor 'org.projectlombok:lombok:1.18.32'
ArrayList<File> fileArr = new ArrayList<File>()
fileList(new File(project.rootDir.getAbsolutePath() + '/ServerRun/libs/'), fileArr)
implementation files(fileArr)
// for(Project submodule : parent.getSubprojects()){
// if (name != submodule.getName())implementation submodule
// }
}
task createDirs(){
sourceSets*.java.srcDirs*.each {
it.mkdirs()
}
sourceSets*.resources.srcDirs*.each{
it.mkdirs()
}
}
task compilePlugin(){
}
}
//TODO 使用gradle编译插件
task compilePlugins(){
doFirst{
for(Project submodule : getSubprojects()){
// submodule.build
}
}
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
run{
standardInput = System.in
workingDir(new File("ServerRun"))
}