Skip to content

Commit 8ef0d76

Browse files
authored
Merge pull request #254 from CloudNetService/development
Update v3.3.0-RELEASE
2 parents 6577bbd + 521c3bc commit 8ef0d76

File tree

694 files changed

+22079
-15519
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

694 files changed

+22079
-15519
lines changed

.template/start.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
screen -S CloudNet java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:MaxPermSize=256M -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -XX:-UseAdaptiveSizePolicy -XX:CompileThreshold=100 -Dfile.encoding=UTF-8 -Xmx456M -Xms256m -jar launcher.jar
1+
screen -RS CloudNet java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:MaxPermSize=256M -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -XX:-UseAdaptiveSizePolicy -XX:CompileThreshold=100 -Dfile.encoding=UTF-8 -Xmx456M -Xms256m -jar launcher.jar

Jenkinsfile

Lines changed: 34 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
pipeline {
22
agent any
33
tools {
4+
gradle 'Gradle6'
45
jdk 'Java11'
56
}
67
options {
@@ -9,31 +10,39 @@ pipeline {
910
stages {
1011
stage('Clean') {
1112
steps {
12-
sh 'chmod +x ./gradlew';
13-
sh './gradlew clean';
13+
configFileProvider([configFile(fileId: "e94f788c-1d9c-48d4-b9a9-8286ff68275e", targetLocation: 'gradle.properties')]) {
14+
sh 'gradle clean';
15+
}
1416
}
1517
}
1618
stage('Test') {
1719
steps {
18-
sh './gradlew test';
20+
sh 'gradle test';
1921
junit '**/build/test-results/test/*.xml';
2022
}
2123
}
2224
stage('Build') {
2325
steps {
24-
sh './gradlew jar';
26+
sh 'gradle jar';
2527
}
2628
}
2729
stage('Release ZIP') {
2830
steps {
2931
echo 'Creating CloudNet.zip file...';
3032
sh 'mkdir -p temp';
3133
sh 'cp -r .template/* temp/';
34+
3235
sh 'mkdir temp/dev';
3336
sh 'mkdir temp/dev/examples';
3437
sh 'cp -r cloudnet-examples/src/main/java/de/dytanic/cloudnet/examples/* temp/dev/examples';
35-
sh 'mkdir temp/plugins';
36-
sh 'cp cloudnet-plugins/**/build/libs/*.jar temp/plugins/';
38+
39+
sh 'mkdir temp/extras/plugins';
40+
sh 'cp cloudnet-plugins/**/build/libs/*.jar temp/extras/plugins/';
41+
42+
sh 'mkdir temp/extras/modules';
43+
sh 'cp cloudnet-modules/cloudnet-labymod/build/libs/*.jar temp/extras/modules/';
44+
sh 'cp cloudnet-modules/cloudnet-npcs/build/libs/*.jar temp/extras/modules/';
45+
3746
sh 'cp cloudnet-launcher/build/libs/launcher.jar temp/launcher.jar';
3847
zip archive: true, dir: 'temp', glob: '', zipFile: 'CloudNet.zip';
3948
sh 'rm -r temp/';
@@ -51,24 +60,36 @@ pipeline {
5160
sh 'rm -r temp/';
5261
}
5362
}
54-
stage('Maven') {
63+
stage('Maven Publish') {
64+
when {
65+
anyOf {
66+
branch 'master';
67+
branch 'development';
68+
}
69+
}
5570
steps {
56-
echo 'Creating artifacts for the maven repo...';
57-
sh './gradlew sourceJar';
58-
sh './gradlew deploymentJar';
59-
sh './gradlew javadocJar';
71+
echo 'Publishing artifacts to Apache Archiva...';
72+
sh 'gradle publish';
6073
}
6174
}
6275
stage('Javadoc') {
6376
steps {
6477
echo 'Creating javadoc...';
65-
sh './gradlew allJavadoc';
78+
sh 'gradle allJavadoc';
6679
zip archive: true, dir: 'build/javadoc', glob: '', zipFile: 'Javadoc.zip';
6780
}
6881
}
6982
stage('Archive') {
7083
steps {
71-
archiveArtifacts artifacts: '**/build/libs/*.jar'
84+
archiveArtifacts artifacts: '**/build/libs/*.jar';
85+
archiveArtifacts artifacts: '**/build/libs/*.cnl';
86+
}
87+
}
88+
}
89+
post {
90+
always {
91+
withCredentials([string(credentialsId: 'cloudnet-discord-ci-webhook', variable: 'url')]) {
92+
discordSend description: 'New build for CloudNet v3!', footer: 'New build!', link: env.BUILD_URL, successful: currentBuild.resultIsBetterOrEqualTo('SUCCESS'), title: JOB_NAME, webhookURL: url
7293
}
7394
}
7495
}

README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,11 @@
3939
- Application support for [GlowStone Minecraft server for MC **1.8.9+**](https://glowstone.net)
4040
- Application support for [Velocity Minecraft Java edition proxy server](https://www.velocitypowered.com)
4141
- Application support for [Waterdog Minecraft Bedrock Edition proxy server](https://github.com/yesdog/Waterdog)
42-
- Application support for [ProxProx Minecraft Bedrock Edition proxy server](https://github.com/GoMint/ProxProx)
43-
- Application support for [GoMint Minecraft Bedrock Edition server software](https://github.com/GoMint/GoMint)
4442
- A **really big API** for **asynchronously** programming or **synchronously** programming
4543
- A **Bridge module**, which includes the basics for the Bukkit, Sponge, BungeeCord and Nukkit API and for BungeeCord a /cloudnet command to dispatch the console of CloudNet ingame
4644
- **BungeeCord exploit protection** with the Bridge Module for BungeeCord MC **1.8.8+** and Velocity
47-
- **Random Hub** and **/hub** command with the Bridge Module for BungeeCord MC **1.8.8+**, Velocity and ProxProx
48-
- **/cloudnet** command which dispatches the console of CloudNet Ingame for BungeeCord MC **1.8.8+**, Velocity and ProxProx
45+
- **Random Hub** and **/hub** command with the Bridge Module for BungeeCord MC **1.8.8+** and Velocity
46+
- **/cloudnet** command which dispatches the console of CloudNet Ingame for BungeeCord MC **1.8.8+** and Velocity
4947
- A live, ingame, sorted signs system for Bukkit and Sponge with a dynamic animation and configuration for each group.
5048
- A **SyncProxy module**, which include the **synchronization between two or more BungeeCord services** in one group.
5149
- **Motd** layout configuration and synchronizing between Proxys with **SyncProxy module**

build.gradle

Lines changed: 58 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defaultTasks 'clean', 'build', 'test', 'jar'
22

33
allprojects {
44

5-
def major = 3, minor = 2, patch = 2, versionType = "RELEASE"
5+
def major = 3, minor = 3, patch = 0, versionType = "RELEASE"
66

77
group 'de.dytanic.cloudnet'
88
version "$major.$minor.$patch-$versionType"
@@ -12,32 +12,26 @@ allprojects {
1212
mavenCentral()
1313

1414
maven {
15-
name 'spongepowered'
16-
url 'https://repo.spongepowered.org/maven'
15+
url 'https://repo.dmulloy2.net/nexus/repository/public/'
1716
}
1817

1918
maven {
20-
name 'vault'
21-
url 'https://repo.md-5.net/repository/releases'
19+
name 'jitpack.io'
20+
url 'https://jitpack.io'
2221
}
2322

2423
maven {
25-
name 'spigotmc-1'
26-
url 'https://repo.md-5.net/service/local/repositories/repobo-rel/content/'
24+
name 'spongepowered'
25+
url 'https://repo.spongepowered.org/maven'
2726
}
2827

2928
maven {
30-
name 'spigotmc-2'
29+
name 'spigotmc-repo'
3130
url 'https://hub.spigotmc.org/nexus/content/repositories/snapshots/'
3231
}
3332

3433
maven {
35-
name 'md-5'
36-
url 'https://repo.md-5.net/content/repositories/repobo-rel/'
37-
}
38-
39-
maven {
40-
name 'sonatype'
34+
name 'bungeecord-repo'
4135
url 'https://oss.sonatype.org/content/repositories/snapshots'
4236
}
4337

@@ -50,25 +44,37 @@ allprojects {
5044
name 'nukkix'
5145
url 'https://repo.nukkitx.com/maven-snapshots'
5246
}
47+
48+
maven {
49+
name 'sonatype'
50+
url 'https://oss.sonatype.org/content/repositories/snapshots'
51+
}
52+
53+
maven {
54+
name 'vault'
55+
url 'https://repo.md-5.net/repository/releases'
56+
}
57+
5358
}
5459

5560
project.ext {
5661

57-
cloudNetCodeName = 'Eruption'
62+
cloudNetCodeName = 'Hurricane'
5863

5964
//Dependencies
65+
dependencyGuavaVersion = '28.2-jre'
66+
dependencyAnnotationsVersion = '19.0.0'
6067
dependencyLombokVersion = '1.18.6'
6168
dependencyH2Version = '1.4.197'
6269
dependencyGsonVersion = '2.8.6'
6370
dependencyNettyVersion = '4.1.36.Final'
6471
dependencyJLine2Version = '2.14.6'
6572
dependencyJAnsiVersion = '1.17.1'
6673
dependencyNextCloudJavaAPIVersion = '11.0.3'
67-
dependencyBukkitVersion = '1.14.4-R0.1-SNAPSHOT'
74+
dependencyBukkitVersion = '1.15.2-R0.1-SNAPSHOT'
6875
dependencySpongeVersion = '7.0.0'
69-
dependencyBungeeCordVersion = '1.14-SNAPSHOT'
76+
dependencyBungeeCordVersion = '1.15-SNAPSHOT'
7077
dependencyVelocityVersion = '1.0.0-SNAPSHOT'
71-
//dependencyGoMintVersion = '1.0.0-SNAPSHOT'
7278
dependencyNukkitXVersion = '1.0-SNAPSHOT'
7379

7480
testJunitVersion = '4.12'
@@ -87,7 +93,9 @@ allprojects {
8793

8894
//cloudNet modules
8995
cloudnetModuleBridgeFileName = 'cloudnet-bridge.jar'
96+
cloudnetModuleLabyModFileName = 'cloudnet-labymod.jar'
9097
cloudnetModuleSignsFileName = 'cloudnet-signs.jar'
98+
cloudnetModuleNPCsFileName = 'cloudnet-npcs.jar'
9199
cloudnetModuleSmartFileName = 'cloudnet-smart.jar'
92100
cloudnetModuleSyncProxyFileName = 'cloudnet-syncproxy.jar'
93101
cloudnetModuleCloudflareFileName = 'cloudnet-cloudflare.jar'
@@ -107,7 +115,7 @@ allprojects {
107115
.append("repo maven https://repo1.maven.org/maven2\n")
108116
.append("# dependencies\n\n")
109117

110-
pro.configurations.compile.resolvedConfiguration.resolvedArtifacts.forEach({
118+
pro.configurations.runtimeClasspath.resolvedConfiguration.resolvedArtifacts.forEach({
111119

112120
if (it.moduleVersion.id.group != project.group) {
113121

@@ -155,7 +163,8 @@ subprojects {
155163
if (project.name == 'cloudnet-modules' || project.name == 'cloudnet-plugins') return
156164

157165
apply plugin: 'java'
158-
apply plugin: 'maven'
166+
apply plugin: 'java-library'
167+
apply plugin: 'maven-publish'
159168

160169
compileJava {
161170
options.encoding = 'UTF-8'
@@ -173,37 +182,49 @@ subprojects {
173182
targetCompatibility = 1.8
174183

175184
dependencies {
185+
implementation group: 'org.jetbrains', name: 'annotations', version: dependencyAnnotationsVersion
176186
compileOnly group: 'org.projectlombok', name: 'lombok', version: dependencyLombokVersion
177-
testCompile group: 'junit', name: 'junit', version: testJunitVersion
187+
testImplementation group: 'junit', name: 'junit', version: testJunitVersion
178188
annotationProcessor group: 'org.projectlombok', name: 'lombok', version: dependencyLombokVersion
179189
}
180190

181-
task sourceJar(type: Jar, dependsOn: classes) {
182-
classifier = 'sources'
183-
from sourceSets.main.allSource
191+
task sourcesJar(type: Jar) {
192+
from sourceSets.main.allJava
193+
archiveClassifier.set('sources')
184194
}
185195

186-
task deploymentJar(type: Jar, dependsOn: sourceJar) {
187-
188-
def pro = project
189-
from sourceSets.main.output
190-
191-
doLast {
192-
pom {
196+
task javadocJar(type: Jar) {
197+
from javadoc
198+
archiveClassifier.set('javadoc')
199+
}
193200

194-
}.writeTo("$buildDir/libs/${pro.name}-${pro.version}.pom")
201+
publishing {
202+
publications {
203+
mavenJava(MavenPublication) {
204+
from components.java
205+
artifact sourcesJar
206+
artifact javadocJar
207+
}
195208
}
196-
}
209+
repositories {
210+
maven {
211+
if (project.version.endsWith("RELEASE")) {
212+
url 'https://repo.cloudnetservice.eu/repository/releases/'
213+
} else {
214+
url 'https://repo.cloudnetservice.eu/repository/snapshots/'
215+
}
197216

198-
task javadocJar(type: Jar, dependsOn: javadoc) {
199-
classifier = 'javadoc'
200-
from javadoc
217+
credentials {
218+
username = project.hasProperty("mavenUser") ? project.property("mavenUser") : ""
219+
password = project.hasProperty("mavenPassword") ? project.property("mavenPassword") : ""
220+
}
221+
}
222+
}
201223
}
202224

203225
}
204226

205227
task allJavadoc(type: Javadoc) {
206-
207228
dependsOn ':cloudnet-launcher:jar'
208229

209230
destinationDir = new File(buildDir, 'javadoc')

cloudnet-common/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ jar {
33
}
44

55
dependencies {
6-
compile group: 'com.google.code.gson', name: 'gson', version: dependencyGsonVersion
6+
api group: 'com.google.code.gson', name: 'gson', version: dependencyGsonVersion
7+
api group: 'com.google.guava', name: 'guava', version: dependencyGuavaVersion
78

8-
testCompile group: 'junit', name: 'junit', version: testJunitVersion
9+
testImplementation group: 'junit', name: 'junit', version: testJunitVersion
910
}

cloudnet-common/src/main/java/de/dytanic/cloudnet/common/JavaVersion.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ public enum JavaVersion {
1212
JAVA_13(13, 57D, "Java 13"),
1313
JAVA_14(14, 58D, "Java 14");
1414

15-
private int version;
16-
private double versionId;
17-
private String name;
15+
private final int version;
16+
private final double versionId;
17+
private final String name;
1818

1919
JavaVersion(int version, double versionId, String name) {
2020
this.version = version;

cloudnet-common/src/main/java/de/dytanic/cloudnet/common/Properties.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public void load(File file) throws IOException {
112112
* @see java.util.Properties
113113
*/
114114
public void load(Path path) throws IOException {
115-
if (path == null) {
115+
if (path != null) {
116116
load(path.toFile());
117117
}
118118
}

0 commit comments

Comments
 (0)