| /* |
| * Copyright 2013-present Facebook, Inc. |
| * |
| * 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. |
| */ |
| |
| package com.facebook.buck.cli; |
| |
| import com.facebook.buck.event.BuckEventBus; |
| import com.facebook.buck.event.BuckEventBusFactory; |
| import com.facebook.buck.rules.KnownBuildRuleTypes; |
| import com.facebook.buck.rules.NoopArtifactCache; |
| import com.facebook.buck.testutil.BuckTestConstant; |
| import com.facebook.buck.testutil.TestConsole; |
| import com.facebook.buck.util.Console; |
| import com.facebook.buck.util.ProjectFilesystem; |
| import com.facebook.buck.util.environment.Platform; |
| |
| import java.io.File; |
| |
| public class CommandRunnerParamsForTesting extends CommandRunnerParams { |
| |
| public CommandRunnerParamsForTesting( |
| Console console, |
| ProjectFilesystem projectFilesystem, |
| KnownBuildRuleTypes buildRuleTypes, |
| ArtifactCacheFactory artifactCacheFactory, |
| BuckEventBus eventBus, |
| String pythonInterpreter, |
| Platform platform) { |
| super(console, |
| projectFilesystem, |
| buildRuleTypes, |
| artifactCacheFactory, |
| eventBus, |
| pythonInterpreter, |
| platform); |
| } |
| |
| // Admittedly, this class has no additional methods beyond its superclass today, but we will |
| // likely add additional observer methods at some point in the future. |
| |
| public static Builder builder() { |
| return new Builder(); |
| } |
| |
| public static class Builder { |
| |
| private ProjectFilesystem projectFilesystem = new ProjectFilesystem(new File(".")); |
| private KnownBuildRuleTypes buildRuleTypes = new KnownBuildRuleTypes(); |
| private ArtifactCacheFactory artifactCacheFactory = new InstanceArtifactCacheFactory( |
| new NoopArtifactCache()); |
| private Console console = new TestConsole(); |
| private String pythonInterpreter = BuckTestConstant.PYTHON_INTERPRETER; |
| private BuckEventBus eventBus = BuckEventBusFactory.newInstance(); |
| private Platform platform = Platform.detect(); |
| |
| public CommandRunnerParamsForTesting build() { |
| return new CommandRunnerParamsForTesting( |
| console, |
| projectFilesystem, |
| buildRuleTypes, |
| artifactCacheFactory, |
| eventBus, |
| pythonInterpreter, |
| platform); |
| } |
| |
| public Builder setConsole(Console console) { |
| this.console = console; |
| return this; |
| } |
| } |
| } |