mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-05-06 02:57:49 +02:00
add download link for new SCM-Manager version to admin information page
This commit is contained in:
@@ -28,7 +28,7 @@ import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import sonia.scm.xml.XmlDateWithTimezoneAdapter;
|
||||
import sonia.scm.xml.XmlUTCDateAdapter;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
@@ -64,7 +64,7 @@ public final class ReleaseFeedDto {
|
||||
private String description;
|
||||
private String link;
|
||||
private String generator;
|
||||
@XmlJavaTypeAdapter(XmlDateWithTimezoneAdapter.class)
|
||||
@XmlJavaTypeAdapter(XmlUTCDateAdapter.class)
|
||||
private Date lastBuildDate;
|
||||
@XmlElement(name = "item")
|
||||
private List<Release> releases;
|
||||
@@ -80,7 +80,7 @@ public final class ReleaseFeedDto {
|
||||
private String description;
|
||||
private String link;
|
||||
private String guid;
|
||||
@XmlJavaTypeAdapter(XmlDateWithTimezoneAdapter.class)
|
||||
@XmlJavaTypeAdapter(XmlUTCDateAdapter.class)
|
||||
private Date pubDate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import sonia.scm.net.ahc.AdvancedHttpClient;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.IOException;
|
||||
import java.time.Instant;
|
||||
import java.util.Comparator;
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -51,7 +50,7 @@ public class ReleaseFeedParser {
|
||||
Optional<ReleaseFeedDto.Release> latestRelease = filterForLatestRelease(releaseFeed);
|
||||
if (latestRelease.isPresent()) {
|
||||
ReleaseFeedDto.Release release = latestRelease.get();
|
||||
return Optional.of(new ReleaseInfo(release.getTitle(), release.getLink(), Instant.now()));
|
||||
return Optional.of(new ReleaseInfo(release.getTitle(), release.getLink()));
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@@ -27,12 +27,9 @@ package sonia.scm.admin;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public class ReleaseInfo {
|
||||
private final String title;
|
||||
private final String version;
|
||||
private final String link;
|
||||
private final Instant releaseDate;
|
||||
}
|
||||
|
||||
@@ -82,11 +82,12 @@ public class ReleaseVersionChecker {
|
||||
LOG.info("No newer version found for SCM-Manager");
|
||||
return Optional.empty();
|
||||
}
|
||||
LOG.info("No newer version found for SCM-Manager");
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
private boolean isNewerVersion(ReleaseInfo releaseInfo) {
|
||||
Version versionFromReleaseFeed = Version.parse(releaseInfo.getTitle());
|
||||
Version versionFromReleaseFeed = Version.parse(releaseInfo.getVersion());
|
||||
return versionFromReleaseFeed.isNewer(scmContextProvider.getVersion());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ public class AdminInfoResource {
|
||||
@GET
|
||||
@Path("releaseInfo")
|
||||
@Produces(VndMediaType.ADMIN_INFO)
|
||||
@Operation(summary = "Returns release info.", description = "Returns a release info if a newer version of SCM-Manager is available.", tags = "AdminInfo")
|
||||
@Operation(summary = "Returns release info.", description = "Returns information about the latest release if a newer version of SCM-Manager is available.", tags = "AdminInfo")
|
||||
@ApiResponse(responseCode = "200", description = "success")
|
||||
@ApiResponse(responseCode = "401", description = "not authenticated / invalid credentials")
|
||||
@ApiResponse(responseCode = "403", description = "not authorized, the current user has no privileges to read the information")
|
||||
|
||||
@@ -29,15 +29,12 @@ import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@NoArgsConstructor
|
||||
@Setter
|
||||
@Getter
|
||||
@SuppressWarnings("squid:S2160") // we do not need equals for dto
|
||||
public class ReleaseInfoDto extends HalRepresentation {
|
||||
private String title;
|
||||
private String version;
|
||||
private String link;
|
||||
private Instant releaseDate;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user