Skip to content

Commit 5e9a3fd

Browse files
committed
HAP-409 - support multi-configuration projects
1 parent 9a6a486 commit 5e9a3fd

File tree

11 files changed

+338
-326
lines changed

11 files changed

+338
-326
lines changed

Diff for: build-info-api/src/main/java/org/jfrog/build/api/Build.java

+36-25
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ public class Build extends BaseBuildBean {
6060

6161
private BuildRetention buildRetention;
6262

63+
@XStreamAlias(RUN_PARAMETERS)
64+
private List<MatrixParameter> runParameters;
65+
6366
@XStreamAlias(MODULES)
6467
private List<Module> modules;
6568

@@ -71,6 +74,17 @@ public class Build extends BaseBuildBean {
7174

7275
private Governance governance;
7376

77+
/**
78+
* Formats the timestamp to the ISO date time string format expected by the build info API.
79+
*
80+
* @param timestamp The build start time timestamp
81+
* @return ISO date time formatted string
82+
*/
83+
public static String formatBuildStarted(long timestamp) {
84+
SimpleDateFormat dateFormat = new SimpleDateFormat(STARTED_FORMAT);
85+
return dateFormat.format(timestamp);
86+
}
87+
7488
/**
7589
* Returns the version of the build
7690
*
@@ -423,18 +437,30 @@ public void setLicenseControl(LicenseControl licenseControl) {
423437
this.licenseControl = licenseControl;
424438
}
425439

440+
public BuildRetention getBuildRetention() {
441+
return buildRetention;
442+
}
443+
426444
public void setBuildRetention(BuildRetention buildRetention) {
427445
this.buildRetention = buildRetention;
428446
}
429447

430-
public BuildRetention getBuildRetention() {
431-
return buildRetention;
448+
public List<MatrixParameter> getRunParameters() {
449+
return runParameters;
450+
}
451+
452+
public void setRunParameters(List<MatrixParameter> runParameters) {
453+
this.runParameters = runParameters;
432454
}
433455

434456
public List<PromotionStatus> getStatuses() {
435457
return statuses;
436458
}
437459

460+
public void setStatuses(List<PromotionStatus> statuses) {
461+
this.statuses = statuses;
462+
}
463+
438464
public void addStatus(PromotionStatus promotionStatus) {
439465
if (statuses == null) {
440466
statuses = Lists.newArrayList();
@@ -443,28 +469,22 @@ public void addStatus(PromotionStatus promotionStatus) {
443469
statuses.add(promotionStatus);
444470
}
445471

446-
public void setStatuses(List<PromotionStatus> statuses) {
447-
this.statuses = statuses;
448-
}
449-
450472
/**
451-
* Formats the timestamp to the ISO date time string format expected by the build info API.
473+
* Returns the build dependencies of this build
452474
*
453-
* @param timestamp The build start time timestamp
454-
* @return ISO date time formatted string
475+
* @return list of #BuildDependency objects
455476
*/
456-
public static String formatBuildStarted(long timestamp) {
457-
SimpleDateFormat dateFormat = new SimpleDateFormat(STARTED_FORMAT);
458-
return dateFormat.format(timestamp);
477+
public List<BuildDependency> getBuildDependencies() {
478+
return buildDependencies;
459479
}
460480

461481
/**
462-
* Returns the build dependencies of this build
482+
* Sets build dependencies for this build
463483
*
464-
* @return list of #BuildDependency objects
484+
* @param buildDependencies List of #BuildDependency objects
465485
*/
466-
public List<BuildDependency> getBuildDependencies() {
467-
return buildDependencies;
486+
public void setBuildDependencies(List<BuildDependency> buildDependencies) {
487+
this.buildDependencies = buildDependencies;
468488
}
469489

470490
/**
@@ -479,15 +499,6 @@ public void addBuildDependency(BuildDependency buildDependency) {
479499
buildDependencies.add(buildDependency);
480500
}
481501

482-
/**
483-
* Sets build dependencies for this build
484-
*
485-
* @param buildDependencies List of #BuildDependency objects
486-
*/
487-
public void setBuildDependencies(List<BuildDependency> buildDependencies) {
488-
this.buildDependencies = buildDependencies;
489-
}
490-
491502
public Issues getIssues() {
492503
return issues;
493504
}

Diff for: build-info-api/src/main/java/org/jfrog/build/api/BuildBean.java

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ public interface BuildBean extends Serializable {
3333
String ARTIFACT = "artifact";
3434
String DEPENDENCIES = "dependencies";
3535
String DEPENDENCY = "dependency";
36+
String RUN_PARAMETERS = "runParameters";
3637

3738
/**
3839
* Returns the properties of the bean

Diff for: build-info-api/src/main/java/org/jfrog/build/api/BuildInfoFields.java

+1
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,5 @@ public interface BuildInfoFields {
4343
String RELEASE_ENABLED = "promotion.enabled";
4444
String RELEASE_COMMENT = "promotion.comment";
4545
String BUILD_ROOT = "build.root";
46+
String RUN_PARAMETERS = "runParameters.";
4647
}

Diff for: build-info-api/src/main/java/org/jfrog/build/api/builder/BuildInfoBuilder.java

+51-23
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,29 @@
3333
*/
3434
public class BuildInfoBuilder {
3535

36-
private String version;
37-
private String name;
38-
private String started;
39-
private String number;
40-
private BuildType type;
41-
private Agent agent;
42-
private BuildAgent buildAgent;
43-
private long durationMillis;
44-
private String principal;
45-
private String artifactoryPrincipal;
46-
private String url;
47-
private String parentName;
48-
private String parentNumber;
49-
private String vcsRevision;
50-
private String vcsUrl;
51-
private List<Module> modules;
52-
private List<PromotionStatus> statuses;
53-
private Properties properties;
54-
private LicenseControl licenseControl;
55-
private BuildRetention buildRetention;
56-
private Issues issues;
57-
private Governance governance;
36+
protected String version;
37+
protected String name;
38+
protected String started;
39+
protected String number;
40+
protected BuildType type;
41+
protected Agent agent;
42+
protected BuildAgent buildAgent;
43+
protected long durationMillis;
44+
protected String principal;
45+
protected String artifactoryPrincipal;
46+
protected String url;
47+
protected String parentName;
48+
protected String parentNumber;
49+
protected String vcsRevision;
50+
protected String vcsUrl;
51+
protected List<MatrixParameter> runParameters;
52+
protected List<Module> modules;
53+
protected List<PromotionStatus> statuses;
54+
protected Properties properties;
55+
protected LicenseControl licenseControl;
56+
protected BuildRetention buildRetention;
57+
protected Issues issues;
58+
protected Governance governance;
5859

5960
public BuildInfoBuilder(String name) {
6061
this.name = name;
@@ -92,6 +93,7 @@ public Build build() {
9293
build.setUrl(url);
9394
build.setParentName(parentName);
9495
build.setParentNumber(parentNumber);
96+
build.setRunParameters(runParameters);
9597
build.setModules(modules);
9698
build.setStatuses(statuses);
9799
build.setProperties(properties);
@@ -320,14 +322,40 @@ public BuildInfoBuilder licenseControl(LicenseControl licenseControl) {
320322
/**
321323
* Sets the post build retention period
322324
*
323-
* @param licenseControl Build violation recipients.
325+
* @param buildRetention Build violation recipients.
324326
* @return Builder instance
325327
*/
326328
public BuildInfoBuilder buildRetention(BuildRetention buildRetention) {
327329
this.buildRetention = buildRetention;
328330
return this;
329331
}
330332

333+
/**
334+
* Sets the post build retention period
335+
*
336+
* @param runParameters matrix parameters.
337+
* @return Builder instance
338+
*/
339+
public BuildInfoBuilder buildRunParameters(List<MatrixParameter> runParameters) {
340+
this.runParameters = runParameters;
341+
return this;
342+
}
343+
344+
/**
345+
* Sets the post build retention period
346+
*
347+
* @param parameter MatrixParameter.
348+
* @return Builder instance
349+
*/
350+
public BuildInfoBuilder addRunParameters(MatrixParameter parameter) {
351+
if (runParameters == null) {
352+
runParameters = Lists.newArrayList();
353+
}
354+
runParameters.add(parameter);
355+
356+
return this;
357+
}
358+
331359
/**
332360
* Adds the given module to the modules list
333361
*

0 commit comments

Comments
 (0)