|
20 | 20 | import java.io.IOException;
|
21 | 21 | import java.io.InputStreamReader;
|
22 | 22 | import java.io.StringWriter;
|
23 |
| -import java.lang.reflect.Method; |
24 | 23 | import java.util.concurrent.Callable;
|
25 | 24 |
|
26 | 25 | import org.gradle.api.GradleException;
|
|
30 | 29 | import org.gradle.api.distribution.DistributionContainer;
|
31 | 30 | import org.gradle.api.file.CopySpec;
|
32 | 31 | import org.gradle.api.file.FileCollection;
|
33 |
| -import org.gradle.api.internal.IConventionAware; |
34 | 32 | import org.gradle.api.plugins.ApplicationPlugin;
|
35 | 33 | import org.gradle.api.plugins.ApplicationPluginConvention;
|
36 |
| -import org.gradle.api.provider.Property; |
37 |
| -import org.gradle.api.provider.Provider; |
38 | 34 | import org.gradle.api.tasks.TaskProvider;
|
39 | 35 | import org.gradle.jvm.application.scripts.TemplateBasedScriptGenerator;
|
40 | 36 | import org.gradle.jvm.application.tasks.CreateStartScripts;
|
@@ -81,35 +77,11 @@ public void execute(Project project) {
|
81 | 77 | distribution.getContents().with(binCopySpec);
|
82 | 78 | }
|
83 | 79 |
|
84 |
| - @SuppressWarnings("unchecked") |
| 80 | + @SuppressWarnings("UnstableApiUsage") |
85 | 81 | private void configureBaseNameConvention(Project project, ApplicationPluginConvention applicationConvention,
|
86 | 82 | Distribution distribution) {
|
87 |
| - Method getDistributionBaseName = findMethod(distribution.getClass(), "getDistributionBaseName"); |
88 |
| - if (getDistributionBaseName != null) { |
89 |
| - try { |
90 |
| - Property<String> distributionBaseName = (Property<String>) distribution.getClass() |
91 |
| - .getMethod("getDistributionBaseName").invoke(distribution); |
92 |
| - distributionBaseName.getClass().getMethod("convention", Provider.class).invoke(distributionBaseName, |
93 |
| - project.provider(() -> applicationConvention.getApplicationName() + "-boot")); |
94 |
| - return; |
95 |
| - } |
96 |
| - catch (Exception ex) { |
97 |
| - // Continue |
98 |
| - } |
99 |
| - } |
100 |
| - if (distribution instanceof IConventionAware) { |
101 |
| - ((IConventionAware) distribution).getConventionMapping().map("baseName", |
102 |
| - () -> applicationConvention.getApplicationName() + "-boot"); |
103 |
| - } |
104 |
| - } |
105 |
| - |
106 |
| - private static Method findMethod(Class<?> type, String name) { |
107 |
| - for (Method candidate : type.getMethods()) { |
108 |
| - if (candidate.getName().equals(name)) { |
109 |
| - return candidate; |
110 |
| - } |
111 |
| - } |
112 |
| - return null; |
| 83 | + distribution.getDistributionBaseName() |
| 84 | + .convention(project.provider(() -> applicationConvention.getApplicationName() + "-boot")); |
113 | 85 | }
|
114 | 86 |
|
115 | 87 | @Override
|
|
0 commit comments