private static void AddProjectReference(DotnetProject project, DotnetProject refProject) { Dotnet.AddProjectToProjectReference(project.Path + project.Name, refProject.Path + refProject.Name) .ForwardStdOut() .ForwardStdErr() .Execute(); }
private static void CreateProject(DotnetProject project) { var args = new List <string> { "--name", project.Name, "--output", PathHelper.GetProjectRootPath() + $"/{project.Name}", "--no-restore" }; project.Args = project.Args.Concat(args); Dotnet.New(project.Alias, project.Args.ToArray()) .ForwardStdErr() .ForwardStdOut() .Execute(); }
private static void AddPackageReference(DotnetProject project, Package package) { //use latest version if no version is provided if (package.Version == null) { Dotnet.AddPackageReference($"{project.Path}{project.Name}", package.Name) .ForwardStdOut() .ForwardStdErr() .Execute(); } else { Dotnet.AddPackageReference($"{project.Path}{project.Name}", package.Name, package.Version) .ForwardStdOut() .ForwardStdErr() .Execute(); } }
public void FindAndLoadProjects2(DotnetWorkspace workspace) { foreach (var solution in workspace.Solutions) { var scanPath = solution.GlobalJson.FolderPath; var projectJsonMatches = new Matcher() .AddInclude("**/project.json") .Execute(new DirectoryInfoWrapper(new DirectoryInfo(scanPath))); foreach (var file in projectJsonMatches.Files) { var projectJsonPath = Path.Combine(scanPath, file.Path); Console.WriteLine($" Loading {projectJsonPath}"); var project = DotnetProject.Load(projectJsonPath); project.Solution = solution; solution.Projects.Add(project); } } }
public void FindAndLoadProjects1(DotnetWorkspace workspace) { foreach (var solution in workspace.Solutions) { if (!solution.GlobalJson.ProjectFolders.Any()) { Console.WriteLine($"NO 'projects' folders {solution.GlobalJson.FolderPath}"); continue; } foreach (var projectFolder in solution.GlobalJson.ProjectFolders) { var scanPath = Path.Combine(solution.GlobalJson.FolderPath, projectFolder.Path); if (!scanPath.StartsWith(solution.GlobalJson.FolderPath) || projectFolder.Path.StartsWith(".")) { Console.WriteLine($"OUTSIDE FOLDER {solution.GlobalJson.FolderPath}:{projectFolder.Path}"); continue; } Console.WriteLine($"Scanning {solution.GlobalJson.FolderPath}:{projectFolder.Path}"); var projectJsonMatches = new Matcher() .AddInclude("*/project.json") .Execute(new DirectoryInfoWrapper(new DirectoryInfo(scanPath))); foreach (var file in projectJsonMatches.Files) { var projectJsonPath = Path.Combine(scanPath, file.Path); Console.WriteLine($" Loading {projectJsonPath}"); var project = DotnetProject.Load(projectJsonPath); project.Solution = solution; solution.Projects.Add(project); } } } }