1
1
package org .cloudfoundry .multiapps .controller .process .steps ;
2
2
3
- import static java .util .stream .Collectors .toList ;
4
- import static java .util .stream .Collectors .toSet ;
5
-
6
3
import java .util .ArrayList ;
7
4
import java .util .Collections ;
8
5
import java .util .List ;
11
8
import java .util .TreeSet ;
12
9
import java .util .stream .Collectors ;
13
10
11
+ import com .sap .cloudfoundry .client .facade .CloudControllerClient ;
12
+ import com .sap .cloudfoundry .client .facade .domain .CloudServiceKey ;
14
13
import jakarta .inject .Inject ;
15
14
import jakarta .inject .Named ;
16
-
17
15
import org .cloudfoundry .multiapps .common .SLException ;
18
16
import org .cloudfoundry .multiapps .controller .api .model .ProcessType ;
19
17
import org .cloudfoundry .multiapps .controller .client .lib .domain .CloudServiceInstanceExtended ;
35
33
import org .cloudfoundry .multiapps .controller .core .util .CloudModelBuilderUtil ;
36
34
import org .cloudfoundry .multiapps .controller .core .util .NameUtil ;
37
35
import org .cloudfoundry .multiapps .controller .process .Messages ;
36
+ import org .cloudfoundry .multiapps .controller .process .util .DeprecatedBuildpackChecker ;
38
37
import org .cloudfoundry .multiapps .controller .process .util .ProcessTypeParser ;
39
38
import org .cloudfoundry .multiapps .controller .process .variables .Variables ;
40
39
import org .cloudfoundry .multiapps .mta .builders .v2 .ParametersChainBuilder ;
51
50
import org .springframework .beans .factory .config .BeanDefinition ;
52
51
import org .springframework .context .annotation .Scope ;
53
52
54
- import com . sap . cloudfoundry . client . facade . CloudControllerClient ;
55
- import com . sap . cloudfoundry . client . facade . domain . CloudServiceKey ;
53
+ import static java . util . stream . Collectors . toList ;
54
+ import static java . util . stream . Collectors . toSet ;
56
55
57
56
@ Named ("buildCloudDeployModelStep" )
58
57
@ Scope (BeanDefinition .SCOPE_PROTOTYPE )
@@ -62,6 +61,8 @@ public class BuildCloudDeployModelStep extends SyncFlowableStep {
62
61
private ModuleToDeployHelper moduleToDeployHelper ;
63
62
@ Inject
64
63
private ProcessTypeParser processTypeParser ;
64
+ @ Inject
65
+ private DeprecatedBuildpackChecker buildpackChecker ;
65
66
66
67
@ Override
67
68
protected StepPhase executeStep (ProcessContext context ) {
@@ -89,6 +90,10 @@ protected StepPhase executeStep(ProcessContext context) {
89
90
List <Module > modulesCalculatedForDeployment = calculateModulesForDeployment (context , deploymentDescriptor , mtaDescriptorModules ,
90
91
mtaManifestModulesNames , deployedModuleNames ,
91
92
mtaModulesForDeployment );
93
+
94
+ buildpackChecker .warnForDeprecatedBuildpacks (modulesCalculatedForDeployment , deploymentDescriptor , getStepLogger (),
95
+ moduleToDeployHelper );
96
+
92
97
List <String > moduleJsons = modulesCalculatedForDeployment .stream ()
93
98
.map (SecureSerialization ::toJson )
94
99
.collect (toList ());
@@ -179,7 +184,7 @@ private List<String> getAppNames(List<Module> modulesCalculatedForDeployment) {
179
184
.map (NameUtil ::getApplicationName )
180
185
.collect (toList ());
181
186
}
182
-
187
+
183
188
private List <CloudServiceInstanceExtended > buildServicesForBindings (ServicesCloudModelBuilder servicesCloudModelBuilder ,
184
189
DeploymentDescriptor deploymentDescriptor ,
185
190
List <Module > modulesCalculatedForDeployment ) {
@@ -191,11 +196,13 @@ private List<CloudServiceInstanceExtended> buildServicesForBindings(ServicesClou
191
196
private List <CloudServiceInstanceExtended > buildFilteredServices (DeploymentDescriptor deploymentDescriptor ,
192
197
List <String > filteredResourceNames ,
193
198
ServicesCloudModelBuilder servicesCloudModelBuilder ) {
194
- CloudModelBuilderContentCalculator <Resource > resourcesCloudModelBuilderContentCalculator = new ResourcesCloudModelBuilderContentCalculator (filteredResourceNames ,
195
- getStepLogger (),
196
- false );
199
+ CloudModelBuilderContentCalculator <Resource > resourcesCloudModelBuilderContentCalculator = new ResourcesCloudModelBuilderContentCalculator (
200
+ filteredResourceNames ,
201
+ getStepLogger (),
202
+ false );
197
203
// this always filters the 'isActive', 'isResourceSpecifiedForDeployment' and 'isService' resources
198
- List <Resource > calculatedFilteredResources = resourcesCloudModelBuilderContentCalculator .calculateContentForBuilding (deploymentDescriptor .getResources ());
204
+ List <Resource > calculatedFilteredResources = resourcesCloudModelBuilderContentCalculator .calculateContentForBuilding (
205
+ deploymentDescriptor .getResources ());
199
206
200
207
return servicesCloudModelBuilder .build (calculatedFilteredResources );
201
208
}
@@ -235,9 +242,10 @@ private List<Module> calculateModulesForDeployment(ProcessContext context, Deplo
235
242
236
243
private List <Resource > calculateResourcesForDeployment (ProcessContext context , DeploymentDescriptor deploymentDescriptor ) {
237
244
List <String > resourcesSpecifiedForDeployment = context .getVariable (Variables .RESOURCES_FOR_DEPLOYMENT );
238
- CloudModelBuilderContentCalculator <Resource > resourcesCloudModelBuilderContentCalculator = new ResourcesCloudModelBuilderContentCalculator (resourcesSpecifiedForDeployment ,
239
- getStepLogger (),
240
- shouldProcessOnlyUserProvidedServices (context ));
245
+ CloudModelBuilderContentCalculator <Resource > resourcesCloudModelBuilderContentCalculator = new ResourcesCloudModelBuilderContentCalculator (
246
+ resourcesSpecifiedForDeployment ,
247
+ getStepLogger (),
248
+ shouldProcessOnlyUserProvidedServices (context ));
241
249
return resourcesCloudModelBuilderContentCalculator .calculateContentForBuilding (deploymentDescriptor .getResources ());
242
250
}
243
251
@@ -247,8 +255,8 @@ private boolean shouldProcessOnlyUserProvidedServices(ProcessContext context) {
247
255
}
248
256
249
257
protected ModulesCloudModelBuilderContentCalculator
250
- getModulesContentCalculator (ProcessContext context , List <Module > mtaDescriptorModules , Set <String > mtaManifestModuleNames ,
251
- Set <String > deployedModuleNames , Set <String > mtaModuleNamesForDeployment ) {
258
+ getModulesContentCalculator (ProcessContext context , List <Module > mtaDescriptorModules , Set <String > mtaManifestModuleNames ,
259
+ Set <String > deployedModuleNames , Set <String > mtaModuleNamesForDeployment ) {
252
260
List <ModulesContentValidator > modulesValidators = getModuleContentValidators (context .getControllerClient (), mtaDescriptorModules ,
253
261
mtaModuleNamesForDeployment , deployedModuleNames );
254
262
return new ModulesCloudModelBuilderContentCalculator (mtaManifestModuleNames ,
@@ -306,7 +314,8 @@ private List<String> getDomainsFromApps(ProcessContext context, DeploymentDescri
306
314
if (!moduleToDeployHelper .isApplication (module )) {
307
315
continue ;
308
316
}
309
- ParametersChainBuilder parametersChainBuilder = new ParametersChainBuilder (context .getVariable (Variables .COMPLETE_DEPLOYMENT_DESCRIPTOR ));
317
+ ParametersChainBuilder parametersChainBuilder = new ParametersChainBuilder (
318
+ context .getVariable (Variables .COMPLETE_DEPLOYMENT_DESCRIPTOR ));
310
319
List <Map <String , Object >> parametersList = parametersChainBuilder .buildModuleChain (module .getName ());
311
320
312
321
boolean noRoute = (Boolean ) PropertiesUtil .getPropertyValue (parametersList , SupportedParameters .NO_ROUTE , false );
0 commit comments