diff options
author | Jesse Wilson <jessewilson@google.com> | 2010-04-26 10:31:19 -0700 |
---|---|---|
committer | Jesse Wilson <jessewilson@google.com> | 2010-04-26 10:32:21 -0700 |
commit | 16a64bbb650f906e3b65897283d16086d2b6b823 (patch) | |
tree | 0bb00bc5b41615d2f6469990d10b13dffa6757ea /tools/integrate/Command.java | |
parent | 8798e411f22b743d80b08cc34970f8c74a55aacf (diff) | |
download | libcore-16a64bbb650f906e3b65897283d16086d2b6b823.zip libcore-16a64bbb650f906e3b65897283d16086d2b6b823.tar.gz libcore-16a64bbb650f906e3b65897283d16086d2b6b823.tar.bz2 |
Removing vogar from Dalvik's git tree; the source is now on code.google.com.
http://code.google.com/p/vogar/
Diffstat (limited to 'tools/integrate/Command.java')
-rw-r--r-- | tools/integrate/Command.java | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/tools/integrate/Command.java b/tools/integrate/Command.java deleted file mode 100644 index 5e7796f..0000000 --- a/tools/integrate/Command.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * 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. - */ - -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -/** - * An out of process executable. - */ -class Command { - - private final List<String> args; - private final boolean permitNonZeroExitStatus; - - Command(String... args) { - this(Arrays.asList(args)); - } - - Command(List<String> args) { - this.args = new ArrayList<String>(args); - this.permitNonZeroExitStatus = false; - } - - private Command(Builder builder) { - this.args = new ArrayList<String>(builder.args); - this.permitNonZeroExitStatus = builder.permitNonZeroExitStatus; - } - - static class Builder { - private final List<String> args = new ArrayList<String>(); - private boolean permitNonZeroExitStatus = false; - - public Builder args(String... args) { - return args(Arrays.asList(args)); - } - - public Builder args(Collection<String> args) { - this.args.addAll(args); - return this; - } - - public Builder permitNonZeroExitStatus() { - permitNonZeroExitStatus = true; - return this; - } - - public Command build() { - return new Command(this); - } - - public List<String> execute() { - return build().execute(); - } - } - - public List<String> execute() { - try { - Process process = new ProcessBuilder() - .command(args) - .redirectErrorStream(true) - .start(); - - BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); - List<String> outputLines = new ArrayList<String>(); - String outputLine; - while ((outputLine = in.readLine()) != null) { - outputLines.add(outputLine); - } - - if (process.waitFor() != 0 && !permitNonZeroExitStatus) { - StringBuilder message = new StringBuilder(); - for (String line : outputLines) { - message.append("\n").append(line); - } - throw new RuntimeException("Process failed: " + args + message); - } - - return outputLines; - } catch (IOException e) { - throw new RuntimeException("Process failed: " + args, e); - } catch (InterruptedException e) { - throw new RuntimeException("Process failed: " + args, e); - } - } - -} |