Use versioned links to Antora docs.

Closes #79
This commit is contained in:
Mark Paluch
2024-04-25 08:58:44 +02:00
parent 7338905308
commit bbbb791340
5 changed files with 13 additions and 8 deletions

View File

@@ -318,8 +318,12 @@ public class ArtifactVersion implements Comparable<ArtifactVersion> {
return modifierFormat ? SNAPSHOT_MODIFIER : SNAPSHOT_SUFFIX;
}
public String getMajorMinor() {
return String.format("%s.%s", version.getMajor(), version.getMinor());
}
public String getGeneration() {
return String.format("%s.%s.x", version.getMajor(), version.getMinor());
return String.format("%s.x", getMajorMinor());
}
@Override
@@ -342,4 +346,5 @@ public class ArtifactVersion implements Comparable<ArtifactVersion> {
return Objects.hash(version, isReleaseVersion(), isSnapshotVersion(), isMilestoneVersion(),
isReleaseCandidateVersion(), suffix);
}
}

View File

@@ -31,8 +31,8 @@ public class DocumentationMetadata {
private static String DOCS_BASE = "https://docs.spring.io/spring-data/%s/docs/%s";
private static String COMMERICIAL_DOCS_BASE = "https://docs.spring.vmware.com/spring-data/%s/docs/%s";
private static String ANTORA_BASE = "https://docs.spring.io/spring-data/%s/reference/";
private static String COMMERCIAL_ANTORA_BASE = "https://docs.spring.vmware.com/spring-data/%s/reference/";
private static String ANTORA_BASE = "https://docs.spring.io/spring-data/%s/reference/%s/";
private static String COMMERCIAL_ANTORA_BASE = "https://docs.spring.vmware.com/spring-data/%s/reference/%s/";
private static String DOCS = DOCS_BASE.concat("/reference/html/");
private static String JAVADOC = DOCS_BASE.concat("/api/");
@@ -114,7 +114,7 @@ public class DocumentationMetadata {
}
String format = this.project.isCommercial() ? COMMERCIAL_ANTORA_BASE : ANTORA_BASE;
return String.format(format, getProjectName(project));
return String.format(format, getProjectName(project), version.getMajorMinor());
}
public String getVersionOrTrainName(Train train) {

View File

@@ -36,7 +36,7 @@ import org.springframework.util.Assert;
* @author Mark Paluch
*/
@Value(staticConstructor = "of")
class MaintainedVersion implements Comparable<MaintainedVersion> {
public class MaintainedVersion implements Comparable<MaintainedVersion> {
@With Project project;
ArtifactVersion version;

View File

@@ -49,7 +49,7 @@ import org.springframework.data.util.Streamable;
*/
@ToString
@RequiredArgsConstructor(access = AccessLevel.PRIVATE)
class MaintainedVersions implements Streamable<MaintainedVersion> {
public class MaintainedVersions implements Streamable<MaintainedVersion> {
private final List<MaintainedVersion> versions;

View File

@@ -38,14 +38,14 @@ class DocumentationMetadataUnitTests {
.isEqualTo("https://docs.spring.io/spring-data/mongodb/docs/3.1.0/reference/html/");
}
@Test // gh-167
@Test // gh-167, gh-79
void shouldReportCorrectAntoraDocumentationUrls() {
DocumentationMetadata metadata = DocumentationMetadata.of(DocumentationFormat.ANTORA,
SupportedProject.of(Projects.MONGO_DB, SupportStatus.OSS), ArtifactVersion.of("3.1.0"), false);
assertThat(metadata.getApiDocUrl()).isEqualTo("https://docs.spring.io/spring-data/mongodb/docs/3.1.0/api/");
assertThat(metadata.getReferenceDocUrl()).isEqualTo("https://docs.spring.io/spring-data/mongodb/reference/");
assertThat(metadata.getReferenceDocUrl()).isEqualTo("https://docs.spring.io/spring-data/mongodb/reference/3.1/");
}
@Test // gh-197