Fixed sponge claim migrator to find GP config directory via API (#130)

This commit is contained in:
Bryce Browner 2020-03-08 00:32:09 -05:00 committed by GitHub
parent 27c4b80954
commit 21a30b7984
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 14 deletions

View File

@ -52,7 +52,6 @@
import java.nio.channels.ReadableByteChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.HashMap;
@ -72,7 +71,6 @@ public class GDBootstrap {
private Map<String, File> jarMap = new HashMap<>();
private List<String> relocateList = new ArrayList<>();
private static GDBootstrap instance;
private static final String LIB_ROOT_PATH = "./config/griefdefender/lib/";
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7";
public static GDBootstrap getInstance() {
@ -101,6 +99,7 @@ public void onPreInit(GamePreInitializationEvent event) {
this.getLogger().error("Resource " + bukkitJsonVersion + ".json is corrupted!. Please contact author for assistance.");
return;
}
final Path LIB_ROOT_PATH = instance.configPath.resolve("lib");
final Iterator<JSONObject> iterator = libraries.iterator();
while (iterator.hasNext()) {
JSONObject lib = iterator.next();
@ -109,8 +108,7 @@ public void onPreInit(GamePreInitializationEvent event) {
final String path = (String) lib.get("path");
final String relocate = (String) lib.get("relocate");
final String url = (String) lib.get("url");
final Path libPath = Paths.get(LIB_ROOT_PATH).resolve(path);
final File file = libPath.toFile();
final Path libPath = LIB_ROOT_PATH.resolve(path);
downloadLibrary(name, relocate, sha1, url, libPath);
}
} catch (Throwable t) {

View File

@ -39,7 +39,6 @@
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@ -58,25 +57,28 @@ public class GPSpongeMigrator {
private static GPSpongeMigrator instance;
public PermissionService permissionService = GriefDefenderPlugin.getInstance().permissionService;
final Path GP_GLOBAL_PLAYER_DATA_PATH = Paths.get("config", "griefprevention", "GlobalPlayerData");
final Path GP_CLAIM_DATA_PATH = Paths.get("config", "griefprevention", "worlds");
final Path GD_DATA_ROOT_PATH = Paths.get("config", "griefdefender");
final Path GD_DATA_ROOT_PATH = GriefDefenderPlugin.getInstance().getConfigPath();
final Path GD_GLOBAL_PLAYER_DATA_PATH = GD_DATA_ROOT_PATH.resolve("GlobalPlayerData");
final Path GD_CLAIM_DATA_PATH = GD_DATA_ROOT_PATH.resolve("worlds");
final Path GP_DATA_ROOT_PATH = GD_DATA_ROOT_PATH.getParent().resolve("griefprevention");
final Path GP_GLOBAL_PLAYER_DATA_PATH = GP_DATA_ROOT_PATH.resolve("GlobalPlayerData");
final Path GP_CLAIM_DATA_PATH = GP_DATA_ROOT_PATH.resolve("worlds");
public void migrateData() {
try {
if (Files.exists(GP_GLOBAL_PLAYER_DATA_PATH)) {
if (Files.isDirectory(GP_GLOBAL_PLAYER_DATA_PATH)) {
FileUtils.copyDirectory(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("GlobalPlayerData").toFile(), true);
FileUtils.copyDirectory(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_GLOBAL_PLAYER_DATA_PATH.toFile(), true);
} else {
// Support symlinks
FileUtils.copyFile(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("GlobalPlayerData").toFile(), true);
FileUtils.copyFile(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_GLOBAL_PLAYER_DATA_PATH.toFile(), true);
}
}
FileUtils.copyDirectory(GP_CLAIM_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("worlds").toFile(), true);
FileUtils.copyDirectory(GP_CLAIM_DATA_PATH.toFile(), GD_CLAIM_DATA_PATH.toFile(), true);
} catch (IOException e1) {
e1.printStackTrace();
}
final File dataPath = GD_DATA_ROOT_PATH.resolve("worlds").toFile();
final File dataPath = GD_CLAIM_DATA_PATH.toFile();
final File[] files = dataPath.listFiles();
GriefDefenderPlugin.getInstance().executor.execute(() -> {