mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2025-02-13 19:01:31 +01:00
Try to address path issue and improve Jenkins build speed
This commit is contained in:
parent
6205363331
commit
da7f94b5b9
21
Jenkinsfile
vendored
21
Jenkinsfile
vendored
@ -51,31 +51,14 @@ pipeline {
|
||||
) {
|
||||
withCredentials([usernamePassword(credentialsId: 'jenkins-deploy', usernameVariable: 'ORG_GRADLE_PROJECT_mavenUsername', passwordVariable: 'ORG_GRADLE_PROJECT_mavenPassword')]) {
|
||||
sh '''
|
||||
./gradlew build
|
||||
./gradlew publish
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('Build Launcher') {
|
||||
tools {
|
||||
jdk "OpenJDK 8"
|
||||
}
|
||||
steps {
|
||||
withMaven(
|
||||
maven: '3',
|
||||
mavenLocalRepo: '.repository',
|
||||
publisherStrategy: 'EXPLICIT'
|
||||
) {
|
||||
sh '''
|
||||
./gradlew clean yatoclip publish
|
||||
mkdir -p "./target"
|
||||
./gradlew yatoclip
|
||||
basedir=$(pwd)
|
||||
paperworkdir="$basedir/Paper/work"
|
||||
mcver=$(cat "$paperworkdir/BuildData/info.json" | grep minecraftVersion | cut -d '"' -f 4)
|
||||
cp "yatopia-$mcver-yatoclip.jar" "./target/yatopia-$mcver-yatoclip-b$BUILD_NUMBER.jar"
|
||||
'''
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
|
@ -65,22 +65,22 @@ public class ServerSetup {
|
||||
final Path memberMappedJar = minecraftDir.resolve(minecraftVersion + "-m.jar");
|
||||
final Path patchedJar = minecraftDir.resolve(minecraftVersion + "-patched.jar");
|
||||
if (!isValidZip(classMappedJar) || !isValidZip(memberMappedJar)) {
|
||||
System.err.println("Applying class mapping...");
|
||||
SpecialSourceLauncher.resetSpecialSourceClassloader();
|
||||
final Path buildData = cacheDirectory.resolve("BuildData");
|
||||
SpecialSourceLauncher.setSpecialSourceJar(buildData.resolve("bin").resolve("SpecialSource-2.jar").toFile());
|
||||
System.err.println("Applying class mapping...");
|
||||
SpecialSourceLauncher.runProcess(
|
||||
"map", "--only", ".", "--only", "net/minecraft", "--auto-lvt", "BASIC", "--auto-member", "SYNTHETIC",
|
||||
"-i", Paths.get(".").relativize(vanillaJar).toString(),
|
||||
"-m", Paths.get(".").relativize(buildData.resolve("mappings").resolve(buildDataInfo.classMappings)).toString(),
|
||||
"-o", Paths.get(".").relativize(classMappedJar).toString()
|
||||
"-i", vanillaJar.toAbsolutePath().toString(),
|
||||
"-m", buildData.resolve("mappings").resolve(buildDataInfo.classMappings).toAbsolutePath().toString(),
|
||||
"-o", classMappedJar.toAbsolutePath().toString()
|
||||
);
|
||||
System.err.println("Applying member mapping...");
|
||||
SpecialSourceLauncher.runProcess(
|
||||
"map", "--only", ".", "--only", "net/minecraft", "--auto-member", "LOGGER", "--auto-member", "TOKENS",
|
||||
"-i", Paths.get(".").relativize(classMappedJar).toString(),
|
||||
"-m", Paths.get(".").relativize(buildData.resolve("mappings").resolve(buildDataInfo.memberMappings)).toString(),
|
||||
"-o", Paths.get(".").relativize(memberMappedJar).toString()
|
||||
"-i", classMappedJar.toAbsolutePath().toString(),
|
||||
"-m", buildData.resolve("mappings").resolve(buildDataInfo.memberMappings).toAbsolutePath().toString(),
|
||||
"-o", memberMappedJar.toAbsolutePath().toString()
|
||||
);
|
||||
SpecialSourceLauncher.resetSpecialSourceClassloader();
|
||||
if (!isValidZip(classMappedJar) || !isValidZip(memberMappedJar))
|
||||
|
@ -36,6 +36,7 @@ import java.lang.reflect.Modifier;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.atomic.AtomicReference;
|
||||
|
||||
public class SpecialSourceLauncher {
|
||||
@ -45,7 +46,7 @@ public class SpecialSourceLauncher {
|
||||
|
||||
static void setSpecialSourceJar(File specialSourceJar) {
|
||||
synchronized (classLoader) {
|
||||
System.out.println("Setting up SpecialSource: " + specialSourceJar);
|
||||
System.err.println("Setting up SpecialSource: " + specialSourceJar);
|
||||
try {
|
||||
classLoader.get().addURL(specialSourceJar.toURI().toURL());
|
||||
mainClass.set(Yatoclip.getMainClass(specialSourceJar.toPath()));
|
||||
@ -57,7 +58,8 @@ public class SpecialSourceLauncher {
|
||||
|
||||
static void resetSpecialSourceClassloader() {
|
||||
synchronized (classLoader) {
|
||||
System.out.println("Releasing SpecialSource");
|
||||
if(!classLoader.get().isLoaded) return;
|
||||
System.err.println("Releasing SpecialSource");
|
||||
try {
|
||||
classLoader.get().close();
|
||||
classLoader.set(new SpecialSourceClassLoader(new URL[0], SpecialSourceLauncher.class.getClassLoader().getParent()));
|
||||
@ -71,9 +73,7 @@ public class SpecialSourceLauncher {
|
||||
public static void runProcess(String... command) throws IOException {
|
||||
if (!(command != null && command.length > 0)) throw new IllegalArgumentException();
|
||||
|
||||
if (command[0].equals("java")) {
|
||||
command[0] = System.getProperty("java.home") + "/bin/" + command[0];
|
||||
}
|
||||
System.err.println("Invoking SpecialSource with arguments: " + Arrays.toString(command));
|
||||
|
||||
AtomicReference<Throwable> thrown = new AtomicReference<>(null);
|
||||
final Thread thread = new Thread(() -> {
|
||||
|
Loading…
Reference in New Issue
Block a user