Skip to content

Commit 3dff02a

Browse files
committed
fix: fix cannot install dependences of package.
+ fix load order + change message more friendly
1 parent 3c95834 commit 3dff02a

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/main/java/org/eu/smileyik/luaInMinecraftBukkitII/command/LuacageCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import org.eu.smileyik.simplecommand.CommandService;
1212
import org.eu.smileyik.simplecommand.TabSuggest;
1313
import org.eu.smileyik.simplecommand.annotation.Command;
14+
import org.eu.smileyik.simpledebug.DebugLogger;
1415

1516
import java.io.InvalidClassException;
1617
import java.lang.reflect.InvocationTargetException;
@@ -158,6 +159,7 @@ public void install(CommandSender sender, String[] args) {
158159
sender.sendMessage("Finished installing " + packageFullName + ".");
159160
} catch (Exception e) {
160161
sender.sendMessage("Failed to install package `" + fPackageName + "`: " + e);
162+
DebugLogger.debug(e);
161163
}
162164
});
163165
});

src/main/java/org/eu/smileyik/luaInMinecraftBukkitII/luaState/luacage/Luacage.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ protected boolean doInstallPackage(@NotNull LuacageJsonMeta meta, boolean force)
168168
try {
169169
if (force) {
170170
deleteFolder(installDir);
171-
} else if (installDir.exists()) {
171+
} else if (installDir.exists() && new File(installDir, PACKAGE_LUA_NAME).exists()) {
172172
return true;
173173
}
174174
String[] files = meta.getFiles();
@@ -181,7 +181,7 @@ protected boolean doInstallPackage(@NotNull LuacageJsonMeta meta, boolean force)
181181
File file = new File(installDir, path);
182182
File parent = file.getParentFile();
183183
if (parent != null && !parent.exists()) parent.mkdirs();
184-
logger.info("Downloading package file '" + path + "' from " + url);
184+
logger.info("Downloading package '" + meta.getName() + "' file '" + path + "' from " + url);
185185
String downloadHash = StaticResourceDownloader.download(url, 8192, 60, file);
186186
if (!HashUtil.isEqualsHashString(hash, downloadHash)) {
187187
deleteFolder(installDir);
@@ -192,7 +192,7 @@ protected boolean doInstallPackage(@NotNull LuacageJsonMeta meta, boolean force)
192192
}
193193
} catch (Exception e) {
194194
deleteFolder(installDir);
195-
logger.warning("Luacage install failed, attempt to update the database source index: " + e.getMessage());
195+
logger.warning("Luacage install failed, attempt to update the database source index: " + e);
196196
DebugLogger.debug(e);
197197
return false;
198198
} finally {
@@ -232,7 +232,6 @@ protected Result<List<LuacageJsonMeta>, Collection<LuacageJsonMeta>> sort(List<L
232232
sorted.forEach(circle::remove);
233233
return Result.failure(circle);
234234
}
235-
236235
return Result.success(sorted);
237236
}
238237

@@ -308,7 +307,7 @@ public synchronized void installPackage(
308307

309308
// update json
310309
if (!failed) {
311-
installed.addAll(pkgs);
310+
installed.addAll(installedPackages);
312311
try {
313312
Result<Void, Collection<LuacageJsonMeta>> updateResult = updateInstalledPackagesJson(installed);
314313
if (updateResult.isError()) {
@@ -469,14 +468,14 @@ public File getInstallDir(@NotNull LuacageCommonMeta meta) {
469468
public void loadPackages() {
470469
loadedPackages.clear();
471470
List<LuacageJsonMeta> installedPackages = installedPackages();
472-
List<LuacageLuaMeta> packages = new ArrayList<>(installedPackages.size());
471+
LinkedList<LuacageLuaMeta> packages = new LinkedList<>();
473472
Set<String> failed = new HashSet<>();
474473
LuaStateFacade lua = env.getLuaState();
475474
lua.lock(l -> {
476475
for (LuacageJsonMeta installedPackage : installedPackages) {
477476
LuacageLuaMeta meta = loadPackageLua(lua, installedPackage, failed);
478477
if (meta != null) {
479-
packages.add(meta);
478+
packages.addFirst(meta);
480479
}
481480
}
482481

0 commit comments

Comments
 (0)