add: accept authlib-injector artifact in current working directory
This commit is contained in:
@@ -40,6 +40,7 @@ import org.jackhuang.hmcl.auth.yggdrasil.YggdrasilAccountFactory;
|
|||||||
import org.jackhuang.hmcl.task.Schedulers;
|
import org.jackhuang.hmcl.task.Schedulers;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -243,7 +244,12 @@ public final class Accounts {
|
|||||||
private static AuthlibInjectorArtifactProvider createAuthlibInjectorArtifactProvider() {
|
private static AuthlibInjectorArtifactProvider createAuthlibInjectorArtifactProvider() {
|
||||||
String authlibinjectorLocation = System.getProperty("hmcl.authlibinjector.location");
|
String authlibinjectorLocation = System.getProperty("hmcl.authlibinjector.location");
|
||||||
if (authlibinjectorLocation == null) {
|
if (authlibinjectorLocation == null) {
|
||||||
return new AuthlibInjectorDownloader(Metadata.HMCL_DIRECTORY, DownloadProviders::getDownloadProvider);
|
Path currentDirectory = Paths.get(".");
|
||||||
|
Path artifactsDirectory = AuthlibInjectorDownloader.isArtifactsDirectory(currentDirectory)
|
||||||
|
? currentDirectory
|
||||||
|
: Metadata.HMCL_DIRECTORY;
|
||||||
|
|
||||||
|
return new AuthlibInjectorDownloader(artifactsDirectory, DownloadProviders::getDownloadProvider);
|
||||||
} else {
|
} else {
|
||||||
LOG.info("Using specified authlib-injector: " + authlibinjectorLocation);
|
LOG.info("Using specified authlib-injector: " + authlibinjectorLocation);
|
||||||
return new SimpleAuthlibInjectorArtifactProvider(Paths.get(authlibinjectorLocation));
|
return new SimpleAuthlibInjectorArtifactProvider(Paths.get(authlibinjectorLocation));
|
||||||
|
|||||||
@@ -127,6 +127,10 @@ public class AuthlibInjectorDownloader implements AuthlibInjectorArtifactProvide
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isArtifactsDirectory(Path artifactsDirectory) {
|
||||||
|
return Files.exists(artifactsDirectory.resolve("authlib-injector.jar"));
|
||||||
|
}
|
||||||
|
|
||||||
private static class AuthlibInjectorVersionInfo {
|
private static class AuthlibInjectorVersionInfo {
|
||||||
@SerializedName("build_number")
|
@SerializedName("build_number")
|
||||||
public int buildNumber;
|
public int buildNumber;
|
||||||
|
|||||||
Reference in New Issue
Block a user