| package org.jetbrains.android.util; |
| |
| import org.jetbrains.annotations.NotNull; |
| import org.jetbrains.annotations.Nullable; |
| |
| import java.util.Map; |
| |
| /** |
| * @author Eugene.Kudelevsky |
| */ |
| public class AndroidBuildTestingManager { |
| |
| private static AndroidBuildTestingManager ourTestingManager; |
| |
| private final MyCommandExecutor myCommandExecutor; |
| |
| private AndroidBuildTestingManager(@NotNull MyCommandExecutor executor) { |
| myCommandExecutor = executor; |
| } |
| |
| @Nullable |
| public static AndroidBuildTestingManager getTestingManager() { |
| return ourTestingManager; |
| } |
| |
| public static void startBuildTesting(@NotNull MyCommandExecutor commandExecutor) { |
| ourTestingManager = new AndroidBuildTestingManager(commandExecutor); |
| } |
| |
| @NotNull |
| public static String arrayToString(@NotNull String[] array) { |
| final StringBuilder builder = new StringBuilder("["); |
| |
| for (String s : array) { |
| builder.append('\n').append(s); |
| } |
| if (array.length > 0) { |
| builder.append('\n'); |
| } |
| builder.append("]"); |
| return builder.toString(); |
| } |
| |
| @NotNull |
| public MyCommandExecutor getCommandExecutor() { |
| return myCommandExecutor; |
| } |
| |
| public interface MyCommandExecutor { |
| @NotNull |
| Process createProcess(@NotNull String[] args, @NotNull Map<? extends String, ? extends String> environment); |
| |
| void log(@NotNull String s); |
| |
| void checkJarContent(@NotNull String jarId, @NotNull String jarPath); |
| } |
| } |