Bläddra i källkod

Build command.

HorridoJoho 3 år sedan
förälder
incheckning
4d86e2b05d

+ 4 - 0
src/main/java/com/l2jserver/cli/L2JServerCLI.java

@@ -53,6 +53,10 @@ import picocli.CommandLine.Command;
 })
 public class L2JServerCLI implements Callable<Void> {
 	
+    public static final String DEFAULT_LOGIN_SOURCE_DIR = "./l2j/git/l2j-server-login";
+    public static final String DEFAULT_GAME_SOURCE_DIR = "./l2j/git/l2j-server-game";
+    public static final String DEFAULT_DATAPACK_SOURCE_DIR = "./l2j/git/l2j-server-datapack";
+
 	@Override
 	public Void call() {
 		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");

+ 25 - 6
src/main/java/com/l2jserver/cli/command/BuildCommand.java

@@ -18,6 +18,13 @@
  */
 package com.l2jserver.cli.command;
 
+import java.io.IOException;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.l2jserver.cli.L2JServerCLI;
+
 import picocli.CommandLine.Command;
 
 /**
@@ -27,10 +34,22 @@ import picocli.CommandLine.Command;
  */
 @Command(name = "build", aliases = "b")
 public class BuildCommand extends AbstractCommand {
-	
-	@Override
-	public void run() {
-		// TODO(Zoey76): Implement.
-		System.out.println("Building");
-	}
+    
+    private static final Logger LOG = LoggerFactory.getLogger(BuildCommand.class);
+
+    @Override
+    public void run() {
+        try {
+            System.out.println("Building L2J Loginserver");
+            Runtime.getRuntime().exec(L2JServerCLI.DEFAULT_LOGIN_SOURCE_DIR + "/mvnw install -DskipTests");
+
+            System.out.println("Building L2J Gameserver");
+            Runtime.getRuntime().exec(L2JServerCLI.DEFAULT_LOGIN_SOURCE_DIR + "/mvnw install -DskipTests");
+
+            System.out.println("Building L2J DataPack");
+            Runtime.getRuntime().exec(L2JServerCLI.DEFAULT_DATAPACK_SOURCE_DIR + "/mvnw compile -DskipTests");
+        } catch (IOException e) {
+            LOG.error("Unable to build the code!", e);
+        }
+    }
 }

+ 7 - 11
src/main/java/com/l2jserver/cli/command/CodeCommand.java

@@ -19,12 +19,12 @@
 package com.l2jserver.cli.command;
 
 import java.io.File;
-import java.nio.file.Files;
 
 import org.eclipse.jgit.api.Git;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.l2jserver.cli.L2JServerCLI;
 import com.l2jserver.cli.model.CloneType;
 import com.l2jserver.cli.util.LoggerProgressMonitor;
 
@@ -47,10 +47,6 @@ public class CodeCommand extends AbstractCommand {
 	private static final String DEFAULT_GAME_REPO = "https://bitbucket.org/l2jserver/l2j-server-game.git";
 	private static final String DEFAULT_DATAPACK_REPO = "https://bitbucket.org/l2jserver/l2j-server-datapack.git";
 	
-	private static final String DEFAULT_LOGIN_DIR = "./l2j/git/l2j-server-login";
-	private static final String DEFAULT_GAME_DIR = "./l2j/git/l2j-server-game";
-	private static final String DEFAULT_DATAPACK_DIR = "./l2j/git/l2j-server-datapack";
-	
 	@Option(names = "--login-repository", defaultValue = DEFAULT_LOGIN_REPO, description = "Login repository")
 	private String loginRepository = DEFAULT_LOGIN_REPO;
 	@Option(names = "--game-repository", defaultValue = DEFAULT_GAME_REPO, description = "Game repository")
@@ -58,12 +54,12 @@ public class CodeCommand extends AbstractCommand {
 	@Option(names = "--datapack-repository", defaultValue = DEFAULT_DATAPACK_REPO, description = "Datapack repository")
 	private String datapackRepository = DEFAULT_DATAPACK_REPO;
 	
-	@Option(names = "--login-directory", defaultValue = DEFAULT_LOGIN_DIR, description = "Login directory")
-	private File loginDirectory = new File(DEFAULT_LOGIN_DIR);
-	@Option(names = "--game-directory", defaultValue = DEFAULT_GAME_DIR, description = "Game directory")
-	private File gameDirectory = new File(DEFAULT_GAME_DIR);
-	@Option(names = "--datapack-directory", defaultValue = DEFAULT_DATAPACK_DIR, description = "DataPack directory")
-	private File datapackDirectory = new File(DEFAULT_DATAPACK_DIR);
+	@Option(names = "--login-directory", defaultValue = L2JServerCLI.DEFAULT_LOGIN_SOURCE_DIR, description = "Login directory")
+	private File loginDirectory = new File(L2JServerCLI.DEFAULT_LOGIN_SOURCE_DIR);
+	@Option(names = "--game-directory", defaultValue = L2JServerCLI.DEFAULT_GAME_SOURCE_DIR, description = "Game directory")
+	private File gameDirectory = new File(L2JServerCLI.DEFAULT_GAME_SOURCE_DIR);
+	@Option(names = "--datapack-directory", defaultValue = L2JServerCLI.DEFAULT_DATAPACK_SOURCE_DIR, description = "DataPack directory")
+	private File datapackDirectory = new File(L2JServerCLI.DEFAULT_DATAPACK_SOURCE_DIR);
 	
 	@Option(names = "--clone", defaultValue = "ALL", description = "Clone ALL|LOGIN|GAME|DATAPACK")
 	private CloneType cloneType = CloneType.ALL;