|
3 | 3 | import org.gradle.api.DefaultTask; |
4 | 4 | import org.gradle.api.file.DirectoryProperty; |
5 | 5 | import org.gradle.api.file.FileSystemOperations; |
| 6 | +import org.gradle.api.file.ProjectLayout; |
6 | 7 | import org.gradle.api.logging.LogLevel; |
7 | 8 | import org.gradle.api.plugins.JavaPluginExtension; |
8 | 9 | import org.gradle.api.provider.ListProperty; |
|
14 | 15 | import org.gradle.jvm.toolchain.JavaCompiler; |
15 | 16 | import org.gradle.jvm.toolchain.JavaToolchainService; |
16 | 17 | import org.gradle.process.ExecOperations; |
| 18 | +import org.jetbrains.annotations.NotNull; |
17 | 19 |
|
18 | 20 | import javax.inject.Inject; |
19 | 21 | import java.io.ByteArrayOutputStream; |
|
23 | 25 | public abstract class JlinkTask extends DefaultTask { |
24 | 26 |
|
25 | 27 | @Input |
26 | | - public abstract ListProperty<String> getOptions(); |
| 28 | + public abstract ListProperty<@NotNull String> getOptions(); |
27 | 29 |
|
28 | 30 | @Input |
29 | | - public abstract ListProperty<String> getModules(); |
| 31 | + public abstract ListProperty<@NotNull String> getModules(); |
30 | 32 |
|
31 | 33 | @OutputDirectory |
32 | 34 | public abstract DirectoryProperty getOutputDirectory(); |
33 | 35 |
|
34 | 36 | @Nested |
35 | | - protected abstract Property<JavaCompiler> getJavaCompiler(); |
36 | | - |
37 | | - @Inject |
38 | | - protected abstract JavaToolchainService getJavaToolchainService(); |
| 37 | + protected abstract Property<@NotNull JavaCompiler> getJavaCompiler(); |
39 | 38 |
|
40 | 39 | @Inject |
41 | 40 | protected abstract FileSystemOperations getFs(); |
42 | 41 |
|
43 | 42 | @Inject |
44 | 43 | protected abstract ExecOperations getExec(); |
45 | 44 |
|
46 | | - public JlinkTask() { |
| 45 | + @Inject |
| 46 | + public JlinkTask(ProjectLayout layout, JavaToolchainService javaToolchain) { |
47 | 47 | getOptions().convention(List.of()); |
48 | 48 | getModules().convention(List.of("ALL-MODULE-PATH")); |
49 | | - getOutputDirectory().convention(getProject().getLayout().getBuildDirectory().dir("jlink")); |
| 49 | + getOutputDirectory().convention(layout.getBuildDirectory().dir("jlink")); |
50 | 50 |
|
51 | 51 | var toolchain = getProject().getExtensions().getByType(JavaPluginExtension.class).getToolchain(); |
52 | | - getJavaCompiler().convention(getJavaToolchainService().compilerFor(toolchain)); |
| 52 | + getJavaCompiler().convention(javaToolchain.compilerFor(toolchain)); |
53 | 53 | } |
54 | 54 |
|
55 | 55 | @TaskAction |
|
0 commit comments