1010
1111public class HelmTemplateStageService implements TemplateStageService {
1212
13- private final VersioningTemplateStageService versioningTemplateStageService ;
13+ private final DbMigrationTemplateStageService dbMigrationTemplateStageService ;
1414 private final PackageTemplateStageService packageTemplateStageService ;
1515 private final TagTemplateStageService tagTemplateStageService ;
1616
17- public HelmTemplateStageService (VersioningTemplateStageService versioningTemplateStageService ,
17+ public HelmTemplateStageService (DbMigrationTemplateStageService dbMigrationTemplateStageService ,
1818 PackageTemplateStageService packageTemplateStageService ,
1919 TagTemplateStageService tagTemplateStageService ) {
20- this .versioningTemplateStageService = versioningTemplateStageService ;
20+ this .dbMigrationTemplateStageService = dbMigrationTemplateStageService ;
2121 this .packageTemplateStageService = packageTemplateStageService ;
2222 this .tagTemplateStageService = tagTemplateStageService ;
2323 }
@@ -30,11 +30,7 @@ public String getJobId() {
3030 @ Override
3131 public boolean access (PipelineGeneratorMojo mojo , MetaData metaData ) {
3232
33- if (StringUtils .equalsIgnoreCase (metaData .getBranchName (), "feature" )) {
34- return false ;
35- }
36-
37- if (StringUtils .equalsIgnoreCase (metaData .getBranchName (), "bugfix" )) {
33+ if (!metaData .isDeployable ()) {
3834 return false ;
3935 }
4036
@@ -53,30 +49,58 @@ public String getTemplate(PipelineGeneratorMojo mojo, MetaData metaData) {
5349 boolean masterBranch = StringUtils .equalsIgnoreCase (metaData .getBranchName (), "master" );
5450
5551 boolean multipleStages = stageNames .size () > 1 ;
52+ boolean sameDockerRegistry = PipelineGeneratorUtil .isSameDockerRegistry (stageNames );
5653
5754 return stageNames .stream ().map (it -> {
5855
5956 String template = PipelineGeneratorUtil .getTemplate (getTemplateName ());
6057
6158 template = PipelineGeneratorUtil .applyProperties (template , it );
6259
63- if ( tagTemplateStageService . access ( mojo , metaData )) {
60+ String needs = getJobNeeds ( mojo , metaData , it , sameDockerRegistry );
6461
65- template = template .replaceAll ("%NEEDS%" , tagTemplateStageService .getJobId ());
66- } else if (versioningTemplateStageService .access (mojo , metaData )) {
62+ if (StringUtils .isNotEmpty (needs )) {
6763
68- template = template .replaceAll ("%NEEDS%" , packageTemplateStageService . getJobId () );
64+ template = template .replaceAll ("%NEEDS%" , needs );
6965 } else {
7066
7167 template = template .replaceAll ("\\ [ %NEEDS% \\ ]" , "[ ]" );
7268 }
7369
7470 return template
7571 .replace ("deployment:" , multipleStages ? "deployment-" + it .toLowerCase () + ":" : "deployment:" )
76- .replace ("%JOB_NAME%" , "[" + it . toUpperCase () + "] Deployment" )
72+ .replace ("%JOB_NAME%" , PipelineGeneratorUtil . getJobName ( " Deployment", it , multipleStages ) )
7773 .replace ("$VERSION.$SHORT_SHA" , masterBranch ? "$VERSION.$SHORT_SHA" : "$VERSION" )
7874 .replace ("%STAGE_NAME%" , it );
7975
8076 }).collect (Collectors .joining ());
8177 }
78+
79+ private String getJobNeeds (PipelineGeneratorMojo mojo , MetaData metaData , String stageName , boolean sameDockerRegistry ) {
80+
81+ if (dbMigrationTemplateStageService .access (mojo , metaData )) {
82+
83+ if (sameDockerRegistry ) {
84+ return dbMigrationTemplateStageService .getJobId ();
85+ }
86+
87+ return dbMigrationTemplateStageService .getJobIds (metaData , stageName );
88+ }
89+
90+ if (tagTemplateStageService .access (mojo , metaData )) {
91+
92+ return tagTemplateStageService .getJobId ();
93+ }
94+
95+ if (packageTemplateStageService .access (mojo , metaData )) {
96+
97+ if (sameDockerRegistry ) {
98+ return packageTemplateStageService .getJobId ();
99+ }
100+
101+ return packageTemplateStageService .getJobIds (metaData , stageName );
102+ }
103+
104+ return null ;
105+ }
82106}
0 commit comments