# HG changeset patch # User Mario Torre # Date 1301611067 -7200 # Node ID 8a417ad3e271ef90acffd04b30b4d617d3a81813 # Parent ffeb5d49c3f2208db2acacd036298af30719b530 Sanitise output. Contributed by Giulio Franco. diff -r ffeb5d49c3f2 -r 8a417ad3e271 src/main/java/org/icedrobot/ika/runtime/IkaRuntime.java --- a/src/main/java/org/icedrobot/ika/runtime/IkaRuntime.java Tue Mar 29 23:54:31 2011 +0200 +++ b/src/main/java/org/icedrobot/ika/runtime/IkaRuntime.java Fri Apr 01 00:37:47 2011 +0200 @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import java.util.Arrays; import java.util.logging.Level; import java.util.logging.Logger; import org.icedrobot.ika.plugins.IkaPluginException; @@ -31,10 +32,15 @@ /** * Executes the given command on the passed path. */ - public static void exec(String command, File path) { + public static void exec(File path, String... command) { try { - System.err.println("command: " + command + ", path: " + path); - Process process = Runtime.getRuntime().exec(command, null, path); + System.err.println("command: " + Arrays.toString(command) + + ", path: " + path); + + ProcessBuilder pb = new ProcessBuilder(command); + pb.redirectErrorStream(true); + pb.directory(path); + Process process = pb.start(); InputStream is = process.getInputStream(); InputStreamReader reader = new InputStreamReader(is); @@ -48,8 +54,8 @@ } catch (IOException ex) { Logger.getLogger(IkaRuntime.class.getName()). - log(Level.SEVERE, "cannot execute: " + command, ex); - throw new IkaPluginException("cannot execute: " + command, ex); + log(Level.SEVERE, "cannot execute: " + Arrays.toString(command), ex); + throw new IkaPluginException("cannot execute: " + Arrays.toString(command), ex); } } } diff -r ffeb5d49c3f2 -r 8a417ad3e271 src/main/java/org/icedrobot/ika/runtime/scm/GITRepository.java --- a/src/main/java/org/icedrobot/ika/runtime/scm/GITRepository.java Tue Mar 29 23:54:31 2011 +0200 +++ b/src/main/java/org/icedrobot/ika/runtime/scm/GITRepository.java Fri Apr 01 00:37:47 2011 +0200 @@ -60,9 +60,9 @@ */ @Override public void makeClone() { - String command = "git clone -b " + getBranch() + " " + remotePath; + String command = "git clone --progress -b " + getBranch() + " " + remotePath; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "clone", "--progress", "-b", getBranch(), remotePath); } @@ -74,23 +74,23 @@ String command = "git init ."; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "init"); command = "git add --all"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "add", "--all"); command = "git commit -m initial_repository --verbose"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "commit", "-m", "initial_repository", "--verbose"); command = "git branch " + branch; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "branch", branch); command = "git checkout " + branch; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "git", "checkout", branch); System.err.println(">>>>>>>> done: " + this + " <<<<<<<<"); } @@ -117,7 +117,7 @@ public void applyPatchQueue() { String command = "guilt push --all"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "guilt", "push", "--all"); } @Override @@ -125,6 +125,6 @@ String command = "guilt init"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "guilt", "init"); } } diff -r ffeb5d49c3f2 -r 8a417ad3e271 src/main/java/org/icedrobot/ika/runtime/scm/HGRepository.java --- a/src/main/java/org/icedrobot/ika/runtime/scm/HGRepository.java Tue Mar 29 23:54:31 2011 +0200 +++ b/src/main/java/org/icedrobot/ika/runtime/scm/HGRepository.java Fri Apr 01 00:37:47 2011 +0200 @@ -53,7 +53,7 @@ public void makeClone() { String command = "hg clone " + remotePath + " " + getFullPath(); System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "hg", "clone", remotePath, getFullPath().toString()); } @Override @@ -82,15 +82,15 @@ String command = "hg init ."; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "hg", "init"); command = "hg add"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "hg", "add"); command = "hg commit -minitial_repository"; System.err.println(command); - IkaRuntime.exec(command, getFullPath()); + IkaRuntime.exec(getFullPath(), "hg", "commit", "-minitial_repository"); } @Override diff -r ffeb5d49c3f2 -r 8a417ad3e271 src/main/resources/org/icedrobot/ika/plugins/borg/repositories.properties --- a/src/main/resources/org/icedrobot/ika/plugins/borg/repositories.properties Tue Mar 29 23:54:31 2011 +0200 +++ b/src/main/resources/org/icedrobot/ika/plugins/borg/repositories.properties Fri Apr 01 00:37:47 2011 +0200 @@ -3,3 +3,4 @@ core=system,git://android.git.kernel.org/platform/system/core.git,android-2.3.2_r1 safe-iop=external,git://android.git.kernel.org/platform/external/safe-iop.git,android-2.3.2_r1 base=frameworks,git://android.git.kernel.org/platform/frameworks/base.git,android-2.3.2_r1 +#libcore=.,git://android.git.kernel.org/platform/libcore.git,android-2.3.2_r1 \ No newline at end of file diff -r ffeb5d49c3f2 -r 8a417ad3e271 src/main/resources/org/icedrobot/ika/plugins/borg/subrepositories.properties --- a/src/main/resources/org/icedrobot/ika/plugins/borg/subrepositories.properties Tue Mar 29 23:54:31 2011 +0200 +++ b/src/main/resources/org/icedrobot/ika/plugins/borg/subrepositories.properties Fri Apr 01 00:37:47 2011 +0200 @@ -2,4 +2,4 @@ dalvik=vm,libnativehelper,libdex,dx safe-iop=. core=libcutils -base=. +base=. \ No newline at end of file