mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Don't use repo.spring.io in released Homebrew or Scoop recipes
Update our Homebrew and Scoop recipes to use `repo1.maven.org` rather than `repo.spring.io` for releases. Fixes gh-33702
This commit is contained in:
parent
0d9967c70c
commit
68af379714
@ -25,6 +25,12 @@ import org.gradle.api.Project;
|
|||||||
*/
|
*/
|
||||||
public final class ArtifactoryRepository {
|
public final class ArtifactoryRepository {
|
||||||
|
|
||||||
|
private static final String SNAPSHOT = "snapshot";
|
||||||
|
|
||||||
|
private static final String MILESTONE = "milestone";
|
||||||
|
|
||||||
|
private static final String RELEASE = "release";
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|
||||||
private ArtifactoryRepository(String name) {
|
private ArtifactoryRepository(String name) {
|
||||||
@ -35,6 +41,10 @@ public final class ArtifactoryRepository {
|
|||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isRelease() {
|
||||||
|
return RELEASE.equals(this.name);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return this.name;
|
return this.name;
|
||||||
@ -48,13 +58,13 @@ public final class ArtifactoryRepository {
|
|||||||
String version = project.getVersion().toString();
|
String version = project.getVersion().toString();
|
||||||
int modifierIndex = version.lastIndexOf('-');
|
int modifierIndex = version.lastIndexOf('-');
|
||||||
if (modifierIndex == -1) {
|
if (modifierIndex == -1) {
|
||||||
return "release";
|
return RELEASE;
|
||||||
}
|
}
|
||||||
String type = version.substring(modifierIndex + 1);
|
String type = version.substring(modifierIndex + 1);
|
||||||
if (type.startsWith("M") || type.startsWith("RC")) {
|
if (type.startsWith("M") || type.startsWith("RC")) {
|
||||||
return "milestone";
|
return MILESTONE;
|
||||||
}
|
}
|
||||||
return "snapshot";
|
return SNAPSHOT;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ import java.util.Map;
|
|||||||
|
|
||||||
import org.apache.commons.codec.digest.DigestUtils;
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
import org.gradle.api.DefaultTask;
|
import org.gradle.api.DefaultTask;
|
||||||
|
import org.gradle.api.Project;
|
||||||
import org.gradle.api.file.RegularFile;
|
import org.gradle.api.file.RegularFile;
|
||||||
import org.gradle.api.provider.Provider;
|
import org.gradle.api.provider.Provider;
|
||||||
import org.gradle.api.tasks.InputFile;
|
import org.gradle.api.tasks.InputFile;
|
||||||
@ -38,9 +39,14 @@ import org.springframework.boot.build.artifactory.ArtifactoryRepository;
|
|||||||
* a Homebrew formula.
|
* a Homebrew formula.
|
||||||
*
|
*
|
||||||
* @author Andy Wilkinson
|
* @author Andy Wilkinson
|
||||||
|
* @author Phillip Webb
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractPackageManagerDefinitionTask extends DefaultTask {
|
public abstract class AbstractPackageManagerDefinitionTask extends DefaultTask {
|
||||||
|
|
||||||
|
private static final String SPRING_REPO = "https://repo.spring.io/%s";
|
||||||
|
|
||||||
|
private static final String MAVEN_REPO = "https://repo1.maven.org/maven2";
|
||||||
|
|
||||||
private Provider<RegularFile> archive;
|
private Provider<RegularFile> archive;
|
||||||
|
|
||||||
private File template;
|
private File template;
|
||||||
@ -84,14 +90,19 @@ public abstract class AbstractPackageManagerDefinitionTask extends DefaultTask {
|
|||||||
getProject().copy((copy) -> {
|
getProject().copy((copy) -> {
|
||||||
copy.from(this.template);
|
copy.from(this.template);
|
||||||
copy.into(this.outputDir);
|
copy.into(this.outputDir);
|
||||||
Map<String, Object> properties = new HashMap<>(additionalProperties);
|
copy.expand(getProperties(additionalProperties));
|
||||||
properties.put("hash", sha256(this.archive.get().getAsFile()));
|
|
||||||
properties.put("repo", ArtifactoryRepository.forProject(getProject()));
|
|
||||||
properties.put("project", getProject());
|
|
||||||
copy.expand(properties);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Map<String, Object> getProperties(Map<String, Object> additionalProperties) {
|
||||||
|
Map<String, Object> properties = new HashMap<>(additionalProperties);
|
||||||
|
Project project = getProject();
|
||||||
|
properties.put("hash", sha256(this.archive.get().getAsFile()));
|
||||||
|
properties.put("repo", getRepo(project));
|
||||||
|
properties.put("project", project);
|
||||||
|
return properties;
|
||||||
|
}
|
||||||
|
|
||||||
private String sha256(File file) {
|
private String sha256(File file) {
|
||||||
try {
|
try {
|
||||||
MessageDigest digest = MessageDigest.getInstance("SHA-256");
|
MessageDigest digest = MessageDigest.getInstance("SHA-256");
|
||||||
@ -102,4 +113,9 @@ public abstract class AbstractPackageManagerDefinitionTask extends DefaultTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getRepo(Project project) {
|
||||||
|
ArtifactoryRepository artifactoryRepo = ArtifactoryRepository.forProject(project);
|
||||||
|
return (!artifactoryRepo.isRelease()) ? String.format(SPRING_REPO, artifactoryRepo.getName()) : MAVEN_REPO;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@ require 'formula'
|
|||||||
|
|
||||||
class SpringBoot < Formula
|
class SpringBoot < Formula
|
||||||
homepage 'https://spring.io/projects/spring-boot'
|
homepage 'https://spring.io/projects/spring-boot'
|
||||||
url 'https://repo.spring.io/${repo}/org/springframework/boot/spring-boot-cli/${project.version}/spring-boot-cli-${project.version}-bin.tar.gz'
|
url '${repo}/org/springframework/boot/spring-boot-cli/${project.version}/spring-boot-cli-${project.version}-bin.tar.gz'
|
||||||
version '${project.version}'
|
version '${project.version}'
|
||||||
sha256 '${hash}'
|
sha256 '${hash}'
|
||||||
head 'https://github.com/spring-projects/spring-boot.git'
|
head 'https://github.com/spring-projects/spring-boot.git'
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"version": "${scoopVersion}",
|
"version": "${scoopVersion}",
|
||||||
"license": "Apache 2.0",
|
"license": "Apache 2.0",
|
||||||
"hash": "${hash}",
|
"hash": "${hash}",
|
||||||
"url": "https://repo.spring.io/${repo}/org/springframework/boot/spring-boot-cli/${project.version}/spring-boot-cli-${project.version}-bin.zip",
|
"url": "${repo}/org/springframework/boot/spring-boot-cli/${project.version}/spring-boot-cli-${project.version}-bin.zip",
|
||||||
"extract_dir": "spring-${project.version}",
|
"extract_dir": "spring-${project.version}",
|
||||||
"bin": "bin\\\\spring.bat",
|
"bin": "bin\\\\spring.bat",
|
||||||
"suggest": {
|
"suggest": {
|
||||||
|
Loading…
Reference in New Issue
Block a user