Search in sources :

Example 1 with BuildInvoker

use of com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker in project intellij by bazelbuild.

the class MobileInstallBuildStep method build.

@Override
public void build(BlazeContext context, BlazeAndroidDeviceSelector.DeviceSession deviceSession) {
    BlazeProjectData projectData = BlazeProjectDataManager.getInstance(project).getBlazeProjectData();
    if (projectData == null) {
        IssueOutput.error("Missing project data. Please sync and try again.").submit(context);
        return;
    }
    DeviceFutures deviceFutures = deviceSession.deviceFutures;
    if (deviceFutures == null) {
        IssueOutput.error("Error fetching devices!").submit(context);
        return;
    }
    context.output(new StatusOutput("Waiting for target device..."));
    IDevice device = resolveDevice(context, deviceFutures);
    if (device == null) {
        return;
    }
    BuildInvoker invoker = Blaze.getBuildSystemProvider(project).getBuildSystem().getBuildInvoker(project, context);
    BlazeCommand.Builder command = BlazeCommand.builder(invoker, BlazeCommandName.MOBILE_INSTALL);
    if (passAdbArgWithSerialToMi.getValue()) {
        // Redundant, but we need this to get around bug in bazel.
        // https://github.com/bazelbuild/bazel/issues/4922
        command.addBlazeFlags(BlazeFlags.ADB_ARG + "-s ", BlazeFlags.ADB_ARG + device.getSerialNumber());
    }
    if (!StudioDeployerExperiment.isEnabled()) {
        MobileInstallAdbLocationProvider.getAdbLocationForMobileInstall(project).ifPresent((location) -> command.addBlazeFlags(BlazeFlags.ADB, location));
    }
    WorkspaceRoot workspaceRoot = WorkspaceRoot.fromProject(project);
    final String deployInfoSuffix = getDeployInfoSuffix(Blaze.getBuildSystemName(project));
    try (BuildResultHelper buildResultHelper = invoker.createBuildResultHelper();
        AdbTunnelConfigurator tunnelConfig = getTunnelConfigurator(context)) {
        tunnelConfig.setupConnection(context);
        if (!StudioDeployerExperiment.isEnabled()) {
            String deviceFlag = device.getSerialNumber();
            if (tunnelConfig.isActive()) {
                deviceFlag += ":tcp:" + tunnelConfig.getAdbServerPort();
            } else {
                InetSocketAddress adbAddr = AndroidDebugBridge.getSocketAddress();
                if (adbAddr == null) {
                    IssueOutput.warn("Can't get ADB server port, please ensure ADB server is running. Will fallback" + " to the default adb server.").submit(context);
                } else {
                    deviceFlag += ":tcp:" + adbAddr.getPort();
                }
            }
            command.addBlazeFlags(BlazeFlags.DEVICE, deviceFlag);
        }
        command.addTargets(label).addBlazeFlags(blazeFlags).addBlazeFlags(buildResultHelper.getBuildFlags()).addExeFlags(exeFlags).addExeFlags("--nolaunch_app");
        if (StudioDeployerExperiment.isEnabled()) {
            command.addExeFlags("--nodeploy");
        }
        SaveUtil.saveAllFiles();
        context.output(new StatusOutput("Invoking mobile-install..."));
        ExternalTask task = ExternalTask.builder(workspaceRoot).addBlazeCommand(command.build()).context(context).stdout(LineProcessingOutputStream.of(new PrintOutputLineProcessor(context))).stderr(LineProcessingOutputStream.of(BlazeConsoleLineProcessorProvider.getAllStderrLineProcessors(context))).build();
        Stopwatch s = Stopwatch.createStarted();
        int exitCode = task.run();
        logBuildTime(launchId, StudioDeployerExperiment.isEnabled(), s.elapsed(), exitCode);
        if (exitCode != 0) {
            IssueOutput.error("Blaze build failed. See Blaze Console for details.").submit(context);
            return;
        }
        ListenableFuture<Void> unusedFuture = FileCaches.refresh(project, context, BlazeBuildOutputs.noOutputs(BuildResult.fromExitCode(exitCode)));
        context.output(new StatusOutput("Reading deployment information..."));
        String executionRoot = ExecRootUtil.getExecutionRoot(buildResultHelper, project, blazeFlags, context);
        if (executionRoot == null) {
            IssueOutput.error("Could not locate execroot!").submit(context);
            return;
        }
        AndroidDeployInfo deployInfoProto = deployInfoHelper.readDeployInfoProtoForTarget(label, buildResultHelper, fileName -> fileName.endsWith(deployInfoSuffix));
        deployInfo = deployInfoHelper.extractDeployInfoAndInvalidateManifests(project, new File(executionRoot), deployInfoProto);
        String msg;
        if (StudioDeployerExperiment.isEnabled()) {
            msg = "mobile-install build completed, deploying split apks...";
        } else {
            msg = "Done.";
        }
        context.output(new StatusOutput(msg));
    } catch (GetArtifactsException e) {
        IssueOutput.error("Could not read BEP output: " + e.getMessage()).submit(context);
    } catch (GetDeployInfoException e) {
        IssueOutput.error("Could not read apk deploy info from build: " + e.getMessage()).submit(context);
    }
}
Also used : AndroidDeployInfo(com.google.devtools.build.lib.rules.android.deployinfo.AndroidDeployInfoOuterClass.AndroidDeployInfo) BlazeAndroidDeployInfo(com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo) BlazeCommand(com.google.idea.blaze.base.command.BlazeCommand) InetSocketAddress(java.net.InetSocketAddress) StatusOutput(com.google.idea.blaze.base.scope.output.StatusOutput) Stopwatch(com.google.common.base.Stopwatch) IDevice(com.android.ddmlib.IDevice) DeviceFutures(com.android.tools.idea.run.DeviceFutures) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) PrintOutputLineProcessor(com.google.idea.blaze.base.async.process.PrintOutputLineProcessor) BuildResultHelper(com.google.idea.blaze.base.command.buildresult.BuildResultHelper) GetArtifactsException(com.google.idea.blaze.base.command.buildresult.BuildResultHelper.GetArtifactsException) GetDeployInfoException(com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper.GetDeployInfoException) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) File(java.io.File) ExternalTask(com.google.idea.blaze.base.async.process.ExternalTask)

