From ac874074578a84cea7e243471c748f2b0be46839 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 10 Dec 2024 09:38:42 +0100 Subject: [PATCH] Polishing. Remove Authentication.password in favor of API Key as both values are the same. Document GitHub Token requirements. --- readme.adoc | 6 +++--- .../data/release/build/MavenBuildSystem.java | 6 +++--- .../data/release/deployment/DeploymentConfiguration.java | 3 +-- .../data/release/deployment/DeploymentProperties.java | 5 ++--- src/main/resources/application.properties | 1 + 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/readme.adoc b/readme.adoc index 9b816e5..2a55797 100644 --- a/readme.adoc +++ b/readme.adoc @@ -118,13 +118,13 @@ Both are available in the Spring/Pivotal Last Pass repository. * `maven.mavenHome` - Pointing to the location of your Maven installation. * `deployment.username` - Your Artifactory user. * `deployment.api-key` - The Artifactory API key to use for artifact promotion. - * `deployment.password` - The encrypted Artifactory password.. +* `deployment.password` - The encrypted Artifactory password. * `gpg.keyname` - The GPG key name. * `gpg.passphrase` - The password of your GPG key. * `gpg.executable` - Path to your GPG executable, typically `/usr/local/MacGPG2/bin/gpg2` or `/usr/local/bin/gpg`. - * `project-service.key` - Project Service authentication token. Must be a valid GitHub token. Can be the same - as `git.password` when using a GitHub token as password. + * `project-service.key` - Project Service authentication token. Must be a valid GitHub token. Can be the same as `git.password` when using a GitHub token as password. +Use the following scopes: `project, read:org, repo, user, workflow`. (See link:application-local.template[`application-local.template`] for details) diff --git a/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java b/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java index e703812..3e3e9ee 100644 --- a/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java +++ b/src/main/java/org/springframework/data/release/build/MavenBuildSystem.java @@ -361,7 +361,7 @@ class MavenBuildSystem implements BuildSystem { arg("artifactory.server").withValue(authentication.getServer().getUri()), arg("artifactory.staging-repository").withValue(authentication.getStagingRepository()), arg("artifactory.username").withValue(authentication.getUsername()), - arg("artifactory.password").withValue(authentication.getPassword()), + arg("artifactory.password").withValue(authentication.getApiKey()), arg("artifactory.build-name").withQuotedValue(information.getBuildName()), arg("artifactory.build-number").withValue(information.getBuildNumber()), arg("gpg.executable").withValue(gpg.getExecutable()), // @@ -508,7 +508,7 @@ class MavenBuildSystem implements BuildSystem { arg("artifactory.server").withValue(authentication.getServer().getUri()), arg("artifactory.distribution-repository").withValue(authentication.getDistributionRepository()), arg("artifactory.username").withValue(authentication.getUsername()), - arg("artifactory.password").withValue(authentication.getPassword())) + arg("artifactory.password").withValue(authentication.getApiKey())) .andIf(deploymentInformation != null, () -> { return arg("artifactory.build-number").withValue(deploymentInformation.getBuildNumber()); }).andIf(!ObjectUtils.isEmpty(properties.getSettingsXml()), () -> settingsXml(properties.getSettingsXml()))); @@ -518,7 +518,7 @@ class MavenBuildSystem implements BuildSystem { arg("artifactory.server").withValue(authentication.getServer().getUri()), arg("artifactory.distribution-repository").withValue(authentication.getDistributionRepository()), arg("artifactory.username").withValue(authentication.getUsername()), - arg("artifactory.password").withValue(authentication.getPassword())) + arg("artifactory.password").withValue(authentication.getApiKey())) .andIf(deploymentInformation != null, () -> { return arg("artifactory.build-number").withValue(deploymentInformation.getBuildNumber()); }).andIf(!ObjectUtils.isEmpty(properties.getSettingsXml()), () -> settingsXml(properties.getSettingsXml()))); diff --git a/src/main/java/org/springframework/data/release/deployment/DeploymentConfiguration.java b/src/main/java/org/springframework/data/release/deployment/DeploymentConfiguration.java index e631032..1baf848 100644 --- a/src/main/java/org/springframework/data/release/deployment/DeploymentConfiguration.java +++ b/src/main/java/org/springframework/data/release/deployment/DeploymentConfiguration.java @@ -19,7 +19,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.release.deployment.DeploymentProperties.Authentication; -import org.springframework.data.release.model.Password; import org.springframework.data.release.utils.HttpBasicCredentials; import org.springframework.data.release.utils.HttpComponentsClientHttpRequestFactoryBuilder; import org.springframework.data.release.utils.Logger; @@ -53,7 +52,7 @@ class DeploymentConfiguration { if (authentication.hasCredentials()) { HttpBasicCredentials credentials = new HttpBasicCredentials(authentication.getUsername(), - Password.of(authentication.getApiKey())); + authentication.getApiKey()); builder = builder.withAuthentication(uri, credentials); } else { diff --git a/src/main/java/org/springframework/data/release/deployment/DeploymentProperties.java b/src/main/java/org/springframework/data/release/deployment/DeploymentProperties.java index eb29927..b6cbf13 100644 --- a/src/main/java/org/springframework/data/release/deployment/DeploymentProperties.java +++ b/src/main/java/org/springframework/data/release/deployment/DeploymentProperties.java @@ -123,12 +123,11 @@ public class DeploymentProperties implements InitializingBean { String distributionRepository; String project; String username; - Password password; - String apiKey; + Password apiKey; String repositoryPrefix = ""; public boolean hasCredentials() { - return StringUtils.hasText(username) && password != null; + return StringUtils.hasText(username) && apiKey != null; } public void validate() { diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 7df5041..e7a351f 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -35,6 +35,7 @@ deployment.commercial.staging-repository=spring-enterprise-maven-stage-local deployment.commercial.target-repository=spring-enterprise-maven-prod-local deployment.commercial.distribution-repository=spring-enterprise-maven-prod-local deployment.commercial.project=spring +deployment.maven-central.staging-profile-id=2a29ff48cbb4b # deployment.commercial.distribution-repository= # deployment.commercial.username <- local, for build