mirror of
https://github.com/LuckPerms/LuckPerms.git
synced 2024-11-28 05:35:26 +01:00
Refactor migration classes
This commit is contained in:
parent
f722f4112d
commit
4d85930f5a
@ -129,5 +129,46 @@
|
|||||||
<version>1.16.10</version>
|
<version>1.16.10</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- **************Migration Plugins************** -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.tyrannyofheaven.bukkit</groupId>
|
||||||
|
<artifactId>zPermissions</artifactId>
|
||||||
|
<version>1.3</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>ru.tehkode</groupId>
|
||||||
|
<artifactId>PermissionsEx</artifactId>
|
||||||
|
<version>1.23</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.bukkit</groupId>
|
||||||
|
<artifactId>bukkit</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>net.gravitydevelopment.updater</groupId>
|
||||||
|
<artifactId>updater</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.cheesesoftware</groupId>
|
||||||
|
<artifactId>PowerfulPermsAPI</artifactId>
|
||||||
|
<version>1.0.1</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.anjocaido</groupId>
|
||||||
|
<artifactId>GroupManager</artifactId>
|
||||||
|
<version>1.4</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>de.bananaco</groupId>
|
||||||
|
<artifactId>bpermissions-api</artifactId>
|
||||||
|
<version>2.12</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bukkit.migration;
|
||||||
|
|
||||||
import de.bananaco.bpermissions.api.*;
|
import de.bananaco.bpermissions.api.*;
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bukkit.migration;
|
||||||
|
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
||||||
import me.lucko.luckperms.common.LuckPermsPlugin;
|
import me.lucko.luckperms.common.LuckPermsPlugin;
|
||||||
@ -36,7 +36,6 @@ import org.anjocaido.groupmanager.data.User;
|
|||||||
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
||||||
import org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder;
|
import org.anjocaido.groupmanager.dataholder.worlds.WorldsHolder;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@ -63,14 +62,7 @@ public class MigrationGroupManager extends SubCommand<Object> {
|
|||||||
|
|
||||||
// Migrate Global Groups
|
// Migrate Global Groups
|
||||||
log.info("GroupManager Migration: Starting Global Group migration.");
|
log.info("GroupManager Migration: Starting Global Group migration.");
|
||||||
|
GlobalGroups gg = GroupManager.getGlobalGroups();
|
||||||
GlobalGroups gg;
|
|
||||||
try {
|
|
||||||
gg = (GlobalGroups) GroupManager.class.getMethod("getGlobalGroups").invoke(gm);
|
|
||||||
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Group g : gg.getGroupList()) {
|
for (Group g : gg.getGroupList()) {
|
||||||
plugin.getDatastore().createAndLoadGroup(g.getName().toLowerCase()).getUnchecked();
|
plugin.getDatastore().createAndLoadGroup(g.getName().toLowerCase()).getUnchecked();
|
||||||
@ -127,27 +119,14 @@ public class MigrationGroupManager extends SubCommand<Object> {
|
|||||||
Map<UUID, Map<Map.Entry<String, String>, Boolean>> users = new HashMap<>();
|
Map<UUID, Map<Map.Entry<String, String>, Boolean>> users = new HashMap<>();
|
||||||
Map<String, Map<Map.Entry<String, String>, Boolean>> groups = new HashMap<>();
|
Map<String, Map<Map.Entry<String, String>, Boolean>> groups = new HashMap<>();
|
||||||
|
|
||||||
WorldsHolder wh;
|
WorldsHolder wh = gm.getWorldsHolder();
|
||||||
try {
|
|
||||||
wh = (WorldsHolder) GroupManager.class.getMethod("getWorldsHolder").invoke(gm);
|
|
||||||
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Collect data for all users and groups.
|
// Collect data for all users and groups.
|
||||||
log.info("GroupManager Migration: Starting user and group migration.");
|
log.info("GroupManager Migration: Starting user and group migration.");
|
||||||
for (String world : worlds) {
|
for (String world : worlds) {
|
||||||
world = world.toLowerCase();
|
world = world.toLowerCase();
|
||||||
|
|
||||||
WorldDataHolder wdh;
|
WorldDataHolder wdh = wh.getWorldData(world);
|
||||||
|
|
||||||
try {
|
|
||||||
wdh = (WorldDataHolder) WorldsHolder.class.getMethod("getWorldData", String.class).invoke(wh, world);
|
|
||||||
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (Group g : wdh.getGroupList()) {
|
for (Group g : wdh.getGroupList()) {
|
||||||
groups.putIfAbsent(g.getName().toLowerCase(), new HashMap<>());
|
groups.putIfAbsent(g.getName().toLowerCase(), new HashMap<>());
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bukkit.migration;
|
||||||
|
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
||||||
import me.lucko.luckperms.api.MetaUtils;
|
import me.lucko.luckperms.api.MetaUtils;
|
||||||
@ -40,7 +40,6 @@ import ru.tehkode.permissions.PermissionUser;
|
|||||||
import ru.tehkode.permissions.bukkit.PermissionsEx;
|
import ru.tehkode.permissions.bukkit.PermissionsEx;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -72,13 +71,7 @@ public class MigrationPermissionsEx extends SubCommand<Object> {
|
|||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
PermissionsEx pex = (PermissionsEx) plugin.getPlugin("PermissionsEx");
|
PermissionsEx pex = (PermissionsEx) plugin.getPlugin("PermissionsEx");
|
||||||
PermissionManager manager; // The compiler complains if you call the method directly, as Bukkit is not in this module.
|
PermissionManager manager = pex.getPermissionsManager();
|
||||||
try {
|
|
||||||
manager = (PermissionManager) PermissionsEx.class.getMethod("getPermissionsManager").invoke(pex);
|
|
||||||
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return CommandResult.FAILURE;
|
|
||||||
}
|
|
||||||
|
|
||||||
NativeInterface ni;
|
NativeInterface ni;
|
||||||
try {
|
try {
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bukkit.migration;
|
||||||
|
|
||||||
import com.github.cheesesoftware.PowerfulPermsAPI.*;
|
import com.github.cheesesoftware.PowerfulPermsAPI.*;
|
||||||
import com.google.common.util.concurrent.ListenableFuture;
|
import com.google.common.util.concurrent.ListenableFuture;
|
||||||
@ -28,9 +28,9 @@ import com.zaxxer.hikari.HikariDataSource;
|
|||||||
import lombok.Cleanup;
|
import lombok.Cleanup;
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
||||||
import me.lucko.luckperms.api.data.Callback;
|
import me.lucko.luckperms.api.data.Callback;
|
||||||
|
import me.lucko.luckperms.bukkit.migration.utils.LPResultRunnable;
|
||||||
import me.lucko.luckperms.common.LuckPermsPlugin;
|
import me.lucko.luckperms.common.LuckPermsPlugin;
|
||||||
import me.lucko.luckperms.common.commands.*;
|
import me.lucko.luckperms.common.commands.*;
|
||||||
import me.lucko.luckperms.common.commands.migration.subcommands.utils.LPResultRunnable;
|
|
||||||
import me.lucko.luckperms.common.constants.Constants;
|
import me.lucko.luckperms.common.constants.Constants;
|
||||||
import me.lucko.luckperms.common.core.PermissionHolder;
|
import me.lucko.luckperms.common.core.PermissionHolder;
|
||||||
import me.lucko.luckperms.common.data.LogEntry;
|
import me.lucko.luckperms.common.data.LogEntry;
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bukkit.migration;
|
||||||
|
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
||||||
import me.lucko.luckperms.api.MetaUtils;
|
import me.lucko.luckperms.api.MetaUtils;
|
||||||
@ -40,10 +40,6 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
|
||||||
* <3 <3 zPermissions <3 <3
|
|
||||||
* Finally a permissions plugin with a decent API. *sigh*
|
|
||||||
*/
|
|
||||||
public class MigrationZPermissions extends SubCommand<Object> {
|
public class MigrationZPermissions extends SubCommand<Object> {
|
||||||
public MigrationZPermissions() {
|
public MigrationZPermissions() {
|
||||||
super("zpermissions", "Migration from zPermissions", Permission.MIGRATION, Predicate.alwaysFalse(),
|
super("zpermissions", "Migration from zPermissions", Permission.MIGRATION, Predicate.alwaysFalse(),
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands.utils;
|
package me.lucko.luckperms.bukkit.migration.utils;
|
||||||
|
|
||||||
import com.github.cheesesoftware.PowerfulPermsAPI.ResultRunnable;
|
import com.github.cheesesoftware.PowerfulPermsAPI.ResultRunnable;
|
||||||
|
|
@ -121,6 +121,13 @@
|
|||||||
<version>1.16.10</version>
|
<version>1.16.10</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<!-- **************Migration Plugins************** -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>net.alpenblock</groupId>
|
||||||
|
<artifactId>BungeePerms</artifactId>
|
||||||
|
<version>3.0-dev-52</version>
|
||||||
|
<scope>provided</scope>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
* SOFTWARE.
|
* SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.lucko.luckperms.common.commands.migration.subcommands;
|
package me.lucko.luckperms.bungee.migration;
|
||||||
|
|
||||||
import me.lucko.luckperms.api.Logger;
|
import me.lucko.luckperms.api.Logger;
|
||||||
import me.lucko.luckperms.api.MetaUtils;
|
import me.lucko.luckperms.api.MetaUtils;
|
||||||
@ -60,7 +60,7 @@ public class MigrationBungeePerms extends SubCommand<Object> {
|
|||||||
log.info("BungeePerms Migration: Starting group migration.");
|
log.info("BungeePerms Migration: Starting group migration.");
|
||||||
int groupCount = 0;
|
int groupCount = 0;
|
||||||
for (Group g : bp.getPermissionsManager().getBackEnd().loadGroups()) {
|
for (Group g : bp.getPermissionsManager().getBackEnd().loadGroups()) {
|
||||||
groupCount ++;
|
groupCount++;
|
||||||
|
|
||||||
// Make a LuckPerms group for the one being migrated
|
// Make a LuckPerms group for the one being migrated
|
||||||
plugin.getDatastore().createAndLoadGroup(g.getName().toLowerCase()).getUnchecked();
|
plugin.getDatastore().createAndLoadGroup(g.getName().toLowerCase()).getUnchecked();
|
@ -95,53 +95,6 @@
|
|||||||
<version>1.16.10</version>
|
<version>1.16.10</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- **************Migration Plugins************** -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.tyrannyofheaven.bukkit</groupId>
|
|
||||||
<artifactId>zPermissions</artifactId>
|
|
||||||
<version>1.3</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>ru.tehkode</groupId>
|
|
||||||
<artifactId>PermissionsEx</artifactId>
|
|
||||||
<version>1.23</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>org.bukkit</groupId>
|
|
||||||
<artifactId>bukkit</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>net.gravitydevelopment.updater</groupId>
|
|
||||||
<artifactId>updater</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.github.cheesesoftware</groupId>
|
|
||||||
<artifactId>PowerfulPermsAPI</artifactId>
|
|
||||||
<version>1.0.1</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.anjocaido</groupId>
|
|
||||||
<artifactId>GroupManager</artifactId>
|
|
||||||
<version>1.4</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>net.alpenblock</groupId>
|
|
||||||
<artifactId>BungeePerms</artifactId>
|
|
||||||
<version>3.0-dev-52</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>de.bananaco</groupId>
|
|
||||||
<artifactId>bpermissions-api</artifactId>
|
|
||||||
<version>2.12</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -27,7 +27,6 @@ import me.lucko.luckperms.common.commands.CommandResult;
|
|||||||
import me.lucko.luckperms.common.commands.MainCommand;
|
import me.lucko.luckperms.common.commands.MainCommand;
|
||||||
import me.lucko.luckperms.common.commands.Sender;
|
import me.lucko.luckperms.common.commands.Sender;
|
||||||
import me.lucko.luckperms.common.commands.SubCommand;
|
import me.lucko.luckperms.common.commands.SubCommand;
|
||||||
import me.lucko.luckperms.common.commands.migration.subcommands.*;
|
|
||||||
import me.lucko.luckperms.common.constants.Constants;
|
import me.lucko.luckperms.common.constants.Constants;
|
||||||
import me.lucko.luckperms.common.constants.Message;
|
import me.lucko.luckperms.common.constants.Message;
|
||||||
|
|
||||||
@ -43,34 +42,33 @@ public class MigrationMainCommand extends MainCommand<Object> {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("org.anjocaido.groupmanager.GroupManager");
|
Class.forName("org.anjocaido.groupmanager.GroupManager");
|
||||||
subCommands.add(new MigrationGroupManager());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bukkit.migration.MigrationGroupManager").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("ru.tehkode.permissions.bukkit.PermissionsEx");
|
Class.forName("ru.tehkode.permissions.bukkit.PermissionsEx");
|
||||||
subCommands.add(new MigrationPermissionsEx());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bukkit.migration.MigrationPermissionsEx").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("com.github.cheesesoftware.PowerfulPermsAPI.PowerfulPermsPlugin");
|
Class.forName("com.github.cheesesoftware.PowerfulPermsAPI.PowerfulPermsPlugin");
|
||||||
subCommands.add(new MigrationPowerfulPerms());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bukkit.migration.MigrationPowerfulPerms").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("org.tyrannyofheaven.bukkit.zPermissions.ZPermissionsService");
|
Class.forName("org.tyrannyofheaven.bukkit.zPermissions.ZPermissionsService");
|
||||||
subCommands.add(new MigrationZPermissions());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bukkit.migration.MigrationZPermissions").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("net.alpenblock.bungeeperms.BungeePerms");
|
Class.forName("net.alpenblock.bungeeperms.BungeePerms");
|
||||||
subCommands.add(new MigrationBungeePerms());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bungee.migration.MigrationBungeePerms").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Class.forName("de.bananaco.bpermissions.api.WorldManager");
|
Class.forName("de.bananaco.bpermissions.api.WorldManager");
|
||||||
subCommands.add(new MigrationBPermissions());
|
subCommands.add((SubCommand<Object>) Class.forName("me.lucko.luckperms.bukkit.migration.MigrationBPermissions").newInstance());
|
||||||
} catch (Throwable ignored) {}
|
} catch (Throwable ignored) {}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user