Example 2 with BuildInvoker

use of com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker in project intellij by bazelbuild.

the class BlazeInstrumentationTestApkBuildStep method build.

@Override
public void build(BlazeContext context, BlazeAndroidDeviceSelector.DeviceSession deviceSession) {
    BlazeProjectData projectData = BlazeProjectDataManager.getInstance(project).getBlazeProjectData();
    if (projectData == null) {
        IssueOutput.error("Invalid project data. Please sync the project.").submit(context);
        return;
    }
    InstrumentorToTarget testComponents = getInstrumentorToTargetPair(context, projectData);
    if (testComponents == null) {
        return;
    }
    BuildInvoker invoker = Blaze.getBuildSystemProvider(project).getBuildSystem().getBuildInvoker(project, context);
    BlazeCommand.Builder command = BlazeCommand.builder(invoker, BlazeCommandName.BUILD);
    WorkspaceRoot workspaceRoot = WorkspaceRoot.fromProject(project);
    // are on the local filesystem).
    try (BuildResultHelper buildResultHelper = invoker.createBuildResultHelper()) {
        if (testComponents.isSelfInstrumentingTest()) {
            command.addTargets(testComponents.instrumentor);
        } else {
            command.addTargets(testComponents.target, testComponents.instrumentor);
        }
        command.addBlazeFlags("--output_groups=+android_deploy_info").addBlazeFlags(buildFlags).addBlazeFlags(buildResultHelper.getBuildFlags());
        SaveUtil.saveAllFiles();
        int retVal = ExternalTask.builder(workspaceRoot).addBlazeCommand(command.build()).context(context).stderr(LineProcessingOutputStream.of(BlazeConsoleLineProcessorProvider.getAllStderrLineProcessors(context))).build().run();
        ListenableFuture<Void> unusedFuture = FileCaches.refresh(project, context, BlazeBuildOutputs.noOutputs(BuildResult.fromExitCode(retVal)));
        if (retVal != 0) {
            IssueOutput.error("Blaze build failed. See Blaze Console for details.").submit(context);
            return;
        }
        try {
            context.output(new StatusOutput("Reading deployment information..."));
            String executionRoot = ExecRootUtil.getExecutionRoot(buildResultHelper, project, buildFlags, context);
            if (executionRoot == null) {
                IssueOutput.error("Could not locate execroot!").submit(context);
                return;
            }
            AndroidDeployInfo instrumentorDeployInfoProto = deployInfoHelper.readDeployInfoProtoForTarget(testComponents.instrumentor, buildResultHelper, fileName -> fileName.endsWith(DEPLOY_INFO_FILE_SUFFIX));
            if (testComponents.isSelfInstrumentingTest()) {
                deployInfo = deployInfoHelper.extractDeployInfoAndInvalidateManifests(project, new File(executionRoot), instrumentorDeployInfoProto);
            } else {
                AndroidDeployInfo targetDeployInfoProto = deployInfoHelper.readDeployInfoProtoForTarget(testComponents.target, buildResultHelper, fileName -> fileName.endsWith(DEPLOY_INFO_FILE_SUFFIX));
                deployInfo = deployInfoHelper.extractInstrumentationTestDeployInfoAndInvalidateManifests(project, new File(executionRoot), instrumentorDeployInfoProto, targetDeployInfoProto);
            }
        } catch (GetArtifactsException e) {
            IssueOutput.error("Could not read BEP output: " + e.getMessage()).submit(context);
        } catch (GetDeployInfoException e) {
            IssueOutput.error("Could not read apk deploy info from build: " + e.getMessage()).submit(context);
        }
    }
}
Also used : AndroidDeployInfo(com.google.devtools.build.lib.rules.android.deployinfo.AndroidDeployInfoOuterClass.AndroidDeployInfo) BlazeAndroidDeployInfo(com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo) BlazeCommand(com.google.idea.blaze.base.command.BlazeCommand) StatusOutput(com.google.idea.blaze.base.scope.output.StatusOutput) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) BuildResultHelper(com.google.idea.blaze.base.command.buildresult.BuildResultHelper) GetArtifactsException(com.google.idea.blaze.base.command.buildresult.BuildResultHelper.GetArtifactsException) GetDeployInfoException(com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper.GetDeployInfoException) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) File(java.io.File)

