|
16 | 16 |
|
17 | 17 | package nebula.plugin.info.ci |
18 | 18 |
|
19 | | -import groovy.transform.CompileDynamic |
20 | 19 | import nebula.plugin.info.InfoBrokerPlugin |
21 | 20 | import nebula.plugin.info.InfoCollectorPlugin |
22 | 21 | import org.gradle.api.Plugin |
23 | 22 | import org.gradle.api.Project |
24 | | -import org.gradle.api.internal.ConventionMapping |
25 | | -import org.gradle.api.internal.IConventionAware |
26 | 23 | import org.gradle.api.provider.ProviderFactory |
27 | 24 |
|
28 | 25 | import javax.inject.Inject |
@@ -55,22 +52,20 @@ class ContinuousIntegrationInfoPlugin implements Plugin<Project>, InfoCollectorP |
55 | 52 | configureExtMapping(project, extension) |
56 | 53 |
|
57 | 54 | project.plugins.withType(InfoBrokerPlugin) { InfoBrokerPlugin manifestPlugin -> |
58 | | - manifestPlugin.add('Build-Host') { extension.host } |
59 | | - manifestPlugin.add('Build-Job') { extension.job } |
60 | | - manifestPlugin.add('Build-Number') { extension.buildNumber } |
61 | | - manifestPlugin.add('Build-Id') { extension.buildId } |
62 | | - manifestPlugin.add('Build-Url') { extension.buildUrl } |
| 55 | + manifestPlugin.add('Build-Host') { extension.host.getOrNull() } |
| 56 | + manifestPlugin.add('Build-Job') { extension.job.getOrNull() } |
| 57 | + manifestPlugin.add('Build-Number') { extension.buildNumber.getOrNull() } |
| 58 | + manifestPlugin.add('Build-Id') { extension.buildId.getOrNull() } |
| 59 | + manifestPlugin.add('Build-Url') { extension.buildUrl.getOrNull() } |
63 | 60 | } |
64 | 61 | } |
65 | 62 |
|
66 | | - @CompileDynamic |
67 | 63 | private void configureExtMapping(Project project, ContinuousIntegrationInfoExtension extension) { |
68 | | - ConventionMapping extMapping = ((IConventionAware) extension).getConventionMapping() |
69 | | - extMapping.host = { selectedProvider.calculateHost(project) } |
70 | | - extMapping.job = { selectedProvider.calculateJob(project) } |
71 | | - extMapping.buildNumber = { selectedProvider.calculateBuildNumber(project) } |
72 | | - extMapping.buildId = { selectedProvider.calculateBuildId(project) } |
73 | | - extMapping.buildUrl = { selectedProvider.calculateBuildUrl(project) } |
| 64 | + extension.host.convention(providerFactory.provider { selectedProvider.calculateHost(project) }) |
| 65 | + extension.job.convention(providerFactory.provider { selectedProvider.calculateJob(project) }) |
| 66 | + extension.buildNumber.convention(providerFactory.provider { selectedProvider.calculateBuildNumber(project) }) |
| 67 | + extension.buildId.convention(providerFactory.provider { selectedProvider.calculateBuildId(project) }) |
| 68 | + extension.buildUrl.convention(providerFactory.provider { selectedProvider.calculateBuildUrl(project) }) |
74 | 69 | } |
75 | 70 |
|
76 | 71 | ContinuousIntegrationInfoProvider findProvider(Project project) { |
|
0 commit comments