@Requirement
private Logger logger;
public BuildInfoMavenBuilder resolveProperties(ExecutionEvent event, ArtifactoryClientConfiguration clientConf) {
BuildInfoMavenBuilder builder = resolveCoreProperties(event, clientConf).
artifactoryPrincipal(clientConf.publisher.getName()).
principal(clientConf.info.getPrincipal()).type(BuildType.MAVEN).parentName(
clientConf.info.getParentBuildName()).
parentNumber(clientConf.info.getParentBuildNumber());
String buildUrl = clientConf.info.getBuildUrl();
if (StringUtils.isNotBlank(buildUrl)) {
builder.url(buildUrl);
}
String vcsRevision = clientConf.info.getVcsRevision();
if (StringUtils.isNotBlank(vcsRevision)) {
builder.vcsRevision(vcsRevision);
}
String vcsUrl = clientConf.info.getVcsUrl();
if (StringUtils.isNotBlank(vcsUrl)) {
builder.vcsUrl(vcsUrl);
}
BuildAgent buildAgent = new BuildAgent("Maven", getMavenVersion());
builder.buildAgent(buildAgent);
String agentName = clientConf.info.getAgentName();
if (StringUtils.isBlank(agentName)) {
agentName = buildAgent.getName();
}
String agentVersion = clientConf.info.getAgentVersion();
if (StringUtils.isBlank(agentVersion)) {
agentVersion = buildAgent.getVersion();
}
builder.agent(new Agent(agentName, agentVersion));
LicenseControl licenseControl = new LicenseControl(clientConf.info.licenseControl.isRunChecks());
String notificationRecipients = clientConf.info.licenseControl.getViolationRecipients();
if (StringUtils.isNotBlank(notificationRecipients)) {
licenseControl.setLicenseViolationsRecipientsList(notificationRecipients);
}
licenseControl.setIncludePublishedArtifacts(clientConf.info.licenseControl.isIncludePublishedArtifacts());
licenseControl.setScopesList(clientConf.info.licenseControl.getScopes());
licenseControl.setAutoDiscover(clientConf.info.licenseControl.isAutoDiscover());
builder.licenseControl(licenseControl);
final BlackDuckProperties blackDuckProperties;
if (clientConf.info.blackDuckProperties.isRunChecks()) {
blackDuckProperties = clientConf.info.blackDuckProperties.copyBlackDuckProperties();
} else {
blackDuckProperties = new BlackDuckProperties();
}
Governance governance = new Governance();
governance.setBlackDuckProperties(blackDuckProperties);
builder.governance(governance);
BuildRetention buildRetention = new BuildRetention(clientConf.info.isDeleteBuildArtifacts());
if (clientConf.info.getBuildRetentionCount() != null) {
buildRetention.setCount(clientConf.info.getBuildRetentionCount());
}
String buildRetentionMinimumDays = clientConf.info.getBuildRetentionMinimumDate();
if (StringUtils.isNotBlank(buildRetentionMinimumDays)) {
int minimumDays = Integer.parseInt(buildRetentionMinimumDays);
if (minimumDays > -1) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, -minimumDays);
buildRetention.setMinimumBuildDate(calendar.getTime());
}
}
String[] notToDelete = clientConf.info.getBuildNumbersNotToDelete();
for (String notToDel : notToDelete) {
buildRetention.addBuildNotToBeDiscarded(notToDel);
}
attachStagingIfNeeded(clientConf, builder);
builder.buildRetention(buildRetention);
builder.artifactoryPrincipal(clientConf.publisher.getName());
String issueTrackerName = clientConf.info.issues.getIssueTrackerName();
if (StringUtils.isNotBlank(issueTrackerName)) {
Issues issues = new Issues();
issues.setAggregateBuildIssues(clientConf.info.issues.getAggregateBuildIssues());
issues.setAggregationBuildStatus(clientConf.info.issues.getAggregationBuildStatus());
issues.setTracker(new IssueTracker(issueTrackerName, clientConf.info.issues.getIssueTrackerVersion()));
Set<Issue> affectedIssuesSet = clientConf.info.issues.getAffectedIssuesSet();
if (!affectedIssuesSet.isEmpty()) {
issues.setAffectedIssues(affectedIssuesSet);
}
builder.issues(issues);
}
return builder;
}