Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 2 additions & 36 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
id 'io.freefair.lombok' version '5.3.0'
id "com.gradleup.shadow" version "8.3.6"
id 'io.freefair.lombok' version '8.13.1'
}

println """
Expand Down Expand Up @@ -38,38 +38,4 @@ subprojects {
workingDir = new File(rootDir, "run/")
workingDir.mkdirs()
}

// Work around gradle shadow bug
// see https://github.com/johnrengelman/shadow/issues/713
afterEvaluate {
startScripts {
dependsOn(shadowJar)
}

distTar {
dependsOn(shadowJar)
}

distZip {
dependsOn(shadowJar)
}

startShadowScripts {
dependsOn(jar)
}

shadowDistTar {
dependsOn(jar)
}

shadowDistZip {
dependsOn(jar)
}
}
}

task clean {
subprojects {
rootProject.clean.dependsOn tasks.matching { it.name == "clean" }
}
}
10 changes: 1 addition & 9 deletions creator-tools/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'application'
id "com.github.johnrengelman.shadow"
id 'com.gradleup.shadow'
id 'io.freefair.lombok'
}

Expand All @@ -23,11 +23,3 @@ processResources {
}
}
}

shadowJar {
archiveClassifier.set("")
}

build {
dependsOn(shadowJar)
}
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
10 changes: 1 addition & 9 deletions launcher-bootstrap/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'application'
id "com.github.johnrengelman.shadow"
id 'com.gradleup.shadow'
id 'io.freefair.lombok'
}

Expand All @@ -20,11 +20,3 @@ processResources {
}
}
}

shadowJar {
archiveClassifier.set("")
}

build {
dependsOn(shadowJar)
}
11 changes: 1 addition & 10 deletions launcher-builder/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id 'application'
id 'java-library'
id "com.github.johnrengelman.shadow"
id 'com.gradleup.shadow'
id 'io.freefair.lombok'
}

Expand All @@ -16,13 +16,4 @@ dependencies {

shadowJar {
dependsOn ':launcher:shadowJar'
archiveClassifier.set("")
}

// Work around gradle shadow bug
// see https://github.com/johnrengelman/shadow/issues/713
startScripts.dependsOn(':launcher:shadowJar')
distTar.dependsOn(':launcher:shadowJar')
distZip.dependsOn(':launcher:shadowJar')

build.dependsOn(shadowJar)
13 changes: 1 addition & 12 deletions launcher-fancy/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
plugins {
id 'application'
id "com.github.johnrengelman.shadow"
id 'com.gradleup.shadow'
id 'io.freefair.lombok'
}

Expand All @@ -22,15 +22,4 @@ dependencies {

shadowJar {
dependsOn ':launcher:shadowJar'
archiveClassifier.set("")
}

// Work around gradle shadow bug
// see https://github.com/johnrengelman/shadow/issues/713
startScripts.dependsOn(':launcher:shadowJar')
distTar.dependsOn(':launcher:shadowJar')
distZip.dependsOn(':launcher:shadowJar')

build {
dependsOn(shadowJar)
}
10 changes: 1 addition & 9 deletions launcher/build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
plugins {
id 'application'
id 'java-library'
id "com.github.johnrengelman.shadow"
id 'com.gradleup.shadow'
id 'io.freefair.lombok'
}

Expand Down Expand Up @@ -30,11 +30,3 @@ processResources {
}
}
}

shadowJar {
archiveClassifier.set("")
}

build {
dependsOn(shadowJar)
}
4 changes: 4 additions & 0 deletions launcher/src/main/java/com/skcraft/launcher/Launcher.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import com.skcraft.launcher.persistence.Persistence;
import com.skcraft.launcher.swing.SwingHelper;
import com.skcraft.launcher.update.UpdateManager;
import com.skcraft.launcher.update.runtime.JavaRuntimeManager;
import com.skcraft.launcher.util.Environment;
import com.skcraft.launcher.util.HttpRequest;
import com.skcraft.launcher.util.SharedLocale;
Expand Down Expand Up @@ -63,6 +64,8 @@ public final class Launcher {
@Getter private final Configuration config;
@Getter private final AccountList accounts;
@Getter private final AssetsRoot assets;
@Getter
private final JavaRuntimeManager runtimeManager;
@Getter private final LaunchSupervisor launchSupervisor = new LaunchSupervisor(this);
@Getter private final UpdateManager updateManager = new UpdateManager(this);
@Getter private final InstanceTasks instanceTasks = new InstanceTasks(this);
Expand Down Expand Up @@ -93,6 +96,7 @@ public Launcher(@NonNull File baseDir, @NonNull File configDir) throws IOExcepti
this.properties = LauncherUtils.loadProperties(Launcher.class, "launcher.properties", "com.skcraft.launcher.propertiesFile");
this.instances = new InstanceList(this);
this.assets = new AssetsRoot(new File(baseDir, "assets"));
this.runtimeManager = new JavaRuntimeManager(new File(baseDir, "runtimes"));
this.config = Persistence.load(new File(configDir, "config.json"), Configuration.class);
this.accounts = Persistence.load(new File(configDir, "accounts.dat"), AccountList.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,10 @@ private void initComponents() {
addMojangButton.setAlignmentX(CENTER_ALIGNMENT);
addMicrosoftButton.setAlignmentX(CENTER_ALIGNMENT);
removeSelected.setAlignmentX(CENTER_ALIGNMENT);
loginButtonsRow.add(addMojangButton, BorderLayout.NORTH);

if (launcher.getProperties().containsKey("yggdrasilAuthUrl")) {
loginButtonsRow.add(addMojangButton, BorderLayout.NORTH);
}
loginButtonsRow.add(addMicrosoftButton, BorderLayout.CENTER);
loginButtonsRow.add(removeSelected, BorderLayout.SOUTH);
loginButtonsRow.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.skcraft.launcher.install;

import com.skcraft.launcher.Launcher;
import lombok.RequiredArgsConstructor;

import java.io.File;

import static com.skcraft.launcher.util.SharedLocale.tr;

@RequiredArgsConstructor
public class CreateFolder implements InstallTask {
private final File target;

@Override
public void execute(Launcher launcher) throws Exception {
target.mkdirs();
}

@Override
public double getProgress() {
return -1;
}

@Override
public String getStatus() {
return tr("installer.creatingDirectory", target);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.skcraft.launcher.install;

import com.skcraft.launcher.Launcher;
import lombok.RequiredArgsConstructor;

import java.io.File;
import java.nio.file.Files;
import java.nio.file.Path;

import static com.skcraft.launcher.util.SharedLocale.tr;

@RequiredArgsConstructor
public class CreateLink implements InstallTask {
private final File target;
private final Path existing;

@Override
public void execute(Launcher launcher) throws Exception {
Files.createSymbolicLink(target.toPath(), existing);
}

@Override
public double getProgress() {
return -1;
}

@Override
public String getStatus() {
return tr("installer.creatingLink", target, existing);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package com.skcraft.launcher.install;

import com.skcraft.launcher.Launcher;
import lombok.RequiredArgsConstructor;

import java.io.File;

import static com.skcraft.launcher.util.SharedLocale.tr;

@RequiredArgsConstructor
public class FileSetExecutable implements InstallTask {
private final File target;

@Override
public void execute(Launcher launcher) throws Exception {
target.setExecutable(true, false);
}

@Override
public double getProgress() {
return -1;
}

@Override
public String getStatus() {
return tr("installer.settingExecutable", target);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

import java.io.File;

import static com.skcraft.launcher.util.SharedLocale.tr;

@RequiredArgsConstructor
@Log
public class FileVerify implements InstallTask {
Expand Down Expand Up @@ -37,6 +39,6 @@ public double getProgress() {

@Override
public String getStatus() {
return "Verifying " + name;
return tr("installer.verifyingFile", name);
}
}
18 changes: 10 additions & 8 deletions launcher/src/main/java/com/skcraft/launcher/launch/Runner.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import com.skcraft.launcher.auth.Session;
import com.skcraft.launcher.install.ZipExtract;
import com.skcraft.launcher.launch.runtime.JavaRuntime;
import com.skcraft.launcher.launch.runtime.JavaRuntimeFinder;
import com.skcraft.launcher.model.minecraft.*;
import com.skcraft.launcher.persistence.Persistence;
import com.skcraft.launcher.util.Environment;
Expand Down Expand Up @@ -57,7 +56,9 @@ public class Runner implements Callable<Process>, ProgressObservable {
private final Session session;
private final File extractDir;
private final BiPredicate<JavaRuntime, JavaVersion> javaRuntimeMismatch;
@Getter @Setter private Environment environment = Environment.getInstance();
@Getter
@Setter
private Environment environment = Environment.getInstance();

private VersionManifest versionManifest;
private AssetsIndex assetsIndex;
Expand All @@ -69,10 +70,11 @@ public class Runner implements Callable<Process>, ProgressObservable {

/**
* Create a new instance launcher.
* @param launcher the launcher
* @param instance the instance
* @param session the session
* @param extractDir the directory to extract to
*
* @param launcher the launcher
* @param instance the instance
* @param session the session
* @param extractDir the directory to extract to
* @param javaRuntimeMismatch
*/
public Runner(@NonNull Launcher launcher, @NonNull Instance instance,
Expand Down Expand Up @@ -280,15 +282,15 @@ private void addJvmArgs() throws IOException, LauncherException {

JavaRuntime selectedRuntime = Optional.ofNullable(instance.getSettings().getRuntime())
.orElseGet(() -> Optional.ofNullable(versionManifest.getJavaVersion())
.flatMap(JavaRuntimeFinder::findBestJavaRuntime)
.flatMap(launcher.getRuntimeManager()::getRuntime)
.orElse(config.getJavaRuntime())
);

// Builder defaults to the PATH `java` if the runtime is null
builder.setRuntime(selectedRuntime);

List<String> flags = builder.getFlags();
String[] rawJvmArgsList = new String[] {
String[] rawJvmArgsList = new String[]{
config.getJvmArgs(),
instance.getSettings().getCustomJvmArgs()
};
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.skcraft.launcher.model.minecraft.runtime;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Builder;
import lombok.Data;
import lombok.extern.jackson.Jacksonized;

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
@Jacksonized
@Builder
public class DownloadInfo {
private final String url;
private final String sha1;
private final long size;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.skcraft.launcher.model.minecraft.runtime;

import com.fasterxml.jackson.annotation.JsonProperty;

public enum Format {
@JsonProperty("raw") RAW,
@JsonProperty("lzma") LZMA;
}
Loading