public async Task <List <Capability> > GetCapabilitiesAsync(AgentSettings settings, CancellationToken cancellationToken) { Trace.Entering(); // Check the cache. if (_capabilities != null) { Trace.Info("Found in cached."); return(_capabilities); } // Build the list of capabilities. var builder = new CapabilitiesBuilder(HostContext, cancellationToken); builder.Check( name: "AndroidSDK", fileName: "android", filePaths: new[] { Path.Combine(Environment.GetEnvironmentVariable("ANDROID_STUDIO") ?? string.Empty, "tools/android"), Path.Combine(Environment.GetEnvironmentVariable("HOME") ?? string.Empty, "Library/Developer/Xamarin/android-sdk-macosx/tools/android"), }); builder.Check(name: "ant"); builder.Check(name: "bundler", fileName: "bundle"); builder.Check(name: "clang"); builder.Check(name: "cmake"); builder.Check(name: "curl"); builder.Check(name: "git"); builder.Check(name: "gulp"); builder.Check(name: "java"); builder.Check(name: "JDK", fileName: "javac"); builder.Check(name: "make"); builder.Check(name: "maven", fileName: "mvn"); builder.Check(name: "MSBuild", fileName: "xbuild"); builder.Check(name: "node.js", fileName: "node"); builder.Check(name: "node.js", fileName: "nodejs"); builder.Check(name: "npm"); builder.Check(name: "python"); builder.Check(name: "python3"); builder.Check(name: "sh"); builder.Check(name: "subversion", fileName: "svn"); builder.Check(name: "ruby"); builder.Check(name: "rake"); builder.Check( name: "Xamarin.iOS", fileName: "mdtool", filePaths: new string[] { "/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" }); builder.Check( name: "Xamarin.Android", fileName: "mandroid", filePaths: new string[] { "/Library/Frameworks/Xamarin.Android.framework/Commands/mandroid" }); await builder.CheckToolOutputAsync( name : "xcode", fileName : "xcode-select", arguments : "-p"); // Cache and return the values. _capabilities = builder.ToList(); return(_capabilities); }
public async Task<List<Capability>> GetCapabilitiesAsync(AgentSettings settings, CancellationToken cancellationToken) { Trace.Entering(); // Check the cache. if (_capabilities != null) { Trace.Info("Found in cached."); return _capabilities; } // Build the list of capabilities. var builder = new CapabilitiesBuilder(HostContext, cancellationToken); builder.Check( name: "AndroidSDK", fileName: "android", filePaths: new[] { Path.Combine(Environment.GetEnvironmentVariable("ANDROID_STUDIO") ?? string.Empty, "tools/android"), Path.Combine(Environment.GetEnvironmentVariable("HOME") ?? string.Empty, "Library/Developer/Xamarin/android-sdk-macosx/tools/android"), }); builder.Check(name: "ant"); builder.Check(name: "bundler", fileName: "bundle"); builder.Check(name: "clang"); builder.Check(name: "cmake"); builder.Check(name: "curl"); builder.Check(name: "git"); builder.Check(name: "gulp"); builder.Check(name: "java"); builder.Check(name: "JDK", fileName: "javac"); builder.Check(name: "make"); builder.Check(name: "maven", fileName: "mvn"); builder.Check(name: "MSBuild", fileName: "xbuild"); builder.Check(name: "node.js", fileName: "node"); builder.Check(name: "node.js", fileName: "nodejs"); builder.Check(name: "npm"); builder.Check(name: "python"); builder.Check(name: "python3"); builder.Check(name: "sh"); builder.Check(name: "subversion", fileName: "svn"); builder.Check(name: "ruby"); builder.Check(name: "rake"); builder.Check( name: "Xamarin.iOS", fileName: "mdtool", filePaths: new string[] { "/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" }); builder.Check( name: "Xamarin.Android", fileName: "mandroid", filePaths: new string[] { "/Library/Frameworks/Xamarin.Android.framework/Commands/mandroid" }); await builder.CheckToolOutputAsync( name: "xcode", fileName: "xcode-select", arguments: "-p"); // Cache and return the values. _capabilities = builder.ToList(); return _capabilities; }
public void Build_ShouldAddCapabilitiesFromConfiguration() { // Arrange var additionalCapabilities = new Dictionary <string, object> { { "someCapability", "doSomething" }, { "anotherCapability", "doSomethingElse" } }; _configuration.Capabilities.Returns(additionalCapabilities); var sut = new CapabilitiesBuilder(_configuration); // Act var result = ((DesiredCapabilities)sut.Build()).ToDictionary(); // Assert result.Should().Contain(additionalCapabilities); }
public void SetUp() { _configuration = Substitute.For <IConfigurationProvider>(); _sut = new CapabilitiesBuilder(_configuration); }