🔖 升级版本.

This commit is contained in:
lijiahang
2024-12-23 10:52:49 +08:00
parent 8bbda6691d
commit adcc6dddef
14 changed files with 159 additions and 18 deletions

View File

@@ -0,0 +1,141 @@
/*
* Copyright (c) 2023 - present Dromara, All rights reserved.
*
* https://visor.dromara.org
* https://visor.dromara.org.cn
* https://visor.orionsec.cn
*
* Members:
* lijiahangmax ljh1553488six@139.com - author
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.dromara.visor.launch;
import cn.orionsec.kit.lang.utils.io.FileReaders;
import cn.orionsec.kit.lang.utils.io.FileWriters;
import cn.orionsec.kit.lang.utils.io.Files1;
import java.io.File;
import java.nio.charset.StandardCharsets;
import java.util.function.Function;
/**
* 替换版本号
*
* @author Jiahang Li
* @version 1.0.0
* @since 2024/12/23 10:21
*/
public class ReplaceVersion {
private static final String TARGET_VERSION = "2.2.1";
private static final String REPLACE_VERSION = "2.2.2";
private static final String PATH = new File("").getAbsolutePath();
private static final String[] DOCKER_FILES = new String[]{
"docker/push.sh",
"docker/adminer/build.sh",
"docker/adminer/build.sh",
"docker/mysql/build.sh",
"docker/redis/build.sh",
"docker/service/build.sh",
"docker-compose.yml",
"docker-compose-testing.yml"
};
private static final String[] POM_FILES = new String[]{
"pom.xml",
"orion-visor-dependencies/pom.xml"
};
private static final String APP_CONST_FILE = "orion-visor-framework/orion-visor-framework-common/src/main/java/org/dromara/visor/framework/common/constant/AppConst.java";
private static final String PACKAGE_JSON_FILE = "orion-visor-ui/package.json";
private static final String[] VITE_ENV_FILES = new String[]{
"orion-visor-ui/.env.development",
"orion-visor-ui/.env.production"
};
public static void main(String[] args) {
replaceDockerFiles();
replacePomFiles();
replaceAppConst();
replacePackageJson();
replaceViteEnvFiles();
}
/**
* 替换 docker 文件
*/
private static void replaceDockerFiles() {
for (String file : DOCKER_FILES) {
readAndWrite(file, s -> s.replaceAll(TARGET_VERSION, REPLACE_VERSION));
}
}
/**
* 替换 pom 文件
*/
private static void replacePomFiles() {
for (String file : POM_FILES) {
readAndWrite(file, s -> s.replaceAll("<revision>" + TARGET_VERSION + "</revision>", "<revision>" + REPLACE_VERSION + "</revision>"));
}
}
/**
* 替换 AppConst 文件
*/
private static void replaceAppConst() {
readAndWrite(APP_CONST_FILE, s -> s.replaceAll("String VERSION = \"" + TARGET_VERSION + "\"", "String VERSION = \"" + REPLACE_VERSION + "\""));
}
/**
* 替换 package.json 文件
*/
private static void replacePackageJson() {
readAndWrite(PACKAGE_JSON_FILE, s -> s.replaceAll("\"version\": \"" + TARGET_VERSION + "\"", "\"version\": \"" + REPLACE_VERSION + "\""));
}
/**
* 替换 .env 文件
*/
private static void replaceViteEnvFiles() {
for (String file : VITE_ENV_FILES) {
readAndWrite(file, s -> s.replaceAll("VITE_APP_VERSION= '" + TARGET_VERSION + "'", "VITE_APP_VERSION= '" + REPLACE_VERSION + "'"));
}
}
/**
* 读取并且写入
*
* @param path path
* @param mapping mapping
*/
private static void readAndWrite(String path, Function<String, String> mapping) {
String filePath = Files1.getPath(PATH, path);
try {
// 读取文件内容
byte[] bytes = FileReaders.readAllBytesFast(filePath);
// 写入文件内容
FileWriters.writeFast(filePath, mapping.apply(new String(bytes)).getBytes(StandardCharsets.UTF_8));
System.out.println("OK: " + path);
} catch (Exception e) {
System.err.println("ERR: " + path);
}
}
}