private String buildInfoToJsonString(Build buildInfo) throws IOException { Version version = getVersion(); boolean isCompatibleArtifactory = version.isAtLeast(MINIMAL_ARTIFACTORY_VERSION); if (!isCompatibleArtifactory) { log.warn("Note: Please upgrade your Artifactory server! This plugin is designed to work with version " + MINIMAL_ARTIFACTORY_VERSION + " of Artifactory and above."); } //From Artifactory 2.2.3 we do not need to discard new properties in order to avoid a server side exception on //JSON parsing. Our JSON writer is configured to discard null values. if (!version.isAtLeast(UNKNOWN_PROPERTIES_TOLERANT_ARTIFACTORY_VERSION)) { buildInfo.setBuildAgent(null); buildInfo.setParentName(null); buildInfo.setParentNumber(null); buildInfo.setVcsRevision(null); } //From Artifactory 2.2.4 we also handle non-numeric build numbers if (!version.isAtLeast(NON_NUMERIC_BUILD_NUMBERS_TOLERANT_ARTIFACTORY_VERSION)) { String buildNumber = buildInfo.getNumber(); verifyNonNumericBuildNumber(buildNumber); String parentBuildNumber = buildInfo.getParentNumber(); verifyNonNumericBuildNumber(parentBuildNumber); } return toJsonString(buildInfo); }
public String buildInfoToJsonString(Build buildInfo) throws Exception { ArtifactoryVersion version = verifyCompatibleArtifactoryVersion(); //From Artifactory 2.2.3 we do not need to discard new properties in order to avoid a server side exception on //JSON parsing. Our JSON writer is configured to discard null values. if (!version.isAtLeast(UNKNOWN_PROPERTIES_TOLERANT_ARTIFACTORY_VERSION)) { buildInfo.setBuildAgent(null); buildInfo.setParentName(null); buildInfo.setParentNumber(null); buildInfo.setVcsRevision(null); } //From Artifactory 2.2.4 we also handle non-numeric build numbers if (!version.isAtLeast(NON_NUMERIC_BUILD_NUMBERS_TOLERANT_ARTIFACTORY_VERSION)) { String buildNumber = buildInfo.getNumber(); verifyNonNumericBuildNumber(buildNumber); String parentBuildNumber = buildInfo.getParentNumber(); verifyNonNumericBuildNumber(parentBuildNumber); } return toJsonString(buildInfo); }