protected override async Task <IEnumerable <string> > ProcessImpl(Task <object> previousTask) { // previous task should be a no-op await previousTask; return(SolutionFinder.GetSolutions(_folderPath, _searchFilter, _searchOption)); }
private void WatchRun(Func <MiruSolution, string> func) { var solutionFinder = new SolutionFinder(new FileSystem()); var solution = solutionFinder.FromDir(Directory.GetCurrentDirectory()); var processRunner = new ProcessRunner(_reporter); // FIXME: npm and dotnet path finder: // Win: where // bash: which var webpack = new ProcessSpec() { Executable = OS.IsWindows ? "c:\\Program Files\\nodejs\\npm.cmd" : "npm", WorkingDirectory = solution.Solution.AppDir, Arguments = new[] { "--prefix", solution.Solution.AppDir.ToString(), "run", "watch" }, }; var dotnet = new ProcessSpec() { Executable = "dotnet", WorkingDirectory = solution.Solution.AppDir, Arguments = new[] { "watch", "run" } }; var dotnetRunner = processRunner.RunAsync(dotnet, _cts.Token); var webpackRunner = processRunner.RunAsync(webpack, _cts.Token); Task.WaitAll(dotnetRunner); Task.WaitAll(dotnetRunner, webpackRunner); }
public MiruTestSolution() : base(string.Empty) { var baseSolution = new SolutionFinder().FromCurrentDir().Solution; RootDir = baseSolution.TestsDir / "Miru.Tests"; AppDir = RootDir; TestsDir = RootDir; }
public static IEnumerable <string[]> FindSolutionFiles() { // set field here to prevent initialization error when path is not found if (_slnFinder == null) { _slnFinder = new SolutionFinder(RepositoryRoot, OrderBy.Alphabetical); } return(_slnFinder.GetTestData()); }
public void find_the_one_and_only_solution() { fileSystem.CreateDirectory("only-one"); fileSystem.WriteStringToFile("only-one".AppendPath("anything.sln"), "whatever"); Environment.CurrentDirectory = Environment.CurrentDirectory.AppendPath("only-one").ToFullPath(); SolutionFinder.FindSolutionFile().ShouldEqual("anything.sln"); }
private static IHostBuilder UseSolution(this IHostBuilder builder) { var solution = new SolutionFinder().FromCurrentDir().Solution; App.Name = solution.Name; App.Solution = solution; return(builder); }
public void Find(Solwrt solwrt) { SolutionFinder finder = new SolutionFinder(); IList solutions = finder.FindSolutions(new KnightSolutionEnumerator(hatesMap, needsMap, KnigtsNumber)); foreach (KnightSolution solution in solutions) { solwrt.Write(solution.ToString()); } }
public Solution[] FindSolutions(Solution previousSolution) { var solutionFinder = new SolutionFinder(this); var solutions = solutionFinder.FindSolutions(previousSolution); if (solutions == null) { return(new Solution[0]); } return(solutions.ToArray()); }
private void ShowDir(Func <MiruSolution, string> func) { var solutionFinder = new SolutionFinder(new FileSystem()); var result = solutionFinder.FromDir(Directory.GetCurrentDirectory()); if (result.FoundSolution) { Console.WriteLine(func(result.Solution)); } else { Console2.YellowLine($"{Directory.GetCurrentDirectory()} is not part of a Miru Solution structure"); } }
public NewProjectFromGitViewModel( FilePicker filePickerService, ILoadingDisplayer loadingDisplayer, IStartModuleTabOpener startModuleTabOpener, IGitCloner gitCloner, SolutionFinder solutionFinder) { _filePickerService = filePickerService; _loadingDisplayer = loadingDisplayer; _startModuleTabOpener = startModuleTabOpener; _gitCloner = gitCloner; _solutionFinder = solutionFinder; ProjectPathCommand = new DelegateCommand(PickProjectPath); GoNextCommand = new DelegateCommand(async() => await GoNext()); BranchName = "master"; }
public static IHostBuilder UseMiruSolution(this IHostBuilder builder) { // if can't find solution, maybe it is running from compiled binaries var solution = new SolutionFinder().FromCurrentDir().Solution ?? new UnknownSolution(); App.Name = solution.Name; App.Solution = solution; App.Assembly = Assembly.GetEntryAssembly(); builder.ConfigureServices(services => { services.AddMiruSolution(solution); }); return(builder); }
public void FindsSolutions_Random() { _sut = new SolutionFinder(_dir, OrderBy.Random); var alphabetical = Lists.NewList <string>(); for (var i = 0; i < 30; i++) { var sln = "S{0:0000}.sln".FormatEx(i); CreateSolution(sln); alphabetical.Add(sln); } var actual = _sut.Solutions.ToArray(); CollectionAssert.AreNotEqual(alphabetical, actual); CollectionAssert.AreEquivalent(alphabetical, actual); }
public void find_multiples_so_it_is_indeterminate() { fileSystem.CreateDirectory("multiples"); fileSystem.CleanDirectory("multiples"); fileSystem.WriteStringToFile("multiples".AppendPath("anything.sln"), "whatever"); fileSystem.WriteStringToFile("multiples".AppendPath("else.sln"), "whatever"); Environment.CurrentDirectory = Environment.CurrentDirectory.AppendPath("multiples").ToFullPath(); SolutionFinder.FindSolutionFile().ShouldBeNull(); // find the multiples too var solutions = SolutionFinder.FindSolutions(); solutions.ShouldHaveTheSameElementsAs( "anything.sln", "else.sln"); }
private static async Task AnaylzeSolutionDIff(SlnOptions options, DirectoryInfo workingFolder, ILogger logger) { // Locate and register the default instance of MSBuild installed on this machine. MSBuildLocator.RegisterDefaults(); var msBuild = MSBuildWorkspace.Create(); if (!string.IsNullOrEmpty(options.SolutionFilePath)) { await ProcessSln(options, options.SolutionFilePath, workingFolder, msBuild, logger); } else { foreach (var sln in SolutionFinder.GetSolutions(workingFolder.FullName)) { await ProcessSln(options, sln, workingFolder, msBuild, logger); } } }
public static void Export() { var rootDir = new SolutionFinder().FromCurrentDir().Solution.RootDir; var param = new StubParams() { SkeletonDir = rootDir / "samples" / "Corpo.Skeleton", StubDir = rootDir / "src" / "Miru.Core" / "Templates" }; Directories.DeleteIfExists(param.StubDir); Directory.CreateDirectory(param.StubDir); // FIXME: use Solution to build the artifacts' path new SolutionStubExport(param).Export(); new CommandStubExport(param).Export(); new QueryShowStubExport(param).Export(); new QueryListStubExport(param).Export(); new MigrationStubExport(param).Export(); new EntityStubExport(param).Export(); new ConsolableStubExport(param).Export(); new JobStubExport(param).Export(); new MailableStubExport(param).Export(); new ConfigStubExport(param).Export(); new FeatureScaffoldStubExport(param).Export(); }
public void Setup() { _dir = CreateTempDir(); _sut = new SolutionFinder(_dir, OrderBy.Alphabetical); }
public void PathDoesNotExist() { _sut = new SolutionFinder("C:\\doesNotExist\\", OrderBy.Alphabetical); }
public void TrailingSlashIsCorrected() { _sut = new SolutionFinder("C:\\Windows", OrderBy.Alphabetical); Assert.IsTrue(_sut.Root.EndsWith("\\")); }