public MigrateCommand(string templateFile, string projectArg, string sdkVersion, string xprojFilePath, bool skipProjectReferences) { _templateFile = templateFile; _projectArg = projectArg ?? Directory.GetCurrentDirectory(); _sdkVersion = sdkVersion; _xprojFilePath = xprojFilePath; _skipProjectReferences = skipProjectReferences; _temporaryDotnetNewProject = new TemporaryDotnetNewTemplateProject(); }
public MigrateCommand(string templateFile, string outputDirectory, string projectJson, string sdkVersion) { _templateFile = templateFile; _outputDirectory = outputDirectory; _projectJson = projectJson; _sdkVersion = sdkVersion; _temporaryDotnetNewProject = new TemporaryDotnetNewTemplateProject(); }
public int Execute() { var temporaryDotnetNewProject = new TemporaryDotnetNewTemplateProject(); var projectsToMigrate = GetProjectsToMigrate(_projectArg); var msBuildTemplatePath = _templateFile ?? temporaryDotnetNewProject.MSBuildProjectPath; var sdkVersion = _sdkVersion ?? temporaryDotnetNewProject.MSBuildProject.GetSdkVersion(); EnsureNotNull(sdkVersion, "Null Sdk Version"); MigrationReport migrationReport = null; foreach (var project in projectsToMigrate) { var projectDirectory = Path.GetDirectoryName(project); var outputDirectory = projectDirectory; var migrationSettings = new MigrationSettings( projectDirectory, outputDirectory, sdkVersion, msBuildTemplatePath, _xprojFilePath); var projectMigrationReport = new ProjectMigrator().Migrate(migrationSettings, _skipProjectReferences); if (migrationReport == null) { migrationReport = projectMigrationReport; } else { migrationReport = migrationReport.Merge(projectMigrationReport); } } WriteReport(migrationReport); temporaryDotnetNewProject.Clean(); MoveProjectJsonArtifactsToBackup(migrationReport); return(migrationReport.FailedProjectsCount); }