Skip to content

Commit dd152cb

Browse files
More idiomatic code
1 parent 72712ee commit dd152cb

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import com.github.stickerifier.stickerify.JlinkJavaLauncher
12
import com.github.stickerifier.stickerify.JlinkTask
23

34
plugins {
@@ -59,7 +60,7 @@ def jlink = tasks.register('jlink', JlinkTask) {
5960

6061
test {
6162
inputs.dir jlink.get().outputDirectory
62-
javaLauncher = JlinkTask.getJavaLauncher(jlink)
63+
javaLauncher = new JlinkJavaLauncher(jlink.get())
6364

6465
useJUnitPlatform()
6566
finalizedBy jacocoTestReport

buildSrc/src/main/java/com/github/stickerifier/stickerify/JlinkJavaLauncher.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,22 @@
22

33
import org.gradle.api.file.RegularFile;
44
import org.gradle.api.provider.Provider;
5+
import org.gradle.jvm.toolchain.JavaCompiler;
56
import org.gradle.jvm.toolchain.JavaInstallationMetadata;
67
import org.gradle.jvm.toolchain.JavaLauncher;
78
import org.jetbrains.annotations.NotNull;
89

9-
public record JlinkJavaLauncher(Provider<JavaInstallationMetadata> metadata, Provider<RegularFile> executablePath) implements JavaLauncher {
10+
public record JlinkJavaLauncher(
11+
Provider<JavaInstallationMetadata> metadata,
12+
Provider<RegularFile> executablePath
13+
) implements JavaLauncher {
14+
public JlinkJavaLauncher(JlinkTask task) {
15+
this(
16+
task.getJavaCompiler().map(JavaCompiler::getMetadata),
17+
task.getOutputDirectory().file("jre/bin/java")
18+
);
19+
}
20+
1021
@Override
1122
public @NotNull JavaInstallationMetadata getMetadata() {
1223
return metadata.get();

buildSrc/src/main/java/com/github/stickerifier/stickerify/JlinkTask.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,13 @@
77
import org.gradle.api.plugins.JavaPluginExtension;
88
import org.gradle.api.provider.ListProperty;
99
import org.gradle.api.provider.Property;
10-
import org.gradle.api.provider.Provider;
1110
import org.gradle.api.tasks.Input;
1211
import org.gradle.api.tasks.Nested;
1312
import org.gradle.api.tasks.OutputDirectory;
1413
import org.gradle.api.tasks.TaskAction;
15-
import org.gradle.api.tasks.TaskProvider;
1614
import org.gradle.jvm.toolchain.JavaCompiler;
17-
import org.gradle.jvm.toolchain.JavaLauncher;
1815
import org.gradle.jvm.toolchain.JavaToolchainService;
1916
import org.gradle.process.ExecOperations;
20-
import org.jetbrains.annotations.NotNull;
2117

2218
import javax.inject.Inject;
2319
import java.io.ByteArrayOutputStream;
@@ -103,11 +99,4 @@ public void performAction() {
10399
result.assertNormalExitValue();
104100
}
105101

106-
public static Provider<JavaLauncher> getJavaLauncher(TaskProvider<@NotNull JlinkTask> taskProvider) {
107-
return taskProvider.map(jlinkTask -> new JlinkJavaLauncher(
108-
jlinkTask.getJavaCompiler().map(JavaCompiler::getMetadata),
109-
jlinkTask.getOutputDirectory().file("jre/bin/java")
110-
));
111-
}
112-
113102
}

0 commit comments

Comments
 (0)