Example 3 with BuildInvoker

use of com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker in project intellij by bazelbuild.

the class FullApkBuildStep method build.

@Override
public void build(BlazeContext context, BlazeAndroidDeviceSelector.DeviceSession deviceSession) {
    BlazeProjectData projectData = BlazeProjectDataManager.getInstance(project).getBlazeProjectData();
    if (projectData == null) {
        IssueOutput.error("Missing project data. Please sync and try again.").submit(context);
        return;
    }
    BuildInvoker invoker = Blaze.getBuildSystemProvider(project).getBuildSystem().getBuildInvoker(project, context);
    BlazeCommand.Builder command = BlazeCommand.builder(invoker, BlazeCommandName.BUILD);
    WorkspaceRoot workspaceRoot = WorkspaceRoot.fromProject(project);
    try (BuildResultHelper buildResultHelper = invoker.createBuildResultHelper()) {
        command.addTargets(label).addBlazeFlags("--output_groups=+android_deploy_info").addBlazeFlags(buildFlags).addBlazeFlags(buildResultHelper.getBuildFlags());
        SaveUtil.saveAllFiles();
        int retVal = ExternalTask.builder(workspaceRoot).addBlazeCommand(command.build()).context(context).stderr(LineProcessingOutputStream.of(BlazeConsoleLineProcessorProvider.getAllStderrLineProcessors(context))).build().run();
        ListenableFuture<Void> unusedFuture = FileCaches.refresh(project, context, BlazeBuildOutputs.noOutputs(BuildResult.fromExitCode(retVal)));
        if (retVal != 0) {
            IssueOutput.error("Blaze build failed. See Blaze Console for details.").submit(context);
            return;
        }
        context.output(new StatusOutput("Reading deployment information..."));
        String executionRoot = ExecRootUtil.getExecutionRoot(buildResultHelper, project, buildFlags, context);
        if (executionRoot == null) {
            IssueOutput.error("Could not locate execroot!").submit(context);
            return;
        }
        AndroidDeployInfo deployInfoProto = deployInfoHelper.readDeployInfoProtoForTarget(label, buildResultHelper, fileName -> fileName.endsWith(DEPLOY_INFO_SUFFIX));
        deployInfo = deployInfoHelper.extractDeployInfoAndInvalidateManifests(project, new File(executionRoot), deployInfoProto);
    } catch (GetArtifactsException e) {
        IssueOutput.error("Could not read BEP output: " + e.getMessage()).submit(context);
    } catch (GetDeployInfoException e) {
        IssueOutput.error("Could not read apk deploy info from build: " + e.getMessage()).submit(context);
    }
    if (FETCH_REMOTE_APKS.getValue() && deployInfo != null && apksRequireDownload(deployInfo)) {
        context.output(new StatusOutput("Fetching remotely built APKs... "));
        ImmutableList<File> localApks = deployInfo.getApksToDeploy().stream().map(apk -> FullApkBuildStep.downloadApkIfRemote(apk, context)).collect(ImmutableList.toImmutableList());
        deployInfo = new BlazeAndroidDeployInfo(deployInfo.getMergedManifest(), deployInfo.getTestTargetMergedManifest(), localApks);
        context.output(new StatusOutput("Done fetching APKs."));
    }
}
Also used : ExternalTask(com.google.idea.blaze.base.async.process.ExternalTask) ApkProvisionException(com.android.tools.idea.run.ApkProvisionException) BlazeContext(com.google.idea.blaze.base.scope.BlazeContext) ListenableFuture(com.google.common.util.concurrent.ListenableFuture) BuildResult(com.google.idea.blaze.base.sync.aspects.BuildResult) StatusOutput(com.google.idea.blaze.base.scope.output.StatusOutput) GetArtifactsException(com.google.idea.blaze.base.command.buildresult.BuildResultHelper.GetArtifactsException) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) ImmutableList(com.google.common.collect.ImmutableList) BlazeApkDeployInfoProtoHelper(com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper) AndroidDeployInfo(com.google.devtools.build.lib.rules.android.deployinfo.AndroidDeployInfoOuterClass.AndroidDeployInfo) BoolExperiment(com.google.idea.common.experiments.BoolExperiment) IssueOutput(com.google.idea.blaze.base.scope.output.IssueOutput) Project(com.intellij.openapi.project.Project) SaveUtil(com.google.idea.blaze.base.util.SaveUtil) BlazeBuildOutputs(com.google.idea.blaze.base.sync.aspects.BlazeBuildOutputs) Logger(com.intellij.openapi.diagnostic.Logger) GetDeployInfoException(com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper.GetDeployInfoException) BlazeConsoleLineProcessorProvider(com.google.idea.blaze.base.console.BlazeConsoleLineProcessorProvider) Blaze(com.google.idea.blaze.base.settings.Blaze) Files(java.nio.file.Files) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) IOException(java.io.IOException) BuildResultHelper(com.google.idea.blaze.base.command.buildresult.BuildResultHelper) BlazeProjectDataManager(com.google.idea.blaze.base.sync.data.BlazeProjectDataManager) File(java.io.File) BlazeAndroidDeployInfo(com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo) BlazeCommandName(com.google.idea.blaze.base.command.BlazeCommandName) RemoteApkDownloader(com.google.idea.blaze.android.run.RemoteApkDownloader) LineProcessingOutputStream(com.google.idea.blaze.base.async.process.LineProcessingOutputStream) Label(com.google.idea.blaze.base.model.primitives.Label) FileCaches(com.google.idea.blaze.base.filecache.FileCaches) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) VisibleForTesting(com.google.common.annotations.VisibleForTesting) BlazeCommand(com.google.idea.blaze.base.command.BlazeCommand) AndroidDeployInfo(com.google.devtools.build.lib.rules.android.deployinfo.AndroidDeployInfoOuterClass.AndroidDeployInfo) BlazeAndroidDeployInfo(com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo) BlazeCommand(com.google.idea.blaze.base.command.BlazeCommand) StatusOutput(com.google.idea.blaze.base.scope.output.StatusOutput) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) BuildResultHelper(com.google.idea.blaze.base.command.buildresult.BuildResultHelper) GetArtifactsException(com.google.idea.blaze.base.command.buildresult.BuildResultHelper.GetArtifactsException) GetDeployInfoException(com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper.GetDeployInfoException) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) BlazeAndroidDeployInfo(com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo) File(java.io.File)

