in maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java [140:304]
public void write(BuilderReleaseDescriptor config, File file) throws ReleaseDescriptorStoreException {
Properties properties = new Properties();
properties.setProperty("completedPhase", config.getCompletedPhase());
if (config.isCommitByProject()) // default is false
{
properties.setProperty("commitByProject", "true");
}
properties.setProperty("scm.url", config.getScmSourceUrl());
if (config.getScmId() != null) {
properties.setProperty("scm.id", config.getScmId());
}
if (config.getScmUsername() != null) {
properties.setProperty("scm.username", config.getScmUsername());
}
if (config.getScmPassword() != null) {
String password = config.getScmPassword();
try {
password = mavenCrypto.encryptAndDecorate(password);
} catch (MavenCryptoException e) {
logger.debug(e.getMessage());
}
properties.setProperty("scm.password", password);
}
if (config.getScmPrivateKey() != null) {
properties.setProperty("scm.privateKey", config.getScmPrivateKey());
}
if (config.getScmPrivateKeyPassPhrase() != null) {
String passPhrase = config.getScmPrivateKeyPassPhrase();
try {
passPhrase = mavenCrypto.encryptAndDecorate(passPhrase);
} catch (MavenCryptoException e) {
logger.debug(e.getMessage());
}
properties.setProperty("scm.passphrase", passPhrase);
}
if (config.getScmTagBase() != null) {
properties.setProperty("scm.tagBase", config.getScmTagBase());
}
if (config.getScmBranchBase() != null) {
properties.setProperty("scm.branchBase", config.getScmBranchBase());
}
if (config.getScmReleaseLabel() != null) {
properties.setProperty("scm.tag", config.getScmReleaseLabel());
}
if (config.getScmTagNameFormat() != null) {
properties.setProperty("scm.tagNameFormat", config.getScmTagNameFormat());
}
if (config.getScmCommentPrefix() != null) {
properties.setProperty("scm.commentPrefix", config.getScmCommentPrefix());
}
if (config.getScmDevelopmentCommitComment() != null) {
properties.setProperty("scm.developmentCommitComment", config.getScmDevelopmentCommitComment());
}
if (config.getScmReleaseCommitComment() != null) {
properties.setProperty("scm.releaseCommitComment", config.getScmReleaseCommitComment());
}
if (config.getScmBranchCommitComment() != null) {
properties.setProperty("scm.branchCommitComment", config.getScmBranchCommitComment());
}
if (config.getScmRollbackCommitComment() != null) {
properties.setProperty("scm.rollbackCommitComment", config.getScmRollbackCommitComment());
}
if (config.getAdditionalArguments() != null) {
properties.setProperty("exec.additionalArguments", config.getAdditionalArguments());
}
if (config.getPomFileName() != null) {
properties.setProperty("exec.pomFileName", config.getPomFileName());
}
if (!config.getActivateProfiles().isEmpty()) {
properties.setProperty(
"exec.activateProfiles",
StringUtils.join(config.getActivateProfiles().iterator(), ","));
}
if (config.getPreparationGoals() != null) {
properties.setProperty("preparationGoals", config.getPreparationGoals());
}
if (config.getCompletionGoals() != null) {
properties.setProperty("completionGoals", config.getCompletionGoals());
}
if (config.getProjectVersionPolicyId() != null) {
properties.setProperty("projectVersionPolicyId", config.getProjectVersionPolicyId());
}
if (config.getProjectVersionPolicyConfig() != null) {
properties.setProperty(
"projectVersionPolicyConfig",
config.getProjectVersionPolicyConfig().toString());
}
if (config.getProjectNamingPolicyId() != null) {
properties.setProperty("projectNamingPolicyId", config.getProjectNamingPolicyId());
}
if (config.getReleaseStrategyId() != null) {
properties.setProperty("releaseStrategyId", config.getReleaseStrategyId());
}
properties.setProperty(
"exec.snapshotReleasePluginAllowed", Boolean.toString(config.isSnapshotReleasePluginAllowed()));
properties.setProperty("remoteTagging", Boolean.toString(config.isRemoteTagging()));
properties.setProperty("pinExternals", Boolean.toString(config.isPinExternals()));
properties.setProperty("pushChanges", Boolean.toString(config.isPushChanges()));
if (config.getWorkItem() != null) {
properties.setProperty("workItem", config.getWorkItem());
}
if (config.getAutoResolveSnapshots() != null) {
properties.setProperty("autoResolveSnapshots", config.getAutoResolveSnapshots());
}
// others boolean properties are not written to the properties file because the value from the caller is always
// used
for (Map.Entry<String, ReleaseStageVersions> entry :
config.getProjectVersions().entrySet()) {
if (entry.getValue().getRelease() != null) {
properties.setProperty(
"project.rel." + entry.getKey(), entry.getValue().getRelease());
}
if (entry.getValue().getDevelopment() != null) {
properties.setProperty(
"project.dev." + entry.getKey(), entry.getValue().getDevelopment());
}
}
for (Map.Entry<String, Scm> entry : config.getOriginalScmInfo().entrySet()) {
Scm scm = entry.getValue();
String prefix = "project.scm." + entry.getKey();
if (scm != null) {
if (scm.getConnection() != null) {
properties.setProperty(prefix + ".connection", scm.getConnection());
}
if (scm.getDeveloperConnection() != null) {
properties.setProperty(prefix + ".developerConnection", scm.getDeveloperConnection());
}
if (scm.getUrl() != null) {
properties.setProperty(prefix + ".url", scm.getUrl());
}
if (scm.getTag() != null) {
properties.setProperty(prefix + ".tag", scm.getTag());
}
if (scm instanceof IdentifiedScm) {
IdentifiedScm identifiedScm = (IdentifiedScm) scm;
if (identifiedScm.getId() != null) {
properties.setProperty(prefix + ".id", identifiedScm.getId());
}
}
} else {
properties.setProperty(prefix + ".empty", "true");
}
}
if ((config.getResolvedSnapshotDependencies() != null)
&& (config.getResolvedSnapshotDependencies().size() > 0)) {
processResolvedDependencies(properties, config.getResolvedSnapshotDependencies());
}
try (OutputStream outStream = new FileOutputStream(file)) {
properties.store(outStream, "release configuration");
} catch (IOException e) {
throw new ReleaseDescriptorStoreException(
"Error writing properties file '" + file.getName() + "': " + e.getMessage(), e);
}
}