mirror of
https://github.com/theonedev/onedev.git
synced 2025-12-08 18:26:30 +00:00
Fix the bug that incompatibilities since upgraded version is calculated
incorrectly
This commit is contained in:
parent
9c18cacf4a
commit
6d9f4e8917
@ -50,9 +50,11 @@ public class Upgrade extends DefaultPersistManager {
|
||||
|
||||
private static final Pattern PRODUCT_FILE_NAME_PATTERN = Pattern.compile("io\\.onedev\\.server-product-(.*?)\\.jar");
|
||||
|
||||
public static final String FILE_INCOMPATIBILITIES = "incompatibilities.md";
|
||||
public static final String INCOMPATIBILITIES = "incompatibilities/incompatibilities.md";
|
||||
|
||||
public static final String FILE_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION = "incompatibilities-since-upgraded-version.md";
|
||||
public static final String INCOMPATIBILITIES_SINCE_UPGRADED_VERSION = "incompatibilities/since-upgraded-version.md";
|
||||
|
||||
public static final String CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION = "incompatibilities/checked-since-upgraded-version.md";
|
||||
|
||||
@Inject
|
||||
public Upgrade(PhysicalNamingStrategy physicalNamingStrategy,
|
||||
@ -589,24 +591,29 @@ public class Upgrade extends DefaultPersistManager {
|
||||
FileUtils.copyFile(new File(Bootstrap.installDir, "license.txt"), new File(upgradeDir, "license.txt"));
|
||||
FileUtils.copyFile(new File(Bootstrap.installDir, "version.txt"), new File(upgradeDir, "version.txt"));
|
||||
FileUtils.copyFile(new File(Bootstrap.installDir, "build.txt"), new File(upgradeDir, "build.txt"));
|
||||
|
||||
|
||||
FileUtils.createDir(new File(Bootstrap.installDir, INCOMPATIBILITIES).getParentFile());
|
||||
if (new File(upgradeDir, INCOMPATIBILITIES_SINCE_UPGRADED_VERSION).exists())
|
||||
FileUtils.deleteFile(new File(upgradeDir, INCOMPATIBILITIES_SINCE_UPGRADED_VERSION));
|
||||
if (new File(upgradeDir, CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION).exists())
|
||||
FileUtils.deleteFile(new File(upgradeDir, CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION));
|
||||
String incompatibilities = FileUtils.readFileToString(
|
||||
new File(Bootstrap.installDir, FILE_INCOMPATIBILITIES), StandardCharsets.UTF_8);
|
||||
if (new File(upgradeDir, FILE_INCOMPATIBILITIES).exists()) {
|
||||
new File(Bootstrap.installDir, INCOMPATIBILITIES), StandardCharsets.UTF_8);
|
||||
if (new File(upgradeDir, INCOMPATIBILITIES).exists()) {
|
||||
String incompatibilitiesOfUpgradedVersion = FileUtils.readFileToString(
|
||||
new File(upgradeDir, FILE_INCOMPATIBILITIES), StandardCharsets.UTF_8);
|
||||
if (incompatibilities.startsWith(incompatibilitiesOfUpgradedVersion)) {
|
||||
new File(upgradeDir, INCOMPATIBILITIES), StandardCharsets.UTF_8);
|
||||
if (incompatibilities.endsWith(incompatibilitiesOfUpgradedVersion)) {
|
||||
String incompatibilitiesSinceUpgradedVersion =
|
||||
incompatibilities.substring(incompatibilitiesOfUpgradedVersion.length());
|
||||
incompatibilities.substring(0, incompatibilities.length()-incompatibilitiesOfUpgradedVersion.length());
|
||||
if (StringUtils.isNotBlank(incompatibilitiesSinceUpgradedVersion)) {
|
||||
FileUtils.writeFile(
|
||||
new File(upgradeDir, FILE_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION),
|
||||
new File(upgradeDir, INCOMPATIBILITIES_SINCE_UPGRADED_VERSION),
|
||||
incompatibilitiesSinceUpgradedVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
FileUtils.copyFile(new File(Bootstrap.installDir, FILE_INCOMPATIBILITIES),
|
||||
new File(upgradeDir, FILE_INCOMPATIBILITIES));
|
||||
FileUtils.copyFile(new File(Bootstrap.installDir, INCOMPATIBILITIES),
|
||||
new File(upgradeDir, INCOMPATIBILITIES));
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
@ -86,7 +86,7 @@ public abstract class BasePage extends WebPage {
|
||||
|
||||
if (SecurityUtils.isAdministrator()
|
||||
&& !(getPage() instanceof IncompatibilitiesPage)
|
||||
&& new File(Bootstrap.installDir, Upgrade.FILE_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION).exists()) {
|
||||
&& new File(Bootstrap.installDir, Upgrade.INCOMPATIBILITIES_SINCE_UPGRADED_VERSION).exists()) {
|
||||
throw new RestartResponseAtInterceptPageException(IncompatibilitiesPage.class);
|
||||
}
|
||||
|
||||
|
||||
@ -22,18 +22,15 @@ import io.onedev.server.web.page.layout.LayoutPage;
|
||||
@SuppressWarnings("serial")
|
||||
public class IncompatibilitiesPage extends LayoutPage {
|
||||
|
||||
private static final String FILE_CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION =
|
||||
"checked-incompatibilities-since-upgraded-version.md";
|
||||
|
||||
private final IModel<String> incompatibilitiesSinceUpgradedVersionModel = new LoadableDetachableModel<String>() {
|
||||
|
||||
@Override
|
||||
protected String load() {
|
||||
try {
|
||||
File incompatibilitiesSinceUpgradedVersionFile =
|
||||
new File(Bootstrap.installDir, Upgrade.FILE_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION);
|
||||
new File(Bootstrap.installDir, Upgrade.INCOMPATIBILITIES_SINCE_UPGRADED_VERSION);
|
||||
File checkedIncompatibilitiesSinceUpgradedVersionFile =
|
||||
new File(Bootstrap.installDir, FILE_CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION);
|
||||
new File(Bootstrap.installDir, Upgrade.CHECKED_INCOMPATIBILITIES_SINCE_UPGRADED_VERSION);
|
||||
if (incompatibilitiesSinceUpgradedVersionFile.exists()) {
|
||||
String incompatibilitiesSinceUpgradedVersion = FileUtils.readFileToString(
|
||||
incompatibilitiesSinceUpgradedVersionFile, StandardCharsets.UTF_8);
|
||||
@ -87,7 +84,7 @@ public class IncompatibilitiesPage extends LayoutPage {
|
||||
return incompatibilitiesSinceUpgradedVersionModel.getObject();
|
||||
} else {
|
||||
return FileUtils.readFileToString(
|
||||
new File(Bootstrap.installDir, Upgrade.FILE_INCOMPATIBILITIES),
|
||||
new File(Bootstrap.installDir, Upgrade.INCOMPATIBILITIES),
|
||||
StandardCharsets.UTF_8);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user