Example 4 with BuildInvoker

use of com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker in project intellij by bazelbuild.

the class BlazeQuerySourceToTargetProvider method getBlazeCommand.

private static BlazeCommand getBlazeCommand(Project project, ContextType type, String query, List<String> additionalBlazeFlags, BlazeContext context) {
    // never use a custom output base for queries during sync
    String outputBaseFlag = type == ContextType.Sync ? null : BlazeQueryOutputBaseProvider.getInstance(project).getOutputBaseFlag();
    BuildInvoker buildInvoker = Blaze.getBuildSystemProvider(project).getBuildSystem().getBuildInvoker(project, context);
    return BlazeCommand.builder(buildInvoker, BlazeCommandName.QUERY).addBlazeFlags(additionalBlazeFlags).addBlazeFlags("--keep_going").addBlazeFlags(query).addBlazeStartupFlags(outputBaseFlag == null ? ImmutableList.of() : ImmutableList.of(outputBaseFlag)).build();
}
Also used : BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker)

Example 5 with BuildInvoker

use of com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker in project intellij by bazelbuild.

the class BlazeBuildService method buildTargetExpressions.

private static void buildTargetExpressions(Project project, ProjectViewSet projectView, BlazeProjectData projectData, ScopedFunction<List<TargetExpression>> targetsFunction, NotificationScope notificationScope, String taskName, BuildSystem buildSystem) {
    if (ApplicationManager.getApplication().isUnitTestMode()) {
        // this never being called *and* relied on PROJECT_LAST_BUILD_TIMESTAMP_KEY being set
        return;
    }
    FocusBehavior problemsViewFocus = BlazeUserSettings.getInstance().getShowProblemsViewOnRun();
    // go/futurereturn-lsc
    @SuppressWarnings("unused") Future<?> possiblyIgnoredError = ProgressiveTaskWithProgressIndicator.builder(project, "Building targets").submitTaskWithResult(new ScopedTask<Void>() {

        @Override
        public Void execute(BlazeContext context) {
            Task task = new Task(project, taskName, Task.Type.MAKE);
            context.push(new ToolWindowScope.Builder(project, task).setIssueParsers(BlazeIssueParser.defaultIssueParsers(project, WorkspaceRoot.fromProject(project), BlazeInvocationContext.ContextType.Sync)).build()).push(new ExperimentScope()).push(new BlazeConsoleScope.Builder(project).addConsoleFilters(new IssueOutputFilter(project, WorkspaceRoot.fromProject(project), BlazeInvocationContext.ContextType.Sync, true)).build()).push(new ProblemsViewScope(project, problemsViewFocus)).push(new IdeaLogScope()).push(new TimingScope("Make", EventType.BlazeInvocation)).push(notificationScope);
            List<TargetExpression> targets = targetsFunction.execute(context);
            if (targets == null) {
                return null;
            }
            WorkspaceRoot workspaceRoot = WorkspaceRoot.fromProject(project);
            SaveUtil.saveAllFiles();
            BlazeBuildListener.EP_NAME.extensions().forEach(e -> e.buildStarting(project));
            BuildInvoker buildInvoker = buildSystem.getBuildInvoker(project, context);
            ShardedTargetsResult shardedTargets = BlazeBuildTargetSharder.expandAndShardTargets(project, context, workspaceRoot, projectView, projectData.getWorkspacePathResolver(), targets, buildInvoker, SyncStrategy.SERIAL);
            if (shardedTargets.buildResult.status == BuildResult.Status.FATAL_ERROR) {
                return null;
            }
            BlazeBuildOutputs buildOutputs = BlazeIdeInterface.getInstance().build(project, context, workspaceRoot, projectData.getBlazeVersionData(), buildInvoker, projectView, shardedTargets.shardedTargets, projectData.getWorkspaceLanguageSettings(), ImmutableSet.of(OutputGroup.COMPILE), BlazeInvocationContext.OTHER_CONTEXT);
            refreshFileCachesAndNotifyListeners(context, buildOutputs, project);
            if (buildOutputs.buildResult.status != BuildResult.Status.SUCCESS) {
                context.setHasError();
            }
            return null;
        }
    });
}
Also used : BlazeIdeInterface(com.google.idea.blaze.base.sync.aspects.BlazeIdeInterface) ProblemsViewScope(com.google.idea.blaze.base.scope.scopes.ProblemsViewScope) ImmutableCollection(com.google.common.collect.ImmutableCollection) ScopedFunction(com.google.idea.blaze.base.scope.ScopedFunction) BuildResult(com.google.idea.blaze.base.sync.aspects.BuildResult) ProjectViewManager(com.google.idea.blaze.base.projectview.ProjectViewManager) IdeaLogScope(com.google.idea.blaze.base.scope.scopes.IdeaLogScope) BlazeProjectData(com.google.idea.blaze.base.model.BlazeProjectData) Future(java.util.concurrent.Future) ScopedTask(com.google.idea.blaze.base.scope.ScopedTask) BlazeConsoleScope(com.google.idea.blaze.base.scope.scopes.BlazeConsoleScope) TargetExpression(com.google.idea.blaze.base.model.primitives.TargetExpression) SaveUtil(com.google.idea.blaze.base.util.SaveUtil) Task(com.google.idea.blaze.base.toolwindow.Task) BlazeBuildOutputs(com.google.idea.blaze.base.sync.aspects.BlazeBuildOutputs) BuildSystem(com.google.idea.blaze.base.bazel.BuildSystem) Blaze(com.google.idea.blaze.base.settings.Blaze) ImmutableSet(com.google.common.collect.ImmutableSet) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) BlazeProjectDataManager(com.google.idea.blaze.base.sync.data.BlazeProjectDataManager) IssueOutputFilter(com.google.idea.blaze.base.issueparser.IssueOutputFilter) List(java.util.List) FocusBehavior(com.google.idea.blaze.base.settings.BlazeUserSettings.FocusBehavior) ServiceManager(com.intellij.openapi.components.ServiceManager) FileCaches(com.google.idea.blaze.base.filecache.FileCaches) ProjectViewSet(com.google.idea.blaze.base.projectview.ProjectViewSet) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) ApplicationManager(com.intellij.openapi.application.ApplicationManager) ToolWindowScope(com.google.idea.blaze.base.scope.scopes.ToolWindowScope) MoreExecutors(com.google.common.util.concurrent.MoreExecutors) ExperimentScope(com.google.idea.blaze.base.experiments.ExperimentScope) NotificationScope(com.google.idea.blaze.base.scope.scopes.NotificationScope) BlazeContext(com.google.idea.blaze.base.scope.BlazeContext) ListenableFuture(com.google.common.util.concurrent.ListenableFuture) SyncCanceledException(com.google.idea.blaze.base.sync.SyncScope.SyncCanceledException) Lists(com.google.common.collect.Lists) OutputGroup(com.google.idea.blaze.base.sync.aspects.strategy.AspectStrategy.OutputGroup) SyncProjectTargetsHelper(com.google.idea.blaze.base.sync.SyncProjectTargetsHelper) Project(com.intellij.openapi.project.Project) BlazeBuildTargetSharder(com.google.idea.blaze.base.sync.sharding.BlazeBuildTargetSharder) Nullable(javax.annotation.Nullable) Key(com.intellij.openapi.util.Key) FutureCallback(com.google.common.util.concurrent.FutureCallback) SyncFailedException(com.google.idea.blaze.base.sync.SyncScope.SyncFailedException) Futures(com.google.common.util.concurrent.Futures) SyncStrategy(com.google.idea.blaze.base.bazel.BuildSystem.SyncStrategy) Label(com.google.idea.blaze.base.model.primitives.Label) BlazeUserSettings(com.google.idea.blaze.base.settings.BlazeUserSettings) TimingScope(com.google.idea.blaze.base.scope.scopes.TimingScope) BlazeIssueParser(com.google.idea.blaze.base.issueparser.BlazeIssueParser) ProgressiveTaskWithProgressIndicator(com.google.idea.blaze.base.async.executor.ProgressiveTaskWithProgressIndicator) BlazeInvocationContext(com.google.idea.blaze.base.command.BlazeInvocationContext) ShardedTargetsResult(com.google.idea.blaze.base.sync.sharding.BlazeBuildTargetSharder.ShardedTargetsResult) EventType(com.google.idea.blaze.base.scope.scopes.TimingScope.EventType) ShardedTargetsResult(com.google.idea.blaze.base.sync.sharding.BlazeBuildTargetSharder.ShardedTargetsResult) ScopedTask(com.google.idea.blaze.base.scope.ScopedTask) Task(com.google.idea.blaze.base.toolwindow.Task) IssueOutputFilter(com.google.idea.blaze.base.issueparser.IssueOutputFilter) ExperimentScope(com.google.idea.blaze.base.experiments.ExperimentScope) FocusBehavior(com.google.idea.blaze.base.settings.BlazeUserSettings.FocusBehavior) BlazeBuildOutputs(com.google.idea.blaze.base.sync.aspects.BlazeBuildOutputs) WorkspaceRoot(com.google.idea.blaze.base.model.primitives.WorkspaceRoot) IdeaLogScope(com.google.idea.blaze.base.scope.scopes.IdeaLogScope) BlazeContext(com.google.idea.blaze.base.scope.BlazeContext) TimingScope(com.google.idea.blaze.base.scope.scopes.TimingScope) ProblemsViewScope(com.google.idea.blaze.base.scope.scopes.ProblemsViewScope) BuildInvoker(com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker) List(java.util.List)

