public static Type GetArgumentsType(this ProjectRunnerType type) { switch (type) { case ProjectRunnerType.LocalRepository: return(typeof(LocalRepositoryProjectRunnerArguments)); case ProjectRunnerType.RemoteRepository: return(typeof(RemoteRepositoryProjectRunnerArguments)); case ProjectRunnerType.TestProject: return(typeof(TestProjectRunnerArguments)); case ProjectRunnerType.LocalProject: return(typeof(LocalProjectRunnerArguments)); default: return(typeof(ProjectRunnerArguments)); } }
public static ProjectRunner GetProjectRunner(this ProjectRunnerType type, ProjectRunnerArguments args) { switch (type) { case ProjectRunnerType.TestProject: return(new TestProjectRunner(args)); case ProjectRunnerType.LocalRepository: return(new LocalRepositoryProjectRunner(args)); case ProjectRunnerType.RemoteRepository: return(new RemoteRepositoryProjectRunner(args)); case ProjectRunnerType.LocalProject: return(new LocalProjectRunner(args)); default: throw new System.Exception($"ProjectRunnerType: {type} Not Supported"); } }