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.channels.ReadableByteChannel;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
@ -72,7 +71,6 @@ public class GDBootstrap {
private Map<String, File> jarMap = new HashMap<>(); private Map<String, File> jarMap = new HashMap<>();
private List<String> relocateList = new ArrayList<>(); private List<String> relocateList = new ArrayList<>();
private static GDBootstrap instance; 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"; 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() { 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."); this.getLogger().error("Resource " + bukkitJsonVersion + ".json is corrupted!. Please contact author for assistance.");
return; return;
} }
final Path LIB_ROOT_PATH = instance.configPath.resolve("lib");
final Iterator<JSONObject> iterator = libraries.iterator(); final Iterator<JSONObject> iterator = libraries.iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
JSONObject lib = iterator.next(); JSONObject lib = iterator.next();
@ -109,8 +108,7 @@ public void onPreInit(GamePreInitializationEvent event) {
final String path = (String) lib.get("path"); final String path = (String) lib.get("path");
final String relocate = (String) lib.get("relocate"); final String relocate = (String) lib.get("relocate");
final String url = (String) lib.get("url"); final String url = (String) lib.get("url");
final Path libPath = Paths.get(LIB_ROOT_PATH).resolve(path); final Path libPath = LIB_ROOT_PATH.resolve(path);
final File file = libPath.toFile();
downloadLibrary(name, relocate, sha1, url, libPath); downloadLibrary(name, relocate, sha1, url, libPath);
} }
} catch (Throwable t) { } catch (Throwable t) {

View File

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