Aggregations

BuildInvoker (com.google.idea.blaze.base.bazel.BuildSystem.BuildInvoker)8 WorkspaceRoot (com.google.idea.blaze.base.model.primitives.WorkspaceRoot)6 StatusOutput (com.google.idea.blaze.base.scope.output.StatusOutput)5 BlazeCommand (com.google.idea.blaze.base.command.BlazeCommand)4 BlazeProjectData (com.google.idea.blaze.base.model.BlazeProjectData)4 TargetExpression (com.google.idea.blaze.base.model.primitives.TargetExpression)4 ProjectViewSet (com.google.idea.blaze.base.projectview.ProjectViewSet)4 BlazeContext (com.google.idea.blaze.base.scope.BlazeContext)4 Project (com.intellij.openapi.project.Project)4 ImmutableList (com.google.common.collect.ImmutableList)3 ImmutableSet (com.google.common.collect.ImmutableSet)3 ListenableFuture (com.google.common.util.concurrent.ListenableFuture)3 AndroidDeployInfo (com.google.devtools.build.lib.rules.android.deployinfo.AndroidDeployInfoOuterClass.AndroidDeployInfo)3 BlazeAndroidDeployInfo (com.google.idea.blaze.android.run.deployinfo.BlazeAndroidDeployInfo)3 GetDeployInfoException (com.google.idea.blaze.android.run.deployinfo.BlazeApkDeployInfoProtoHelper.GetDeployInfoException)3 SyncStrategy (com.google.idea.blaze.base.bazel.BuildSystem.SyncStrategy)3 BuildResultHelper (com.google.idea.blaze.base.command.buildresult.BuildResultHelper)3 GetArtifactsException (com.google.idea.blaze.base.command.buildresult.BuildResultHelper.GetArtifactsException)3 BlazeBuildOutputs (com.google.idea.blaze.base.sync.aspects.BlazeBuildOutputs)3 File (java.io.File)3