Skip to content

Commit

Permalink
Rename the ios command to apple (dotnet#428)
Browse files Browse the repository at this point in the history
Resolves dotnet#400

The ios command will keep working with a warning displayed that it is obsolete
  • Loading branch information
premun authored Jan 26, 2021
1 parent 211ec45 commit 256b1af
Show file tree
Hide file tree
Showing 29 changed files with 337 additions and 313 deletions.
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It can output test results in various different formats from text to xUnit/NUnit

The tool requires **.NET Core 3.1.201** or later to be run. It is packaged as a `dotnet tool` command and can be installed using the [dotnet tool CLI](https://docs.microsoft.com/en-us/dotnet/core/tools/).

- The iOS scenarios require you to run the tool on MacOS with full Xcode installation
- The Apple scenarios require you to run the tool on MacOS with full Xcode installation
- Android scenarios are supported on Linux, macOS and Windows systems
- Browsers scenarios are supported on Linux systems

Expand All @@ -40,13 +40,13 @@ dotnet tool install Microsoft.DotNet.XHarness.CLI \
You can get a specific version from [the dotnet-eng feed](https://dev.azure.com/dnceng/public/_packaging?_a=package&feed=dotnet-eng&view=versions&package=Microsoft.DotNet.XHarness.CLI&protocolType=NuGet) where it is published.
So far we are in preview so omitting the version will fail to locate a stable version of the tool and it has to be supplied.

To run the tool, use the `xharness` command. The tool always expects the platform (`android`/`ios`) as the first argument and has following commands available:
To run the tool, use the `xharness` command. The tool always expects the platform (`android`/`apple`/`browser`) as the first argument and has following commands available:
- `test` - run and test given application containing a TestRunner **\*** on a target device/emulator
- `state` - print information about the machine and connected devices
- `run` (iOS only) - run given application without a TestRunner **\*** on a target device/emulator
- `run` (Apple only) - run given application without a TestRunner **\*** on a target device/emulator

> Applications run via the `ios test` command require a TestRunner inside of the iOS app bundle to work properly.
The `ios run` command, on the other hand, doesn't expect the TestRunner and only runs the application and tries to detect the exit code. Detection of exit code might not work across different iOS versions reliably.
> Applications run via the `apple test` command require a TestRunner inside of the iOS/tvOS app bundle to work properly.
The `apple run` command, on the other hand, doesn't expect the TestRunner and only runs the application and tries to detect the exit code. Detection of exit code might not work across different iOS versions reliably.
>
> **\*** See the [Test Runners section](#test-runners).
Expand All @@ -65,8 +65,8 @@ xharness help
To get help for a specific command or sub-command, run:

```bash
xharness help ios
xharness help ios test
xharness help apple
xharness help apple test
```

### Other settings
Expand All @@ -83,10 +83,10 @@ In case your repository is onboarded into [Arcade](https://github.com/dotnet/arc

## Examples

To run an iOS app bundle on a 64bit iPhone Simulator:
To run an iOS/tvOS app bundle on a 64bit iPhone Simulator:

```bash
xharness ios test \
xharness apple test \
--app=/path/to/an.app \
--output-directory=out \
--targets=ios-simulator-64
Expand All @@ -95,7 +95,7 @@ xharness ios test \
or the same can be achieved via the shorthand versions of the same options:

```bash
xharness ios test -a=/path/to/an.app -o=out -t=ios-simulator-64
xharness apple test -a=/path/to/an.app -o=out -t=ios-simulator-64
```

The `out` dir will then contain log files such as these:
Expand Down
26 changes: 13 additions & 13 deletions XHarness.sln
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.A
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.iOS.Shared", "src\Microsoft.DotNet.XHarness.iOS.Shared\Microsoft.DotNet.XHarness.iOS.Shared.csproj", "{A91316D8-4D48-4959-932F-5A0C3E1F7779}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.iOS", "src\Microsoft.DotNet.XHarness.iOS\Microsoft.DotNet.XHarness.iOS.csproj", "{A6DFDFD0-6E4F-41A8-A7AB-F4E43A4353B4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.Apple", "src\Microsoft.DotNet.XHarness.Apple\Microsoft.DotNet.XHarness.Apple.csproj", "{A6DFDFD0-6E4F-41A8-A7AB-F4E43A4353B4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.iOS.Tests", "tests\Microsoft.DotNet.XHarness.iOS.Tests\Microsoft.DotNet.XHarness.iOS.Tests.csproj", "{10A26931-A5C8-4256-B8AC-0984CAAAB93D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.Apple.Tests", "tests\Microsoft.DotNet.XHarness.Apple.Tests\Microsoft.DotNet.XHarness.Apple.Tests.csproj", "{10A26931-A5C8-4256-B8AC-0984CAAAB93D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.iOS.Shared.Tests", "tests\Microsoft.DotNet.XHarness.iOS.Shared.Tests\Microsoft.DotNet.XHarness.iOS.Shared.Tests.csproj", "{3406110E-65B2-4786-B723-C05B0FF66131}"
EndProject
Expand All @@ -30,17 +30,17 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{D7D3EC29
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.SimulatorInstaller", "tools\Microsoft.DotNet.XHarness.SimulatorInstaller\Microsoft.DotNet.XHarness.SimulatorInstaller.csproj", "{2C1B5C97-7E17-45D4-8337-B4CBD6125CD7}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.XHarness.Common", "src\Microsoft.DotNet.XHarness.Common\Microsoft.DotNet.XHarness.Common.csproj", "{E6E90648-E24D-4681-B082-776DF3F4B8F6}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.Common", "src\Microsoft.DotNet.XHarness.Common\Microsoft.DotNet.XHarness.Common.csproj", "{E6E90648-E24D-4681-B082-776DF3F4B8F6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.XHarness.Common.Tests", "tests\Microsoft.DotNet.XHarness.Common.Tests\Microsoft.DotNet.XHarness.Common.Tests.csproj", "{EB718364-434C-43F7-AE12-74F272B86C45}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.Common.Tests", "tests\Microsoft.DotNet.XHarness.Common.Tests\Microsoft.DotNet.XHarness.Common.Tests.csproj", "{EB718364-434C-43F7-AE12-74F272B86C45}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.XHarness.TestRunners.Xunit", "src\Microsoft.DotNet.XHarness.TestRunners.Xunit\Microsoft.DotNet.XHarness.TestRunners.Xunit.csproj", "{0F780F3E-8D05-428E-9C78-FEDDDA7DD3D1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.TestRunners.Xunit", "src\Microsoft.DotNet.XHarness.TestRunners.Xunit\Microsoft.DotNet.XHarness.TestRunners.Xunit.csproj", "{0F780F3E-8D05-428E-9C78-FEDDDA7DD3D1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.XHarness.TestRunners.Common", "src\Microsoft.DotNet.XHarness.TestRunners.Common\Microsoft.DotNet.XHarness.TestRunners.Common.csproj", "{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.TestRunners.Common", "src\Microsoft.DotNet.XHarness.TestRunners.Common\Microsoft.DotNet.XHarness.TestRunners.Common.csproj", "{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D}"
EndProject
Project("{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}") = "Microsoft.DotNet.XHarness.Android.Tests", "tests\Microsoft.DotNet.XHarness.Android.Tests\Microsoft.DotNet.XHarness.Android.Tests.csproj", "{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.Android.Tests", "tests\Microsoft.DotNet.XHarness.Android.Tests\Microsoft.DotNet.XHarness.Android.Tests.csproj", "{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.DotNet.XHarness.TestRunners.NUnit", "src\Microsoft.DotNet.XHarness.TestRunners.NUnit\Microsoft.DotNet.XHarness.TestRunners.NUnit.csproj", "{D51E7536-E698-42F4-939A-F259D543D1E1}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.DotNet.XHarness.TestRunners.NUnit", "src\Microsoft.DotNet.XHarness.TestRunners.NUnit\Microsoft.DotNet.XHarness.TestRunners.NUnit.csproj", "{D51E7536-E698-42F4-939A-F259D543D1E1}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Expand Down Expand Up @@ -96,14 +96,14 @@ Global
{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D}.Release|Any CPU.Build.0 = Release|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Release|Any CPU.Build.0 = Release|Any CPU
{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86}.Release|Any CPU.Build.0 = Release|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D51E7536-E698-42F4-939A-F259D543D1E1}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -121,8 +121,8 @@ Global
{EB718364-434C-43F7-AE12-74F272B86C45} = {1018BF4C-BD8F-49D7-9797-758E68B9FC9D}
{0F780F3E-8D05-428E-9C78-FEDDDA7DD3D1} = {713ACDCF-301D-4C96-8B75-5BF2A35A326D}
{37D41633-1E59-43EE-AFF9-8DA9AB25BD1D} = {713ACDCF-301D-4C96-8B75-5BF2A35A326D}
{D51E7536-E698-42F4-939A-F259D543D1E1} = {713ACDCF-301D-4C96-8B75-5BF2A35A326D}
{C1CB4AA8-A96C-4C06-BD39-4D8D09A15D86} = {1018BF4C-BD8F-49D7-9797-758E68B9FC9D}
{D51E7536-E698-42F4-939A-F259D543D1E1} = {713ACDCF-301D-4C96-8B75-5BF2A35A326D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {56D5F4DA-F710-4026-8F49-4A903BCAA9B5}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared.Execution;
using Microsoft.DotNet.XHarness.iOS.Shared.Hardware;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public class AppInstaller
{
Expand Down Expand Up @@ -75,7 +75,7 @@ public AppInstaller(IMlaunchProcessManager processManager, IHardwareDeviceLoader

var args = new MlaunchArguments();

for (int i = -1; i < _verbosity; i++)
for (var i = -1; i < _verbosity; i++)
{
args.Add(new VerbosityArgument());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.DotNet.XHarness.Common.CLI;
using Microsoft.DotNet.XHarness.Common.Execution;
using Microsoft.DotNet.XHarness.Common.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared;
Expand All @@ -17,7 +16,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared.Utilities;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
/// <summary>
/// Class that will run an app bundle and return the exit code.
Expand Down Expand Up @@ -67,7 +66,7 @@ public AppRunner(
int verbosity = 1,
CancellationToken cancellationToken = default)
{
bool isSimulator = target.Platform.IsSimulator();
var isSimulator = target.Platform.IsSimulator();

ISimulatorDevice? simulator = null;
ISimulatorDevice? companionSimulator = null;
Expand Down Expand Up @@ -248,7 +247,7 @@ private MlaunchArguments GetCommonArguments(int verbosity)
new SetEnvVariableArgument(EnviromentVariables.DisableSystemPermissionTests, 1),
};

for (int i = -1; i < verbosity; i++)
for (var i = -1; i < verbosity; i++)
{
args.Add(new VerbosityArgument());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared;
using Microsoft.DotNet.XHarness.iOS.Shared.Hardware;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public abstract class AppRunnerBase
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared.Utilities;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
/// <summary>
/// Class that will run an app bundle that contains the TestRunner on a target device.
Expand Down Expand Up @@ -82,7 +82,7 @@ public AppTester(IMlaunchProcessManager processManager,
CancellationToken cancellationToken = default)
{
var runMode = target.Platform.ToRunMode();
bool isSimulator = target.Platform.IsSimulator();
var isSimulator = target.Platform.IsSimulator();

var deviceListenerLog = _logs.Create($"test-{target.AsString()}-{_helpers.Timestamp}.log", LogType.TestLog.ToString(), timestamp: true);
var (deviceListenerTransport, deviceListener, deviceListenerTmpFile) = _listenerFactory.Create(
Expand All @@ -107,7 +107,7 @@ public AppTester(IMlaunchProcessManager processManager,
deviceName ??= await FindDevice(target) ?? throw new NoDeviceFoundException();
}

int deviceListenerPort = deviceListener.InitializeAndGetPort();
var deviceListenerPort = deviceListener.InitializeAndGetPort();
deviceListener.StartAsync();

var crashLogs = new Logs(_logs.Directory);
Expand Down Expand Up @@ -388,7 +388,7 @@ private MlaunchArguments GetCommonArguments(
}
}

for (int i = -1; i < verbosity; i++)
for (var i = -1; i < verbosity; i++)
{
args.Add(new VerbosityArgument());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
using Microsoft.DotNet.XHarness.Common.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared.Execution;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public class AppUninstaller
{
Expand All @@ -28,7 +28,7 @@ public async Task<ProcessExecutionResult> UninstallApp(string deviceName, string
{
var args = new MlaunchArguments();

for (int i = -1; i < _verbosity; i++)
for (var i = -1; i < _verbosity; i++)
{
args.Add(new VerbosityArgument());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared.Execution;
using Microsoft.DotNet.XHarness.iOS.Shared.Logging;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public interface ICrashSnapshotReporterFactory
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
using System;
using System.Runtime.InteropServices;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public static class Darwin
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Microsoft.DotNet.XHarness.iOS.Shared.Execution;
using Microsoft.DotNet.XHarness.iOS.Shared.Logging;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public interface IDeviceLogCapturerFactory
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
using Microsoft.DotNet.XHarness.Common.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public class ErrorKnowledgeBase : IErrorKnowledgeBase
{
Expand Down Expand Up @@ -77,7 +77,7 @@ private static bool TryFindErrors(IFileBackedLog log, Dictionary<string, (string
using var reader = log.GetReader();
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
var line = reader.ReadLine();
if (line == null)
{
continue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
using Microsoft.DotNet.XHarness.Common.Logging;
using Microsoft.DotNet.XHarness.iOS.Shared;

namespace Microsoft.DotNet.XHarness.iOS
namespace Microsoft.DotNet.XHarness.Apple
{
public interface IExitCodeDetector
{
Expand All @@ -21,7 +21,7 @@ public int DetectExitCode(AppBundleInformation appBundleInfo, IReadableLog syste
using var reader = systemLog.GetReader();
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
var line = reader.ReadLine();

// This will be improved when we find out it differes for new iOS versions
if (line.Contains("UIKitApplication:") && line.Contains(appBundleInfo.AppName) && line.Contains("Service exited with abnormal code"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,22 @@ public override int Invoke(IEnumerable<string> arguments)
subCommand = args[1];
}

// TODO (#400): We can remove this after some time when users get used to the new commands
if (command == "ios")
{
Program.DisplayRenameWarning();
command = "apple";
}

switch (command)
{
case "android":
PrintCommandHelp(new AndroidCommandSet(), subCommand);
break;
case "ios":
case "apple":
if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
{
PrintCommandHelp(new iOSCommandSet(), subCommand);
PrintCommandHelp(new AppleCommandSet(), subCommand);
}
else
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,17 @@
// See the LICENSE file in the project root for more information.

using System;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.DotNet.XHarness.Apple;
using Microsoft.DotNet.XHarness.CLI.CommandArguments.iOS;
using Microsoft.DotNet.XHarness.Common.CLI;
using Microsoft.DotNet.XHarness.Common.CLI.CommandArguments;
using Microsoft.DotNet.XHarness.Common.CLI.Commands;
using Microsoft.DotNet.XHarness.Common.Execution;
using Microsoft.DotNet.XHarness.Common.Logging;
using Microsoft.DotNet.XHarness.iOS;
using Microsoft.DotNet.XHarness.iOS.Shared;
using Microsoft.DotNet.XHarness.iOS.Shared.Execution;
using Microsoft.DotNet.XHarness.iOS.Shared.Hardware;
Expand All @@ -24,7 +23,7 @@

namespace Microsoft.DotNet.XHarness.CLI.Commands.iOS
{
internal abstract class iOSAppCommand : XHarnessCommand
internal abstract class AppleAppCommand : XHarnessCommand
{
protected static readonly string s_mlaunchLldbConfigFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal), ".mtouch-launch-with-lldb");

Expand All @@ -51,7 +50,7 @@ protected SimulatorLoader SimulatorLoader
get => _simulatorLoader ?? throw new NullReferenceException("SimulatorLoader wasn't initialized properly");
}

protected iOSAppCommand(string name, bool allowsExtraArgs, string? help = null) : base(name, allowsExtraArgs, help)
protected AppleAppCommand(string name, bool allowsExtraArgs, string? help = null) : base(name, allowsExtraArgs, help)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ namespace Microsoft.DotNet.XHarness.CLI.Commands.iOS
// Main iOS command set that contains the plaform specific commands. This allows the command line to
// support different options in different platforms.
// Whenever the behavior does match, the goal is to have the same arguments for both platforms
public class iOSCommandSet : CommandSet
public class AppleCommandSet : CommandSet
{
public iOSCommandSet() : base("ios")
public AppleCommandSet() : base("apple")
{
// commond verbs shared with android. We should think a smart way to do this
Add(new iOSTestCommand());
Add(new iOSRunCommand());
Add(new iOSGetStateCommand());
Add(new AppleTestCommand());
Add(new AppleRunCommand());
Add(new AppleGetStateCommand());
}
}
}
Loading

0 comments on commit 256b1af

Please sign in to comment.