|
|
|
@ -1,22 +1,40 @@
|
|
|
|
|
import java.io.File;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Scanner;
|
|
|
|
|
|
|
|
|
|
import Util.*;
|
|
|
|
|
import cn.hutool.core.io.FileUtil;
|
|
|
|
|
|
|
|
|
|
public class publishAll {
|
|
|
|
|
public static List<ProjectBean> listProject = new ArrayList<>();
|
|
|
|
|
public static String basedir;
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
try {
|
|
|
|
|
basedir = new File(System.getProperty("user.dir")).getCanonicalPath();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能:获取项目属性,1:JAVA后端,2:WEB前端
|
|
|
|
|
*
|
|
|
|
|
* @return
|
|
|
|
|
* @throws IOException
|
|
|
|
|
*/
|
|
|
|
|
public static int getProjectAttribute(int id) {
|
|
|
|
|
for (ProjectBean projectBean : listProject) {
|
|
|
|
|
if(projectBean.getId() == id){
|
|
|
|
|
//String devprojectBean.getDevProjectName()
|
|
|
|
|
break;
|
|
|
|
|
if (projectBean.getId() == id) {
|
|
|
|
|
|
|
|
|
|
String path = basedir + "\\" + projectBean.getDevProjectName();
|
|
|
|
|
//这个path目录下有没有src这样的子目录,如果有,则判定为JAVA项目,否则为WEB项目
|
|
|
|
|
if (new File(path + "\\src").exists()) {
|
|
|
|
|
return 1;
|
|
|
|
|
} else {
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
@ -25,12 +43,12 @@ public class publishAll {
|
|
|
|
|
/**
|
|
|
|
|
* 功能:提示用户选择项目,并返回项目编号
|
|
|
|
|
*/
|
|
|
|
|
public static void userSelectProject() {
|
|
|
|
|
public static int userSelectProject() {
|
|
|
|
|
Scanner scanner = new Scanner(System.in); // 创建Scanner对象来读取控制台输入
|
|
|
|
|
|
|
|
|
|
System.out.println("请选择您本次要发布的项目编号:");
|
|
|
|
|
for (ProjectBean projectBean : listProject) {
|
|
|
|
|
System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName()+" ");
|
|
|
|
|
System.out.print(projectBean.getId() + ":" + projectBean.getDevProjectName() + " ");
|
|
|
|
|
}
|
|
|
|
|
System.out.println();
|
|
|
|
|
int choice = scanner.nextInt(); // 读取用户输入的整数
|
|
|
|
@ -42,9 +60,10 @@ public class publishAll {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
scanner.close(); // 关闭Scanner对象
|
|
|
|
|
return choice;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) throws IOException {
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
|
|
//1、探测当前目录下有哪些以ds开头的目录,这些目录都是待发布的项目
|
|
|
|
|
List<String> projectNames = PublishUtil.getProjectNames();
|
|
|
|
|
|
|
|
|
@ -62,7 +81,28 @@ public class publishAll {
|
|
|
|
|
listProject.add(pb);
|
|
|
|
|
}
|
|
|
|
|
//让用户选择要发布的项目
|
|
|
|
|
userSelectProject();
|
|
|
|
|
|
|
|
|
|
int choice = userSelectProject();
|
|
|
|
|
//这个项目是什么类型?
|
|
|
|
|
int projectAttribute = getProjectAttribute(choice);
|
|
|
|
|
String workingPath = null, projectName = null, localLibPath = null;
|
|
|
|
|
boolean isStatic = false;
|
|
|
|
|
for (ProjectBean projectBean : listProject) {
|
|
|
|
|
if (projectBean.getId() == choice) {
|
|
|
|
|
workingPath = basedir + "\\" + projectBean.getDevProjectName();
|
|
|
|
|
projectName = projectBean.getPublishProjectName();
|
|
|
|
|
if (FileUtil.exist(workingPath + "\\lib")) {
|
|
|
|
|
localLibPath = workingPath + "\\lib";
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (projectAttribute == 1) {
|
|
|
|
|
System.out.println("JAVA项目");
|
|
|
|
|
} else {
|
|
|
|
|
System.out.println("WEB项目");
|
|
|
|
|
isStatic = true;
|
|
|
|
|
}
|
|
|
|
|
//开始打包
|
|
|
|
|
PublishUtil.publish(projectName, isStatic, workingPath, localLibPath);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|