From af07864abe152174d6d676bbc3713e62cd2c95da Mon Sep 17 00:00:00 2001 From: Andrew Boyarshin Date: Sat, 15 Sep 2018 18:55:39 +0700 Subject: [PATCH] Split Project2015To2017 into Core and Migrate2017 * Move almost everything to a new Core project * Move VS15-related transformations to Migrate2017.Library * Make ProjectConverter.Convert an extension method * Retain umbrella-project Project2015To2017 to preserve NuGet package * Move all common properties to Directory.Build.props * Give Project2015To2017Tests a proper name with dot * Update external NuGet dependencies --- Directory.Build.props | 17 ++ Project2015To2017.Console/Program.cs | 81 +------ .../Project2015To2017.Console.csproj | 13 +- .../Analysis/AnalysisExtensions.cs | 0 .../Analysis/AnalysisOptions.cs | 0 .../Analysis/Analyzer.cs | 0 .../Analysis/DiagnosticBase.cs | 0 .../Analysis/DiagnosticLocation.cs | 0 .../Analysis/DiagnosticResult.cs | 0 .../Analysis/DiagnosticSet.cs | 0 .../W001IllegalProjectTypeDiagnostic.cs | 0 .../W010ConfigurationsMismatchDiagnostic.cs | 0 .../W011UnsupportedConditionalDiagnostic.cs | 0 .../W020MicrosoftCSharpDiagnostic.cs | 0 .../W021SystemNuGetPackagesDiagnostic.cs | 0 .../W030LegacyDebugTypesDiagnostic.cs | 0 ...SBuildSdkVersionSpecificationDiagnostic.cs | 0 .../W032OldLanguageVersionDiagnostic.cs | 0 ...bsoletePortableClassLibrariesDiagnostic.cs | 0 .../W034ReferenceAliasesDiagnostic.cs | 0 .../Analysis/IDiagnostic.cs | 0 .../Analysis/IDiagnosticLocation.cs | 0 .../Analysis/IDiagnosticResult.cs | 0 .../Analysis/IReporter.cs | 0 .../Analysis/IReporterOptions.cs | 0 .../IllegalDiagnosticStateException.cs | 0 .../Analysis/LoggerReporter.cs | 0 .../Analysis/LoggerReporterOptions.cs | 0 .../Analysis/ReporterBase.cs | 0 .../Caching/DefaultProjectCache.cs | 0 .../Caching/IProjectCache.cs | 0 .../Caching/NoProjectCache.cs | 0 .../ChainTransformationSet.cs | 0 .../ConversionOptions.cs | 0 .../Definition/ApplicationType.cs | 0 .../Definition/AssemblyAttributes.cs | 0 .../Definition/AssemblyReference.cs | 0 .../Definition/IReference.cs | 0 .../Definition/PackageConfiguration.cs | 0 .../Definition/PackageReference.cs | 0 .../Definition/Project.cs | 0 .../Definition/ProjectExtensions.cs | 0 .../Definition/ProjectReference.cs | 0 .../Definition/Solution.cs | 0 .../Extensions.cs | 0 .../ITransformationSet.cs | 0 .../NoopLogger.cs | 0 .../NoopTransformationSet.cs | 0 .../Project2015To2017.Core.csproj | 23 ++ .../ProjectConverter.cs | 79 +------ .../Reading/AssemblyInfoReader.cs | 0 .../Reading/ConditionEvaluationStateImpl.cs | 0 .../Reading/ConditionEvaluator.LegacyCache.cs | 0 .../Reading/ConditionEvaluator.ModernCache.cs | 0 .../Reading/ConditionEvaluator.cs | 0 .../Reading/Conditionals/AndExpressionNode.cs | 0 .../Conditionals/CharacterUtilities.cs | 0 .../Conditionals/ConversionUtilities.cs | 0 .../Conditionals/EqualExpressionNode.cs | 0 .../Reading/Conditionals/ErrorUtilities.cs | 0 .../FunctionCallExpressionNode.cs | 0 .../Conditionals/GenericExpressionNode.cs | 0 .../Conditionals/GreaterThanExpressionNode.cs | 0 .../GreaterThanOrEqualExpressionNode.cs | 0 .../Conditionals/IConditionEvaluationState.cs | 0 .../Conditionals/InternalErrorException.cs | 0 .../Conditionals/LessThanExpressionNode.cs | 0 .../LessThanOrEqualExpressionNode.cs | 0 .../MultipleComparisonExpressionNode.cs | 0 .../Conditionals/NotEqualExpressionNode.cs | 0 .../Reading/Conditionals/NotExpressionNode.cs | 0 .../NumericComparisonExpressionNode.cs | 0 .../Conditionals/NumericExpressionNode.cs | 0 .../Conditionals/OperandExpressionNode.cs | 0 .../Conditionals/OperatorExpressionNode.cs | 0 .../Reading/Conditionals/OrExpressionNode.cs | 0 .../Reading/Conditionals/Parser.cs | 0 .../Reading/Conditionals/Scanner.cs | 0 .../Conditionals/StringExpressionNode.cs | 0 .../Reading/Conditionals/Token.cs | 0 .../Reading/NuSpecReader.cs | 0 .../Reading/ProjectPropertiesReader.cs | 0 .../Reading/ProjectReader.cs | 0 .../Reading/SolutionReader.cs | 0 .../Reading/upstream.md | 0 .../AssemblyAttributeTransformation.cs | 0 .../Transforms/BasicReadTransformationSet.cs | 0 .../EmptyGroupRemoveTransformation.cs | 0 .../ILegacyOnlyProjectTransformation.cs | 0 .../IModernOnlyProjectTransformation.cs | 0 .../Transforms/ITransformation.cs | 0 .../ITransformationWithDependencies.cs | 0 .../ITransformationWithTargetMoment.cs | 0 .../Transforms/NuGetPackageTransformation.cs | 0 ...ryProjectPropertiesUpdateTransformation.cs | 0 .../PropertyDeduplicationTransformation.cs | 0 .../PropertySimplificationTransformation.cs | 0 .../TargetFrameworkReplaceTransformation.cs | 0 .../TargetTransformationExecutionMoment.cs | 0 .../UnsupportedProjectTypes.cs | 0 .../Writing/ProjectWriter.cs | 0 ...oject2015To2017.Migrate2017.Library.csproj | 12 + .../AssemblyFilterDefaultTransformation.cs | 3 +- ...erHintedPackageReferencesTransformation.cs | 3 +- ...lyFilterPackageReferencesTransformation.cs | 3 +- .../Transforms/FileTransformation.cs | 4 +- ...tsFilterPackageReferencesTransformation.cs | 3 +- ...stProjectPackageReferenceTransformation.cs | 3 +- .../Transforms/XamlPagesTransformation.cs | 7 +- .../Vs15TransformationSet.cs | 4 +- .../Project2015To2017.Migrate2017.Tool.csproj | 15 +- .../AssemblyAttributeTransformationTest.cs | 1 - ...AssemblyFilterDefaultTransformationTest.cs | 2 +- ...ntedPackageReferencesTransformationTest.cs | 2 +- ...lterPackageReferencesTransformationTest.cs | 2 +- .../AssemblyInfoReadTest.cs | 0 .../DummyLogger.cs | 0 .../FileTransformationTest.cs | 3 +- ...lterPackageReferencesTransformationTest.cs | 2 +- .../NuGetPackageTransformationTest.cs | 2 - .../NuSpecReaderTest.cs | 1 - .../net46console.testcsproj | 0 .../OtherPackagesConfig/packages.config | 0 ...ojectPropertiesUpdateTransformationTest.cs | 0 .../ProgramTest.cs | 0 .../Project2015To2017.Tests.csproj | 223 +++++++++--------- ...Project2015To2017.Tests.csproj.DotSettings | 0 .../ProjectPropertiesReadTest.cs | 0 .../ProjectReferenceReadTest.cs | 0 .../ProjectWriterTest.cs | 0 ...ropertySimplificationTransformationTest.cs | 2 - .../SolutionReaderTests.cs | 0 ...argetFrameworkReplaceTransformationTest.cs | 0 .../ProjectFolder/net46console.testcsproj | 0 .../ProjectFolder/packages.config | 0 .../TestFiles/AltNugetConfig/nuget.config | 0 .../ClassDataLeft/Properties/AssemblyInfo.cs | 0 .../Empty/Properties/AssemblyInfo.cs | 0 .../Redundant/Properties/AssemblyInfo.cs | 0 .../TestFiles/Deletions/AssemblyInfo.txt | 0 .../TestFiles/Deletions/EmptyFolder/a.txt | 0 .../TestFiles/Deletions/NonEmptyFolder/a.txt | 0 .../TestFiles/Deletions/NonEmptyFolder2/a.txt | 0 .../TestFiles/Deletions/Test1.csproj | 0 .../TestFiles/Deletions/Test2.csproj | 0 .../TestFiles/Deletions/Test3.csproj | 0 .../TestFiles/Deletions/Test4.csproj | 0 .../TestFiles/Deletions/a.txt | 0 .../TestFiles/FileInclusion/AnotherFile.cs | 0 .../TestFiles/FileInclusion/Class1.cs | 0 .../FileInclusion/Folder/FileInFolder.cs | 0 .../Folder/FileIncludedByWildcard.cs | 0 .../TestFiles/FileInclusion/IncludedFile.cs | 0 .../TestFiles/FileInclusion/Program.cs | 0 .../FileInclusion/Properties/AssemblyInfo.cs | 0 .../Properties/Resources.Designer.cs | 0 .../FileInclusion/Properties/Resources.resx | 0 .../FileInclusion/Resources.Designer.cs | 0 .../TestFiles/FileInclusion/Resources.resx | 0 .../FileInclusion/SourceFileAsResource.cs | 0 .../FileInclusion/SourceFileSubTypeCode.cs | 0 .../SourceFileWithDesigner.Designer.cs | 0 .../FileInclusion/SourceFileWithDesigner.cs | 0 .../SubFolderWildcardFile.cs | 0 .../TestFiles/FileInclusion/app.config | 0 .../FileInclusion/fileExclusion.testcsproj | 0 .../FileInclusion/fileinclusion.testcsproj | 0 .../TestFiles/FileInclusion/packages.config | 0 .../OtherTestProjects/AssemblyInfo.cs | 0 .../OtherTestProjects/OtherTestClass.cs | 0 .../containsTestSDK.testcsproj | 0 .../OtherTestProjects/net46console.testcsproj | 0 .../OtherTestProjects/packages.config | 0 .../OtherTestProjects/readonly.testcsproj | 0 .../TestFiles/OtherTestProjects/test.nuspec | Bin .../OtherTestProjects/unittest.testcsproj | 0 .../Solutions/ClassLibrary/Class1.cs | 0 .../ClassLibrary/ClassLibrary.csproj | 0 .../ClassLibrary/Properties/AssemblyInfo.cs | 0 .../TestFiles/Solutions/TextFile.txt | 0 .../Solutions/sampleSolution.testsln | 0 .../TestFiles/app.iOS.testcsproj | 0 .../TestFiles/nuSpecs/noNamespace.nuspec | 0 ...ojectPackageReferenceTransformationTest.cs | 4 +- .../UnsupportedProjectTypesTest.cs | 0 .../W001IllegalProjectTypeDiagnosticTest.cs | 0 .../XamlTransformationTest.cs | 4 +- Project2015To2017.sln | 15 +- Project2015To2017/Project2015To2017.csproj | 46 ++-- .../ProjectConverterExtensions.cs | 90 +++++++ appveyor.yml | 9 +- 191 files changed, 318 insertions(+), 360 deletions(-) create mode 100644 Directory.Build.props rename {Project2015To2017 => Project2015To2017.Core}/Analysis/AnalysisExtensions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/AnalysisOptions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Analyzer.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/DiagnosticBase.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/DiagnosticLocation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/DiagnosticResult.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/DiagnosticSet.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W001IllegalProjectTypeDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W010ConfigurationsMismatchDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W011UnsupportedConditionalDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W020MicrosoftCSharpDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W021SystemNuGetPackagesDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W030LegacyDebugTypesDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W031MSBuildSdkVersionSpecificationDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W032OldLanguageVersionDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W033ObsoletePortableClassLibrariesDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/Diagnostics/W034ReferenceAliasesDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IDiagnostic.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IDiagnosticLocation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IDiagnosticResult.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IReporter.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IReporterOptions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/IllegalDiagnosticStateException.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/LoggerReporter.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/LoggerReporterOptions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Analysis/ReporterBase.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Caching/DefaultProjectCache.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Caching/IProjectCache.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Caching/NoProjectCache.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/ChainTransformationSet.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/ConversionOptions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/ApplicationType.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/AssemblyAttributes.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/AssemblyReference.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/IReference.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/PackageConfiguration.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/PackageReference.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/Project.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/ProjectExtensions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/ProjectReference.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Definition/Solution.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Extensions.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/ITransformationSet.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/NoopLogger.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/NoopTransformationSet.cs (100%) create mode 100644 Project2015To2017.Core/Project2015To2017.Core.csproj rename {Project2015To2017 => Project2015To2017.Core}/ProjectConverter.cs (75%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/AssemblyInfoReader.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ConditionEvaluationStateImpl.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ConditionEvaluator.LegacyCache.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ConditionEvaluator.ModernCache.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ConditionEvaluator.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/AndExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/CharacterUtilities.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/ConversionUtilities.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/EqualExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/ErrorUtilities.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/FunctionCallExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/GenericExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/GreaterThanExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/GreaterThanOrEqualExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/IConditionEvaluationState.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/InternalErrorException.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/LessThanExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/LessThanOrEqualExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/MultipleComparisonExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/NotEqualExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/NotExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/NumericComparisonExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/NumericExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/OperandExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/OperatorExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/OrExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/Parser.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/Scanner.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/StringExpressionNode.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/Conditionals/Token.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/NuSpecReader.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ProjectPropertiesReader.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/ProjectReader.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/SolutionReader.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Reading/upstream.md (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/AssemblyAttributeTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/BasicReadTransformationSet.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/EmptyGroupRemoveTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/ILegacyOnlyProjectTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/IModernOnlyProjectTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/ITransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/ITransformationWithDependencies.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/ITransformationWithTargetMoment.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/NuGetPackageTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/PrimaryProjectPropertiesUpdateTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/PropertyDeduplicationTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/PropertySimplificationTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/TargetFrameworkReplaceTransformation.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Transforms/TargetTransformationExecutionMoment.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/UnsupportedProjectTypes.cs (100%) rename {Project2015To2017 => Project2015To2017.Core}/Writing/ProjectWriter.cs (100%) create mode 100644 Project2015To2017.Migrate2017.Library/Project2015To2017.Migrate2017.Library.csproj rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/AssemblyFilterDefaultTransformation.cs (92%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs (94%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/AssemblyFilterPackageReferencesTransformation.cs (91%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/FileTransformation.cs (98%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs (97%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/TestProjectPackageReferenceTransformation.cs (95%) rename {Project2015To2017 => Project2015To2017.Migrate2017.Library}/Transforms/XamlPagesTransformation.cs (97%) rename {Project2015To2017/Transforms => Project2015To2017.Migrate2017.Library}/Vs15TransformationSet.cs (91%) rename {Project2015To2017Tests => Project2015To2017.Tests}/AssemblyAttributeTransformationTest.cs (99%) rename {Project2015To2017Tests => Project2015To2017.Tests}/AssemblyFilterDefaultTransformationTest.cs (93%) rename {Project2015To2017Tests => Project2015To2017.Tests}/AssemblyFilterHintedPackageReferencesTransformationTest.cs (97%) rename {Project2015To2017Tests => Project2015To2017.Tests}/AssemblyFilterPackageReferencesTransformationTest.cs (97%) rename {Project2015To2017Tests => Project2015To2017.Tests}/AssemblyInfoReadTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/DummyLogger.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/FileTransformationTest.cs (98%) rename {Project2015To2017Tests => Project2015To2017.Tests}/ImportsTargetsFilterPackageReferencesTransformationTest.cs (96%) rename {Project2015To2017Tests => Project2015To2017.Tests}/NuGetPackageTransformationTest.cs (98%) rename {Project2015To2017Tests => Project2015To2017.Tests}/NuSpecReaderTest.cs (97%) rename {Project2015To2017Tests => Project2015To2017.Tests}/OtherPackagesConfig/net46console.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/OtherPackagesConfig/packages.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/PrimaryProjectPropertiesUpdateTransformationTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/ProgramTest.cs (100%) rename Project2015To2017Tests/Project2015To2017Tests.csproj => Project2015To2017.Tests/Project2015To2017.Tests.csproj (51%) rename Project2015To2017Tests/Project2015To2017Tests.csproj.DotSettings => Project2015To2017.Tests/Project2015To2017.Tests.csproj.DotSettings (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/ProjectPropertiesReadTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/ProjectReferenceReadTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/ProjectWriterTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/PropertySimplificationTransformationTest.cs (99%) rename {Project2015To2017Tests => Project2015To2017.Tests}/SolutionReaderTests.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TargetFrameworkReplaceTransformationTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AltNugetConfig/ProjectFolder/net46console.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AltNugetConfig/ProjectFolder/packages.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AltNugetConfig/nuget.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AssemblyInfoHandling/ClassDataLeft/Properties/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AssemblyInfoHandling/Empty/Properties/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/AssemblyInfoHandling/Redundant/Properties/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/AssemblyInfo.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/EmptyFolder/a.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/NonEmptyFolder/a.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/NonEmptyFolder2/a.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/Test1.csproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/Test2.csproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/Test3.csproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/Test4.csproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Deletions/a.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/AnotherFile.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Class1.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Folder/FileInFolder.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Folder/FileIncludedByWildcard.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/IncludedFile.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Program.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Properties/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Properties/Resources.Designer.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Properties/Resources.resx (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Resources.Designer.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/Resources.resx (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/SourceFileAsResource.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/SourceFileSubTypeCode.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/SourceFileWithDesigner.Designer.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/SourceFileWithDesigner.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/WildcardFolder/WildcardSubFolder/SubFolderWildcardFile.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/app.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/fileExclusion.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/fileinclusion.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/FileInclusion/packages.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/OtherTestClass.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/containsTestSDK.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/net46console.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/packages.config (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/readonly.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/test.nuspec (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/OtherTestProjects/unittest.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Solutions/ClassLibrary/Class1.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Solutions/ClassLibrary/ClassLibrary.csproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Solutions/ClassLibrary/Properties/AssemblyInfo.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Solutions/TextFile.txt (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/Solutions/sampleSolution.testsln (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/app.iOS.testcsproj (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestFiles/nuSpecs/noNamespace.nuspec (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/TestProjectPackageReferenceTransformationTest.cs (97%) rename {Project2015To2017Tests => Project2015To2017.Tests}/UnsupportedProjectTypesTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/W001IllegalProjectTypeDiagnosticTest.cs (100%) rename {Project2015To2017Tests => Project2015To2017.Tests}/XamlTransformationTest.cs (98%) create mode 100644 Project2015To2017/ProjectConverterExtensions.cs diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000..dfb7af2 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,17 @@ + + + + 7.3 + hvanbakel et. al. + Project2015To2017 + https://github.com/hvanbakel/CsprojToVs2017 + https://github.com/hvanbakel/CsprojToVs2017/blob/master/LICENSE + https://github.com/hvanbakel/CsprojToVs2017 + Copyright Hans van Bakel + Tool for converting a MSBuild project file to VS2017 format and beyond. + dotnet csproj fsproj vbproj msbuild conversion vs2015 vs14 vs15 vs2017 + 3.0.2 + 3.0.0.0 + + + \ No newline at end of file diff --git a/Project2015To2017.Console/Program.cs b/Project2015To2017.Console/Program.cs index b64b639..57c35e0 100644 --- a/Project2015To2017.Console/Program.cs +++ b/Project2015To2017.Console/Program.cs @@ -1,12 +1,10 @@ -using System; using System.Collections.Generic; -using System.IO; using System.Linq; using CommandLine; using Microsoft.Extensions.Logging; using Project2015To2017.Analysis; using Project2015To2017.Definition; -using Project2015To2017.Reading; +using Project2015To2017.Migrate2017; using Project2015To2017.Transforms; namespace Project2015To2017.Console @@ -27,7 +25,7 @@ private static void ConvertProject(Options options) ILogger logger = new ConsoleLogger("console", (s, l) => l >= LogLevel.Information, true); - logger.LogWarning("csproj-to-2017 is deprecated and will be removed soon. Consider migrating to Project2015To2017.Migrate2017.Tool (dotnet migrate-2017)"); + logger.LogError("csproj-to-2017 is obsolete and will be removed very soon. Migrate to Project2015To2017.Migrate2017.Tool (dotnet migrate-2017) as soon as possible."); foreach (var file in options.Files) { @@ -83,80 +81,5 @@ private static void ConvertProject(Options options) analyzer.Analyze(project); } } - - private static IEnumerable Convert(this ProjectConverter self, string target, ILogger logger) - { - var extension = Path.GetExtension(target) ?? throw new ArgumentNullException(nameof(target)); - if (extension.Length > 0) - { - var file = new FileInfo(target); - - switch (extension) - { - case ".sln": - { - var solution = SolutionReader.Instance.Read(file, logger); - foreach (var project in self.ProcessSolutionFile(solution)) - { - yield return project; - } - break; - } - case string s when ProjectConverter.ProjectFileMappings.ContainsKey(extension): - { - yield return self.ProcessProjectFile(file, null); - break; - } - default: - logger.LogCritical("Please specify a project or solution file."); - break; - } - - yield break; - } - - // Process the only solution in given directory - var solutionFiles = Directory.EnumerateFiles(target, "*.sln", SearchOption.TopDirectoryOnly).ToArray(); - if (solutionFiles.Length == 1) - { - var solution = SolutionReader.Instance.Read(solutionFiles[0], logger); - foreach (var project in self.ProcessSolutionFile(solution)) - { - yield return project; - } - - yield break; - } - - var projectsProcessed = 0; - // Process all csprojs found in given directory - foreach (var fileExtension in ProjectConverter.ProjectFileMappings.Keys) - { - var projectFiles = Directory.EnumerateFiles(target, "*" + fileExtension, SearchOption.AllDirectories).ToArray(); - if (projectFiles.Length == 0) - { - continue; - } - - if (projectFiles.Length > 1) - { - logger.LogInformation($"Multiple project files found under directory {target}:"); - } - - logger.LogInformation(string.Join(Environment.NewLine, projectFiles)); - - foreach (var projectFile in projectFiles) - { - // todo: rewrite both directory enumerations to use FileInfo instead of raw strings - yield return self.ProcessProjectFile(new FileInfo(projectFile), null); - projectsProcessed++; - } - } - - if (projectsProcessed == 0) - { - logger.LogCritical("Please specify a project file."); - } - } } } \ No newline at end of file diff --git a/Project2015To2017.Console/Project2015To2017.Console.csproj b/Project2015To2017.Console/Project2015To2017.Console.csproj index b3eddaf..c37eeff 100644 --- a/Project2015To2017.Console/Project2015To2017.Console.csproj +++ b/Project2015To2017.Console/Project2015To2017.Console.csproj @@ -1,20 +1,9 @@ - Project2015To2017.Console - Project2015To2017.Console Project2015To2017.Cli - hvanbakel et. al. Project2015To2017.Cli - Tool for converting a MSBuild project file to VS2017 format and beyond. - https://github.com/hvanbakel/CsprojToVs2017 - https://github.com/hvanbakel/CsprojToVs2017/blob/master/LICENSE - https://github.com/hvanbakel/CsprojToVs2017 - Copyright Hans van Bakel - dotnet csproj conversion vs2015 vs2017 - 3.0.2 Exe - 3.0.0.0 @@ -29,7 +18,7 @@ - + diff --git a/Project2015To2017/Analysis/AnalysisExtensions.cs b/Project2015To2017.Core/Analysis/AnalysisExtensions.cs similarity index 100% rename from Project2015To2017/Analysis/AnalysisExtensions.cs rename to Project2015To2017.Core/Analysis/AnalysisExtensions.cs diff --git a/Project2015To2017/Analysis/AnalysisOptions.cs b/Project2015To2017.Core/Analysis/AnalysisOptions.cs similarity index 100% rename from Project2015To2017/Analysis/AnalysisOptions.cs rename to Project2015To2017.Core/Analysis/AnalysisOptions.cs diff --git a/Project2015To2017/Analysis/Analyzer.cs b/Project2015To2017.Core/Analysis/Analyzer.cs similarity index 100% rename from Project2015To2017/Analysis/Analyzer.cs rename to Project2015To2017.Core/Analysis/Analyzer.cs diff --git a/Project2015To2017/Analysis/DiagnosticBase.cs b/Project2015To2017.Core/Analysis/DiagnosticBase.cs similarity index 100% rename from Project2015To2017/Analysis/DiagnosticBase.cs rename to Project2015To2017.Core/Analysis/DiagnosticBase.cs diff --git a/Project2015To2017/Analysis/DiagnosticLocation.cs b/Project2015To2017.Core/Analysis/DiagnosticLocation.cs similarity index 100% rename from Project2015To2017/Analysis/DiagnosticLocation.cs rename to Project2015To2017.Core/Analysis/DiagnosticLocation.cs diff --git a/Project2015To2017/Analysis/DiagnosticResult.cs b/Project2015To2017.Core/Analysis/DiagnosticResult.cs similarity index 100% rename from Project2015To2017/Analysis/DiagnosticResult.cs rename to Project2015To2017.Core/Analysis/DiagnosticResult.cs diff --git a/Project2015To2017/Analysis/DiagnosticSet.cs b/Project2015To2017.Core/Analysis/DiagnosticSet.cs similarity index 100% rename from Project2015To2017/Analysis/DiagnosticSet.cs rename to Project2015To2017.Core/Analysis/DiagnosticSet.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W001IllegalProjectTypeDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W001IllegalProjectTypeDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W001IllegalProjectTypeDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W001IllegalProjectTypeDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W010ConfigurationsMismatchDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W010ConfigurationsMismatchDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W010ConfigurationsMismatchDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W010ConfigurationsMismatchDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W011UnsupportedConditionalDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W011UnsupportedConditionalDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W011UnsupportedConditionalDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W011UnsupportedConditionalDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W020MicrosoftCSharpDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W020MicrosoftCSharpDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W020MicrosoftCSharpDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W020MicrosoftCSharpDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W021SystemNuGetPackagesDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W021SystemNuGetPackagesDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W021SystemNuGetPackagesDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W021SystemNuGetPackagesDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W030LegacyDebugTypesDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W030LegacyDebugTypesDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W030LegacyDebugTypesDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W030LegacyDebugTypesDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W031MSBuildSdkVersionSpecificationDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W031MSBuildSdkVersionSpecificationDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W031MSBuildSdkVersionSpecificationDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W031MSBuildSdkVersionSpecificationDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W032OldLanguageVersionDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W032OldLanguageVersionDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W032OldLanguageVersionDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W032OldLanguageVersionDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W033ObsoletePortableClassLibrariesDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W033ObsoletePortableClassLibrariesDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W033ObsoletePortableClassLibrariesDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W033ObsoletePortableClassLibrariesDiagnostic.cs diff --git a/Project2015To2017/Analysis/Diagnostics/W034ReferenceAliasesDiagnostic.cs b/Project2015To2017.Core/Analysis/Diagnostics/W034ReferenceAliasesDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/Diagnostics/W034ReferenceAliasesDiagnostic.cs rename to Project2015To2017.Core/Analysis/Diagnostics/W034ReferenceAliasesDiagnostic.cs diff --git a/Project2015To2017/Analysis/IDiagnostic.cs b/Project2015To2017.Core/Analysis/IDiagnostic.cs similarity index 100% rename from Project2015To2017/Analysis/IDiagnostic.cs rename to Project2015To2017.Core/Analysis/IDiagnostic.cs diff --git a/Project2015To2017/Analysis/IDiagnosticLocation.cs b/Project2015To2017.Core/Analysis/IDiagnosticLocation.cs similarity index 100% rename from Project2015To2017/Analysis/IDiagnosticLocation.cs rename to Project2015To2017.Core/Analysis/IDiagnosticLocation.cs diff --git a/Project2015To2017/Analysis/IDiagnosticResult.cs b/Project2015To2017.Core/Analysis/IDiagnosticResult.cs similarity index 100% rename from Project2015To2017/Analysis/IDiagnosticResult.cs rename to Project2015To2017.Core/Analysis/IDiagnosticResult.cs diff --git a/Project2015To2017/Analysis/IReporter.cs b/Project2015To2017.Core/Analysis/IReporter.cs similarity index 100% rename from Project2015To2017/Analysis/IReporter.cs rename to Project2015To2017.Core/Analysis/IReporter.cs diff --git a/Project2015To2017/Analysis/IReporterOptions.cs b/Project2015To2017.Core/Analysis/IReporterOptions.cs similarity index 100% rename from Project2015To2017/Analysis/IReporterOptions.cs rename to Project2015To2017.Core/Analysis/IReporterOptions.cs diff --git a/Project2015To2017/Analysis/IllegalDiagnosticStateException.cs b/Project2015To2017.Core/Analysis/IllegalDiagnosticStateException.cs similarity index 100% rename from Project2015To2017/Analysis/IllegalDiagnosticStateException.cs rename to Project2015To2017.Core/Analysis/IllegalDiagnosticStateException.cs diff --git a/Project2015To2017/Analysis/LoggerReporter.cs b/Project2015To2017.Core/Analysis/LoggerReporter.cs similarity index 100% rename from Project2015To2017/Analysis/LoggerReporter.cs rename to Project2015To2017.Core/Analysis/LoggerReporter.cs diff --git a/Project2015To2017/Analysis/LoggerReporterOptions.cs b/Project2015To2017.Core/Analysis/LoggerReporterOptions.cs similarity index 100% rename from Project2015To2017/Analysis/LoggerReporterOptions.cs rename to Project2015To2017.Core/Analysis/LoggerReporterOptions.cs diff --git a/Project2015To2017/Analysis/ReporterBase.cs b/Project2015To2017.Core/Analysis/ReporterBase.cs similarity index 100% rename from Project2015To2017/Analysis/ReporterBase.cs rename to Project2015To2017.Core/Analysis/ReporterBase.cs diff --git a/Project2015To2017/Caching/DefaultProjectCache.cs b/Project2015To2017.Core/Caching/DefaultProjectCache.cs similarity index 100% rename from Project2015To2017/Caching/DefaultProjectCache.cs rename to Project2015To2017.Core/Caching/DefaultProjectCache.cs diff --git a/Project2015To2017/Caching/IProjectCache.cs b/Project2015To2017.Core/Caching/IProjectCache.cs similarity index 100% rename from Project2015To2017/Caching/IProjectCache.cs rename to Project2015To2017.Core/Caching/IProjectCache.cs diff --git a/Project2015To2017/Caching/NoProjectCache.cs b/Project2015To2017.Core/Caching/NoProjectCache.cs similarity index 100% rename from Project2015To2017/Caching/NoProjectCache.cs rename to Project2015To2017.Core/Caching/NoProjectCache.cs diff --git a/Project2015To2017/ChainTransformationSet.cs b/Project2015To2017.Core/ChainTransformationSet.cs similarity index 100% rename from Project2015To2017/ChainTransformationSet.cs rename to Project2015To2017.Core/ChainTransformationSet.cs diff --git a/Project2015To2017/ConversionOptions.cs b/Project2015To2017.Core/ConversionOptions.cs similarity index 100% rename from Project2015To2017/ConversionOptions.cs rename to Project2015To2017.Core/ConversionOptions.cs diff --git a/Project2015To2017/Definition/ApplicationType.cs b/Project2015To2017.Core/Definition/ApplicationType.cs similarity index 100% rename from Project2015To2017/Definition/ApplicationType.cs rename to Project2015To2017.Core/Definition/ApplicationType.cs diff --git a/Project2015To2017/Definition/AssemblyAttributes.cs b/Project2015To2017.Core/Definition/AssemblyAttributes.cs similarity index 100% rename from Project2015To2017/Definition/AssemblyAttributes.cs rename to Project2015To2017.Core/Definition/AssemblyAttributes.cs diff --git a/Project2015To2017/Definition/AssemblyReference.cs b/Project2015To2017.Core/Definition/AssemblyReference.cs similarity index 100% rename from Project2015To2017/Definition/AssemblyReference.cs rename to Project2015To2017.Core/Definition/AssemblyReference.cs diff --git a/Project2015To2017/Definition/IReference.cs b/Project2015To2017.Core/Definition/IReference.cs similarity index 100% rename from Project2015To2017/Definition/IReference.cs rename to Project2015To2017.Core/Definition/IReference.cs diff --git a/Project2015To2017/Definition/PackageConfiguration.cs b/Project2015To2017.Core/Definition/PackageConfiguration.cs similarity index 100% rename from Project2015To2017/Definition/PackageConfiguration.cs rename to Project2015To2017.Core/Definition/PackageConfiguration.cs diff --git a/Project2015To2017/Definition/PackageReference.cs b/Project2015To2017.Core/Definition/PackageReference.cs similarity index 100% rename from Project2015To2017/Definition/PackageReference.cs rename to Project2015To2017.Core/Definition/PackageReference.cs diff --git a/Project2015To2017/Definition/Project.cs b/Project2015To2017.Core/Definition/Project.cs similarity index 100% rename from Project2015To2017/Definition/Project.cs rename to Project2015To2017.Core/Definition/Project.cs diff --git a/Project2015To2017/Definition/ProjectExtensions.cs b/Project2015To2017.Core/Definition/ProjectExtensions.cs similarity index 100% rename from Project2015To2017/Definition/ProjectExtensions.cs rename to Project2015To2017.Core/Definition/ProjectExtensions.cs diff --git a/Project2015To2017/Definition/ProjectReference.cs b/Project2015To2017.Core/Definition/ProjectReference.cs similarity index 100% rename from Project2015To2017/Definition/ProjectReference.cs rename to Project2015To2017.Core/Definition/ProjectReference.cs diff --git a/Project2015To2017/Definition/Solution.cs b/Project2015To2017.Core/Definition/Solution.cs similarity index 100% rename from Project2015To2017/Definition/Solution.cs rename to Project2015To2017.Core/Definition/Solution.cs diff --git a/Project2015To2017/Extensions.cs b/Project2015To2017.Core/Extensions.cs similarity index 100% rename from Project2015To2017/Extensions.cs rename to Project2015To2017.Core/Extensions.cs diff --git a/Project2015To2017/ITransformationSet.cs b/Project2015To2017.Core/ITransformationSet.cs similarity index 100% rename from Project2015To2017/ITransformationSet.cs rename to Project2015To2017.Core/ITransformationSet.cs diff --git a/Project2015To2017/NoopLogger.cs b/Project2015To2017.Core/NoopLogger.cs similarity index 100% rename from Project2015To2017/NoopLogger.cs rename to Project2015To2017.Core/NoopLogger.cs diff --git a/Project2015To2017/NoopTransformationSet.cs b/Project2015To2017.Core/NoopTransformationSet.cs similarity index 100% rename from Project2015To2017/NoopTransformationSet.cs rename to Project2015To2017.Core/NoopTransformationSet.cs diff --git a/Project2015To2017.Core/Project2015To2017.Core.csproj b/Project2015To2017.Core/Project2015To2017.Core.csproj new file mode 100644 index 0000000..4ce87bf --- /dev/null +++ b/Project2015To2017.Core/Project2015To2017.Core.csproj @@ -0,0 +1,23 @@ + + + + netstandard1.3;netstandard2.0 + Project2015To2017 + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Project2015To2017/ProjectConverter.cs b/Project2015To2017.Core/ProjectConverter.cs similarity index 75% rename from Project2015To2017/ProjectConverter.cs rename to Project2015To2017.Core/ProjectConverter.cs index 7cadaaa..bd67376 100644 --- a/Project2015To2017/ProjectConverter.cs +++ b/Project2015To2017.Core/ProjectConverter.cs @@ -8,7 +8,7 @@ using System.Linq; using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("Project2015To2017Tests")] +[assembly: InternalsVisibleTo("Project2015To2017.Tests")] namespace Project2015To2017 { @@ -36,82 +36,7 @@ public ProjectConverter( this.transformationSet = transformationSet ?? BasicReadTransformationSet.Instance; this.projectReader = new ProjectReader(logger, this.conversionOptions); } - - public IEnumerable Convert(string target) - { - var extension = Path.GetExtension(target) ?? throw new ArgumentNullException(nameof(target)); - if (extension.Length > 0) - { - var file = new FileInfo(target); - switch (extension) - { - case ".sln": - { - var solution = SolutionReader.Instance.Read(file, this.logger); - foreach (var project in ProcessSolutionFile(solution)) - { - yield return project; - } - break; - } - case string s when ProjectFileMappings.ContainsKey(extension): - { - yield return this.ProcessProjectFile(file, null); - break; - } - default: - { - this.logger.LogCritical("Please specify a project or solution file."); - break; - } - } - - yield break; - } - - // Process the only solution in given directory - var solutionFiles = Directory.EnumerateFiles(target, "*.sln", SearchOption.TopDirectoryOnly).ToArray(); - if (solutionFiles.Length == 1) - { - var solution = SolutionReader.Instance.Read(solutionFiles[0], this.logger); - foreach (var project in this.ProcessSolutionFile(solution)) - { - yield return project; - } - - yield break; - } - - var projectsProcessed = 0; - // Process all csprojs found in given directory - foreach (var mapping in ProjectFileMappings) - { - var projectFiles = Directory.EnumerateFiles(target, "*" + mapping.Key, SearchOption.AllDirectories).ToArray(); - if (projectFiles.Length == 0) - { - continue; - } - - if (projectFiles.Length > 1) - { - this.logger.LogInformation($"Multiple project files found under directory {target}:"); - } - - this.logger.LogInformation(string.Join(Environment.NewLine, projectFiles)); - - foreach (var projectFile in projectFiles) - { - yield return this.ProcessProjectFile(new FileInfo(projectFile), null); - projectsProcessed++; - } - } - - if (projectsProcessed == 0) - { - this.logger.LogCritical("Please specify a project file."); - } - } - + public IEnumerable ProcessSolutionFile(Solution solution) { this.logger.LogTrace("Solution parsing started."); diff --git a/Project2015To2017/Reading/AssemblyInfoReader.cs b/Project2015To2017.Core/Reading/AssemblyInfoReader.cs similarity index 100% rename from Project2015To2017/Reading/AssemblyInfoReader.cs rename to Project2015To2017.Core/Reading/AssemblyInfoReader.cs diff --git a/Project2015To2017/Reading/ConditionEvaluationStateImpl.cs b/Project2015To2017.Core/Reading/ConditionEvaluationStateImpl.cs similarity index 100% rename from Project2015To2017/Reading/ConditionEvaluationStateImpl.cs rename to Project2015To2017.Core/Reading/ConditionEvaluationStateImpl.cs diff --git a/Project2015To2017/Reading/ConditionEvaluator.LegacyCache.cs b/Project2015To2017.Core/Reading/ConditionEvaluator.LegacyCache.cs similarity index 100% rename from Project2015To2017/Reading/ConditionEvaluator.LegacyCache.cs rename to Project2015To2017.Core/Reading/ConditionEvaluator.LegacyCache.cs diff --git a/Project2015To2017/Reading/ConditionEvaluator.ModernCache.cs b/Project2015To2017.Core/Reading/ConditionEvaluator.ModernCache.cs similarity index 100% rename from Project2015To2017/Reading/ConditionEvaluator.ModernCache.cs rename to Project2015To2017.Core/Reading/ConditionEvaluator.ModernCache.cs diff --git a/Project2015To2017/Reading/ConditionEvaluator.cs b/Project2015To2017.Core/Reading/ConditionEvaluator.cs similarity index 100% rename from Project2015To2017/Reading/ConditionEvaluator.cs rename to Project2015To2017.Core/Reading/ConditionEvaluator.cs diff --git a/Project2015To2017/Reading/Conditionals/AndExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/AndExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/AndExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/AndExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/CharacterUtilities.cs b/Project2015To2017.Core/Reading/Conditionals/CharacterUtilities.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/CharacterUtilities.cs rename to Project2015To2017.Core/Reading/Conditionals/CharacterUtilities.cs diff --git a/Project2015To2017/Reading/Conditionals/ConversionUtilities.cs b/Project2015To2017.Core/Reading/Conditionals/ConversionUtilities.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/ConversionUtilities.cs rename to Project2015To2017.Core/Reading/Conditionals/ConversionUtilities.cs diff --git a/Project2015To2017/Reading/Conditionals/EqualExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/EqualExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/EqualExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/EqualExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/ErrorUtilities.cs b/Project2015To2017.Core/Reading/Conditionals/ErrorUtilities.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/ErrorUtilities.cs rename to Project2015To2017.Core/Reading/Conditionals/ErrorUtilities.cs diff --git a/Project2015To2017/Reading/Conditionals/FunctionCallExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/FunctionCallExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/FunctionCallExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/FunctionCallExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/GenericExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/GenericExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/GenericExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/GenericExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/GreaterThanExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/GreaterThanExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/GreaterThanExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/GreaterThanExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/GreaterThanOrEqualExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/GreaterThanOrEqualExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/GreaterThanOrEqualExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/GreaterThanOrEqualExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/IConditionEvaluationState.cs b/Project2015To2017.Core/Reading/Conditionals/IConditionEvaluationState.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/IConditionEvaluationState.cs rename to Project2015To2017.Core/Reading/Conditionals/IConditionEvaluationState.cs diff --git a/Project2015To2017/Reading/Conditionals/InternalErrorException.cs b/Project2015To2017.Core/Reading/Conditionals/InternalErrorException.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/InternalErrorException.cs rename to Project2015To2017.Core/Reading/Conditionals/InternalErrorException.cs diff --git a/Project2015To2017/Reading/Conditionals/LessThanExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/LessThanExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/LessThanExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/LessThanExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/LessThanOrEqualExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/LessThanOrEqualExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/LessThanOrEqualExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/LessThanOrEqualExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/MultipleComparisonExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/MultipleComparisonExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/MultipleComparisonExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/MultipleComparisonExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/NotEqualExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/NotEqualExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/NotEqualExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/NotEqualExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/NotExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/NotExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/NotExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/NotExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/NumericComparisonExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/NumericComparisonExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/NumericComparisonExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/NumericComparisonExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/NumericExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/NumericExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/NumericExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/NumericExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/OperandExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/OperandExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/OperandExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/OperandExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/OperatorExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/OperatorExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/OperatorExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/OperatorExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/OrExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/OrExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/OrExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/OrExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/Parser.cs b/Project2015To2017.Core/Reading/Conditionals/Parser.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/Parser.cs rename to Project2015To2017.Core/Reading/Conditionals/Parser.cs diff --git a/Project2015To2017/Reading/Conditionals/Scanner.cs b/Project2015To2017.Core/Reading/Conditionals/Scanner.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/Scanner.cs rename to Project2015To2017.Core/Reading/Conditionals/Scanner.cs diff --git a/Project2015To2017/Reading/Conditionals/StringExpressionNode.cs b/Project2015To2017.Core/Reading/Conditionals/StringExpressionNode.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/StringExpressionNode.cs rename to Project2015To2017.Core/Reading/Conditionals/StringExpressionNode.cs diff --git a/Project2015To2017/Reading/Conditionals/Token.cs b/Project2015To2017.Core/Reading/Conditionals/Token.cs similarity index 100% rename from Project2015To2017/Reading/Conditionals/Token.cs rename to Project2015To2017.Core/Reading/Conditionals/Token.cs diff --git a/Project2015To2017/Reading/NuSpecReader.cs b/Project2015To2017.Core/Reading/NuSpecReader.cs similarity index 100% rename from Project2015To2017/Reading/NuSpecReader.cs rename to Project2015To2017.Core/Reading/NuSpecReader.cs diff --git a/Project2015To2017/Reading/ProjectPropertiesReader.cs b/Project2015To2017.Core/Reading/ProjectPropertiesReader.cs similarity index 100% rename from Project2015To2017/Reading/ProjectPropertiesReader.cs rename to Project2015To2017.Core/Reading/ProjectPropertiesReader.cs diff --git a/Project2015To2017/Reading/ProjectReader.cs b/Project2015To2017.Core/Reading/ProjectReader.cs similarity index 100% rename from Project2015To2017/Reading/ProjectReader.cs rename to Project2015To2017.Core/Reading/ProjectReader.cs diff --git a/Project2015To2017/Reading/SolutionReader.cs b/Project2015To2017.Core/Reading/SolutionReader.cs similarity index 100% rename from Project2015To2017/Reading/SolutionReader.cs rename to Project2015To2017.Core/Reading/SolutionReader.cs diff --git a/Project2015To2017/Reading/upstream.md b/Project2015To2017.Core/Reading/upstream.md similarity index 100% rename from Project2015To2017/Reading/upstream.md rename to Project2015To2017.Core/Reading/upstream.md diff --git a/Project2015To2017/Transforms/AssemblyAttributeTransformation.cs b/Project2015To2017.Core/Transforms/AssemblyAttributeTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/AssemblyAttributeTransformation.cs rename to Project2015To2017.Core/Transforms/AssemblyAttributeTransformation.cs diff --git a/Project2015To2017/Transforms/BasicReadTransformationSet.cs b/Project2015To2017.Core/Transforms/BasicReadTransformationSet.cs similarity index 100% rename from Project2015To2017/Transforms/BasicReadTransformationSet.cs rename to Project2015To2017.Core/Transforms/BasicReadTransformationSet.cs diff --git a/Project2015To2017/Transforms/EmptyGroupRemoveTransformation.cs b/Project2015To2017.Core/Transforms/EmptyGroupRemoveTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/EmptyGroupRemoveTransformation.cs rename to Project2015To2017.Core/Transforms/EmptyGroupRemoveTransformation.cs diff --git a/Project2015To2017/Transforms/ILegacyOnlyProjectTransformation.cs b/Project2015To2017.Core/Transforms/ILegacyOnlyProjectTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/ILegacyOnlyProjectTransformation.cs rename to Project2015To2017.Core/Transforms/ILegacyOnlyProjectTransformation.cs diff --git a/Project2015To2017/Transforms/IModernOnlyProjectTransformation.cs b/Project2015To2017.Core/Transforms/IModernOnlyProjectTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/IModernOnlyProjectTransformation.cs rename to Project2015To2017.Core/Transforms/IModernOnlyProjectTransformation.cs diff --git a/Project2015To2017/Transforms/ITransformation.cs b/Project2015To2017.Core/Transforms/ITransformation.cs similarity index 100% rename from Project2015To2017/Transforms/ITransformation.cs rename to Project2015To2017.Core/Transforms/ITransformation.cs diff --git a/Project2015To2017/Transforms/ITransformationWithDependencies.cs b/Project2015To2017.Core/Transforms/ITransformationWithDependencies.cs similarity index 100% rename from Project2015To2017/Transforms/ITransformationWithDependencies.cs rename to Project2015To2017.Core/Transforms/ITransformationWithDependencies.cs diff --git a/Project2015To2017/Transforms/ITransformationWithTargetMoment.cs b/Project2015To2017.Core/Transforms/ITransformationWithTargetMoment.cs similarity index 100% rename from Project2015To2017/Transforms/ITransformationWithTargetMoment.cs rename to Project2015To2017.Core/Transforms/ITransformationWithTargetMoment.cs diff --git a/Project2015To2017/Transforms/NuGetPackageTransformation.cs b/Project2015To2017.Core/Transforms/NuGetPackageTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/NuGetPackageTransformation.cs rename to Project2015To2017.Core/Transforms/NuGetPackageTransformation.cs diff --git a/Project2015To2017/Transforms/PrimaryProjectPropertiesUpdateTransformation.cs b/Project2015To2017.Core/Transforms/PrimaryProjectPropertiesUpdateTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/PrimaryProjectPropertiesUpdateTransformation.cs rename to Project2015To2017.Core/Transforms/PrimaryProjectPropertiesUpdateTransformation.cs diff --git a/Project2015To2017/Transforms/PropertyDeduplicationTransformation.cs b/Project2015To2017.Core/Transforms/PropertyDeduplicationTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/PropertyDeduplicationTransformation.cs rename to Project2015To2017.Core/Transforms/PropertyDeduplicationTransformation.cs diff --git a/Project2015To2017/Transforms/PropertySimplificationTransformation.cs b/Project2015To2017.Core/Transforms/PropertySimplificationTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/PropertySimplificationTransformation.cs rename to Project2015To2017.Core/Transforms/PropertySimplificationTransformation.cs diff --git a/Project2015To2017/Transforms/TargetFrameworkReplaceTransformation.cs b/Project2015To2017.Core/Transforms/TargetFrameworkReplaceTransformation.cs similarity index 100% rename from Project2015To2017/Transforms/TargetFrameworkReplaceTransformation.cs rename to Project2015To2017.Core/Transforms/TargetFrameworkReplaceTransformation.cs diff --git a/Project2015To2017/Transforms/TargetTransformationExecutionMoment.cs b/Project2015To2017.Core/Transforms/TargetTransformationExecutionMoment.cs similarity index 100% rename from Project2015To2017/Transforms/TargetTransformationExecutionMoment.cs rename to Project2015To2017.Core/Transforms/TargetTransformationExecutionMoment.cs diff --git a/Project2015To2017/UnsupportedProjectTypes.cs b/Project2015To2017.Core/UnsupportedProjectTypes.cs similarity index 100% rename from Project2015To2017/UnsupportedProjectTypes.cs rename to Project2015To2017.Core/UnsupportedProjectTypes.cs diff --git a/Project2015To2017/Writing/ProjectWriter.cs b/Project2015To2017.Core/Writing/ProjectWriter.cs similarity index 100% rename from Project2015To2017/Writing/ProjectWriter.cs rename to Project2015To2017.Core/Writing/ProjectWriter.cs diff --git a/Project2015To2017.Migrate2017.Library/Project2015To2017.Migrate2017.Library.csproj b/Project2015To2017.Migrate2017.Library/Project2015To2017.Migrate2017.Library.csproj new file mode 100644 index 0000000..5d15652 --- /dev/null +++ b/Project2015To2017.Migrate2017.Library/Project2015To2017.Migrate2017.Library.csproj @@ -0,0 +1,12 @@ + + + + netstandard1.3;netstandard2.0 + Project2015To2017.Migrate2017 + + + + + + + diff --git a/Project2015To2017/Transforms/AssemblyFilterDefaultTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterDefaultTransformation.cs similarity index 92% rename from Project2015To2017/Transforms/AssemblyFilterDefaultTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterDefaultTransformation.cs index da6620b..5729de1 100644 --- a/Project2015To2017/Transforms/AssemblyFilterDefaultTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterDefaultTransformation.cs @@ -1,8 +1,9 @@ using System.Collections.Immutable; using System.Linq; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class AssemblyFilterDefaultTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs similarity index 94% rename from Project2015To2017/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs index 9857e50..91f9b9c 100644 --- a/Project2015To2017/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterHintedPackageReferencesTransformation.cs @@ -1,8 +1,9 @@ using System.IO; using System.Linq; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class AssemblyFilterHintedPackageReferencesTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/AssemblyFilterPackageReferencesTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterPackageReferencesTransformation.cs similarity index 91% rename from Project2015To2017/Transforms/AssemblyFilterPackageReferencesTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterPackageReferencesTransformation.cs index 0b08a60..d37f4ee 100644 --- a/Project2015To2017/Transforms/AssemblyFilterPackageReferencesTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/AssemblyFilterPackageReferencesTransformation.cs @@ -1,8 +1,9 @@ using System.Collections.Generic; using System.Linq; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class AssemblyFilterPackageReferencesTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/FileTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/FileTransformation.cs similarity index 98% rename from Project2015To2017/Transforms/FileTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/FileTransformation.cs index 48e46b9..184b32c 100644 --- a/Project2015To2017/Transforms/FileTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/FileTransformation.cs @@ -1,13 +1,13 @@ using System; using System.Collections.Generic; -using System.Collections.Immutable; using System.IO; using System.Linq; using System.Xml.Linq; using Microsoft.Extensions.Logging; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class FileTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs similarity index 97% rename from Project2015To2017/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs index 79f7e29..8079ade 100644 --- a/Project2015To2017/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/ImportsTargetsFilterPackageReferencesTransformation.cs @@ -3,8 +3,9 @@ using System.Linq; using System.Xml.Linq; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class ImportsTargetsFilterPackageReferencesTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/TestProjectPackageReferenceTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/TestProjectPackageReferenceTransformation.cs similarity index 95% rename from Project2015To2017/Transforms/TestProjectPackageReferenceTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/TestProjectPackageReferenceTransformation.cs index 9de5073..6107531 100644 --- a/Project2015To2017/Transforms/TestProjectPackageReferenceTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/TestProjectPackageReferenceTransformation.cs @@ -1,8 +1,9 @@ using System.Linq; using Microsoft.Extensions.Logging; using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class TestProjectPackageReferenceTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/XamlPagesTransformation.cs b/Project2015To2017.Migrate2017.Library/Transforms/XamlPagesTransformation.cs similarity index 97% rename from Project2015To2017/Transforms/XamlPagesTransformation.cs rename to Project2015To2017.Migrate2017.Library/Transforms/XamlPagesTransformation.cs index 5958183..3bdd326 100644 --- a/Project2015To2017/Transforms/XamlPagesTransformation.cs +++ b/Project2015To2017.Migrate2017.Library/Transforms/XamlPagesTransformation.cs @@ -1,12 +1,13 @@ -using Microsoft.Extensions.Logging; -using Project2015To2017.Definition; using System; using System.Collections.Immutable; using System.IO; using System.Linq; using System.Xml.Linq; +using Microsoft.Extensions.Logging; +using Project2015To2017.Definition; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017.Transforms { public sealed class XamlPagesTransformation : ILegacyOnlyProjectTransformation { diff --git a/Project2015To2017/Transforms/Vs15TransformationSet.cs b/Project2015To2017.Migrate2017.Library/Vs15TransformationSet.cs similarity index 91% rename from Project2015To2017/Transforms/Vs15TransformationSet.cs rename to Project2015To2017.Migrate2017.Library/Vs15TransformationSet.cs index be82acb..3ff7b3b 100644 --- a/Project2015To2017/Transforms/Vs15TransformationSet.cs +++ b/Project2015To2017.Migrate2017.Library/Vs15TransformationSet.cs @@ -1,7 +1,9 @@ using System.Collections.Generic; using Microsoft.Extensions.Logging; +using Project2015To2017.Migrate2017.Transforms; +using Project2015To2017.Transforms; -namespace Project2015To2017.Transforms +namespace Project2015To2017.Migrate2017 { public class Vs15TransformationSet : ITransformationSet { diff --git a/Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj b/Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj index 2578430..5d06d79 100644 --- a/Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj +++ b/Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj @@ -1,19 +1,10 @@ - + dotnet-migrate-2017 Project2015To2017.Migrate2017.Tool - hvanbakel et. al. Project2015To2017.Migrate2017.Tool - Tool for converting a MSBuild project file to VS2017 format and beyond. - https://github.com/hvanbakel/CsprojToVs2017 - https://github.com/hvanbakel/CsprojToVs2017/blob/master/LICENSE - https://github.com/hvanbakel/CsprojToVs2017 - Copyright Hans van Bakel - dotnet csproj fsproj vbproj msbuild conversion vs2015 vs14 vs15 vs2017 - 3.0.2 Exe - 3.0.0.0 $(RestoreAdditionalProjectSources); https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json @@ -31,7 +22,7 @@ - + @@ -40,7 +31,7 @@ - + diff --git a/Project2015To2017Tests/AssemblyAttributeTransformationTest.cs b/Project2015To2017.Tests/AssemblyAttributeTransformationTest.cs similarity index 99% rename from Project2015To2017Tests/AssemblyAttributeTransformationTest.cs rename to Project2015To2017.Tests/AssemblyAttributeTransformationTest.cs index cf24f53..ba6c2d6 100644 --- a/Project2015To2017Tests/AssemblyAttributeTransformationTest.cs +++ b/Project2015To2017.Tests/AssemblyAttributeTransformationTest.cs @@ -1,4 +1,3 @@ -using System; using System.Collections.Generic; using System.IO; using System.Linq; diff --git a/Project2015To2017Tests/AssemblyFilterDefaultTransformationTest.cs b/Project2015To2017.Tests/AssemblyFilterDefaultTransformationTest.cs similarity index 93% rename from Project2015To2017Tests/AssemblyFilterDefaultTransformationTest.cs rename to Project2015To2017.Tests/AssemblyFilterDefaultTransformationTest.cs index f03e882..a3f90f8 100644 --- a/Project2015To2017Tests/AssemblyFilterDefaultTransformationTest.cs +++ b/Project2015To2017.Tests/AssemblyFilterDefaultTransformationTest.cs @@ -2,7 +2,7 @@ using System.IO; using Microsoft.VisualStudio.TestTools.UnitTesting; using Project2015To2017.Definition; -using Project2015To2017.Transforms; +using Project2015To2017.Migrate2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs b/Project2015To2017.Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs similarity index 97% rename from Project2015To2017Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs rename to Project2015To2017.Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs index a006252..a635981 100644 --- a/Project2015To2017Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs +++ b/Project2015To2017.Tests/AssemblyFilterHintedPackageReferencesTransformationTest.cs @@ -3,7 +3,7 @@ using System.IO; using Project2015To2017.Definition; using Project2015To2017.Reading; -using Project2015To2017.Transforms; +using Project2015To2017.Migrate2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/AssemblyFilterPackageReferencesTransformationTest.cs b/Project2015To2017.Tests/AssemblyFilterPackageReferencesTransformationTest.cs similarity index 97% rename from Project2015To2017Tests/AssemblyFilterPackageReferencesTransformationTest.cs rename to Project2015To2017.Tests/AssemblyFilterPackageReferencesTransformationTest.cs index 51caaff..79aaa61 100644 --- a/Project2015To2017Tests/AssemblyFilterPackageReferencesTransformationTest.cs +++ b/Project2015To2017.Tests/AssemblyFilterPackageReferencesTransformationTest.cs @@ -4,7 +4,7 @@ using System.Linq; using Project2015To2017.Definition; using Project2015To2017.Reading; -using Project2015To2017.Transforms; +using Project2015To2017.Migrate2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/AssemblyInfoReadTest.cs b/Project2015To2017.Tests/AssemblyInfoReadTest.cs similarity index 100% rename from Project2015To2017Tests/AssemblyInfoReadTest.cs rename to Project2015To2017.Tests/AssemblyInfoReadTest.cs diff --git a/Project2015To2017Tests/DummyLogger.cs b/Project2015To2017.Tests/DummyLogger.cs similarity index 100% rename from Project2015To2017Tests/DummyLogger.cs rename to Project2015To2017.Tests/DummyLogger.cs diff --git a/Project2015To2017Tests/FileTransformationTest.cs b/Project2015To2017.Tests/FileTransformationTest.cs similarity index 98% rename from Project2015To2017Tests/FileTransformationTest.cs rename to Project2015To2017.Tests/FileTransformationTest.cs index 93031ec..9ebfe45 100644 --- a/Project2015To2017Tests/FileTransformationTest.cs +++ b/Project2015To2017.Tests/FileTransformationTest.cs @@ -3,8 +3,7 @@ using System.IO; using System.Linq; using Project2015To2017.Reading; -using Project2015To2017.Transforms; -using Project2015To2017; +using Project2015To2017.Migrate2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs b/Project2015To2017.Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs similarity index 96% rename from Project2015To2017Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs rename to Project2015To2017.Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs index 5f52d7e..e5cd93d 100644 --- a/Project2015To2017Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs +++ b/Project2015To2017.Tests/ImportsTargetsFilterPackageReferencesTransformationTest.cs @@ -1,7 +1,7 @@ using System.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; +using Project2015To2017.Migrate2017.Transforms; using Project2015To2017.Reading; -using Project2015To2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/NuGetPackageTransformationTest.cs b/Project2015To2017.Tests/NuGetPackageTransformationTest.cs similarity index 98% rename from Project2015To2017Tests/NuGetPackageTransformationTest.cs rename to Project2015To2017.Tests/NuGetPackageTransformationTest.cs index c686e2f..8c673ef 100644 --- a/Project2015To2017Tests/NuGetPackageTransformationTest.cs +++ b/Project2015To2017.Tests/NuGetPackageTransformationTest.cs @@ -1,11 +1,9 @@ -using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.IO; using System.Linq; using Project2015To2017.Definition; using Project2015To2017.Reading; using Project2015To2017.Transforms; -using Project2015To2017; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/NuSpecReaderTest.cs b/Project2015To2017.Tests/NuSpecReaderTest.cs similarity index 97% rename from Project2015To2017Tests/NuSpecReaderTest.cs rename to Project2015To2017.Tests/NuSpecReaderTest.cs index d2958f4..b26ff23 100644 --- a/Project2015To2017Tests/NuSpecReaderTest.cs +++ b/Project2015To2017.Tests/NuSpecReaderTest.cs @@ -1,4 +1,3 @@ -using System; using System.IO; using Microsoft.VisualStudio.TestTools.UnitTesting; using Project2015To2017; diff --git a/Project2015To2017Tests/OtherPackagesConfig/net46console.testcsproj b/Project2015To2017.Tests/OtherPackagesConfig/net46console.testcsproj similarity index 100% rename from Project2015To2017Tests/OtherPackagesConfig/net46console.testcsproj rename to Project2015To2017.Tests/OtherPackagesConfig/net46console.testcsproj diff --git a/Project2015To2017Tests/OtherPackagesConfig/packages.config b/Project2015To2017.Tests/OtherPackagesConfig/packages.config similarity index 100% rename from Project2015To2017Tests/OtherPackagesConfig/packages.config rename to Project2015To2017.Tests/OtherPackagesConfig/packages.config diff --git a/Project2015To2017Tests/PrimaryProjectPropertiesUpdateTransformationTest.cs b/Project2015To2017.Tests/PrimaryProjectPropertiesUpdateTransformationTest.cs similarity index 100% rename from Project2015To2017Tests/PrimaryProjectPropertiesUpdateTransformationTest.cs rename to Project2015To2017.Tests/PrimaryProjectPropertiesUpdateTransformationTest.cs diff --git a/Project2015To2017Tests/ProgramTest.cs b/Project2015To2017.Tests/ProgramTest.cs similarity index 100% rename from Project2015To2017Tests/ProgramTest.cs rename to Project2015To2017.Tests/ProgramTest.cs diff --git a/Project2015To2017Tests/Project2015To2017Tests.csproj b/Project2015To2017.Tests/Project2015To2017.Tests.csproj similarity index 51% rename from Project2015To2017Tests/Project2015To2017Tests.csproj rename to Project2015To2017.Tests/Project2015To2017.Tests.csproj index 5acbc8b..ef05d28 100644 --- a/Project2015To2017Tests/Project2015To2017Tests.csproj +++ b/Project2015To2017.Tests/Project2015To2017.Tests.csproj @@ -1,17 +1,16 @@ - netcoreapp2.0 - latest + netcoreapp2.1 - - - - - - + + + + + + @@ -38,8 +37,8 @@ - - + + @@ -87,111 +86,111 @@ - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - True - True - Resources.resx - PreserveNewest - - - ResXFileCodeGenerator - PreserveNewest - Resources.Designer.cs - - - ResXFileCodeGenerator - PreserveNewest - Resources.Designer.cs - - - True - True - Resources.resx - PreserveNewest - - - PreserveNewest - - - PreserveNewest - ResXFileCodeGenerator - SourceFileWithDesigner.Designer.cs - - - SourceFileWithDesigner.cs - PreserveNewest - True - True - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + True + True + Resources.resx + PreserveNewest + + + ResXFileCodeGenerator + PreserveNewest + Resources.Designer.cs + + + ResXFileCodeGenerator + PreserveNewest + Resources.Designer.cs + + + True + True + Resources.resx + PreserveNewest + + + PreserveNewest + + + PreserveNewest + ResXFileCodeGenerator + SourceFileWithDesigner.Designer.cs + + + SourceFileWithDesigner.cs + PreserveNewest + True + True + - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + - - - - + + + + - + - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - Always - - - PreserveNewest - + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + Always + + + PreserveNewest + @@ -246,19 +245,19 @@ - + - + - - ResXFileCodeGenerator - Always - Resources.Designer.cs - + + ResXFileCodeGenerator + Always + Resources.Designer.cs + diff --git a/Project2015To2017Tests/Project2015To2017Tests.csproj.DotSettings b/Project2015To2017.Tests/Project2015To2017.Tests.csproj.DotSettings similarity index 100% rename from Project2015To2017Tests/Project2015To2017Tests.csproj.DotSettings rename to Project2015To2017.Tests/Project2015To2017.Tests.csproj.DotSettings diff --git a/Project2015To2017Tests/ProjectPropertiesReadTest.cs b/Project2015To2017.Tests/ProjectPropertiesReadTest.cs similarity index 100% rename from Project2015To2017Tests/ProjectPropertiesReadTest.cs rename to Project2015To2017.Tests/ProjectPropertiesReadTest.cs diff --git a/Project2015To2017Tests/ProjectReferenceReadTest.cs b/Project2015To2017.Tests/ProjectReferenceReadTest.cs similarity index 100% rename from Project2015To2017Tests/ProjectReferenceReadTest.cs rename to Project2015To2017.Tests/ProjectReferenceReadTest.cs diff --git a/Project2015To2017Tests/ProjectWriterTest.cs b/Project2015To2017.Tests/ProjectWriterTest.cs similarity index 100% rename from Project2015To2017Tests/ProjectWriterTest.cs rename to Project2015To2017.Tests/ProjectWriterTest.cs diff --git a/Project2015To2017Tests/PropertySimplificationTransformationTest.cs b/Project2015To2017.Tests/PropertySimplificationTransformationTest.cs similarity index 99% rename from Project2015To2017Tests/PropertySimplificationTransformationTest.cs rename to Project2015To2017.Tests/PropertySimplificationTransformationTest.cs index a215b72..e03ea3a 100644 --- a/Project2015To2017Tests/PropertySimplificationTransformationTest.cs +++ b/Project2015To2017.Tests/PropertySimplificationTransformationTest.cs @@ -2,13 +2,11 @@ using System.IO; using System.Linq; using Project2015To2017.Definition; -using System.Threading.Tasks; using System.Xml.Linq; using Microsoft.VisualStudio.TestTools.UnitTesting; using Project2015To2017.Reading; using Project2015To2017.Transforms; using static Project2015To2017.Extensions; -using Project2015To2017; using System.Text; using System; diff --git a/Project2015To2017Tests/SolutionReaderTests.cs b/Project2015To2017.Tests/SolutionReaderTests.cs similarity index 100% rename from Project2015To2017Tests/SolutionReaderTests.cs rename to Project2015To2017.Tests/SolutionReaderTests.cs diff --git a/Project2015To2017Tests/TargetFrameworkReplaceTransformationTest.cs b/Project2015To2017.Tests/TargetFrameworkReplaceTransformationTest.cs similarity index 100% rename from Project2015To2017Tests/TargetFrameworkReplaceTransformationTest.cs rename to Project2015To2017.Tests/TargetFrameworkReplaceTransformationTest.cs diff --git a/Project2015To2017Tests/TestFiles/AltNugetConfig/ProjectFolder/net46console.testcsproj b/Project2015To2017.Tests/TestFiles/AltNugetConfig/ProjectFolder/net46console.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/AltNugetConfig/ProjectFolder/net46console.testcsproj rename to Project2015To2017.Tests/TestFiles/AltNugetConfig/ProjectFolder/net46console.testcsproj diff --git a/Project2015To2017Tests/TestFiles/AltNugetConfig/ProjectFolder/packages.config b/Project2015To2017.Tests/TestFiles/AltNugetConfig/ProjectFolder/packages.config similarity index 100% rename from Project2015To2017Tests/TestFiles/AltNugetConfig/ProjectFolder/packages.config rename to Project2015To2017.Tests/TestFiles/AltNugetConfig/ProjectFolder/packages.config diff --git a/Project2015To2017Tests/TestFiles/AltNugetConfig/nuget.config b/Project2015To2017.Tests/TestFiles/AltNugetConfig/nuget.config similarity index 100% rename from Project2015To2017Tests/TestFiles/AltNugetConfig/nuget.config rename to Project2015To2017.Tests/TestFiles/AltNugetConfig/nuget.config diff --git a/Project2015To2017Tests/TestFiles/AssemblyInfoHandling/ClassDataLeft/Properties/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/ClassDataLeft/Properties/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/AssemblyInfoHandling/ClassDataLeft/Properties/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/ClassDataLeft/Properties/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/AssemblyInfoHandling/Empty/Properties/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/Empty/Properties/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/AssemblyInfoHandling/Empty/Properties/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/Empty/Properties/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/AssemblyInfoHandling/Redundant/Properties/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/Redundant/Properties/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/AssemblyInfoHandling/Redundant/Properties/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/AssemblyInfoHandling/Redundant/Properties/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/Deletions/AssemblyInfo.txt b/Project2015To2017.Tests/TestFiles/Deletions/AssemblyInfo.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/AssemblyInfo.txt rename to Project2015To2017.Tests/TestFiles/Deletions/AssemblyInfo.txt diff --git a/Project2015To2017Tests/TestFiles/Deletions/EmptyFolder/a.txt b/Project2015To2017.Tests/TestFiles/Deletions/EmptyFolder/a.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/EmptyFolder/a.txt rename to Project2015To2017.Tests/TestFiles/Deletions/EmptyFolder/a.txt diff --git a/Project2015To2017Tests/TestFiles/Deletions/NonEmptyFolder/a.txt b/Project2015To2017.Tests/TestFiles/Deletions/NonEmptyFolder/a.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/NonEmptyFolder/a.txt rename to Project2015To2017.Tests/TestFiles/Deletions/NonEmptyFolder/a.txt diff --git a/Project2015To2017Tests/TestFiles/Deletions/NonEmptyFolder2/a.txt b/Project2015To2017.Tests/TestFiles/Deletions/NonEmptyFolder2/a.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/NonEmptyFolder2/a.txt rename to Project2015To2017.Tests/TestFiles/Deletions/NonEmptyFolder2/a.txt diff --git a/Project2015To2017Tests/TestFiles/Deletions/Test1.csproj b/Project2015To2017.Tests/TestFiles/Deletions/Test1.csproj similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/Test1.csproj rename to Project2015To2017.Tests/TestFiles/Deletions/Test1.csproj diff --git a/Project2015To2017Tests/TestFiles/Deletions/Test2.csproj b/Project2015To2017.Tests/TestFiles/Deletions/Test2.csproj similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/Test2.csproj rename to Project2015To2017.Tests/TestFiles/Deletions/Test2.csproj diff --git a/Project2015To2017Tests/TestFiles/Deletions/Test3.csproj b/Project2015To2017.Tests/TestFiles/Deletions/Test3.csproj similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/Test3.csproj rename to Project2015To2017.Tests/TestFiles/Deletions/Test3.csproj diff --git a/Project2015To2017Tests/TestFiles/Deletions/Test4.csproj b/Project2015To2017.Tests/TestFiles/Deletions/Test4.csproj similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/Test4.csproj rename to Project2015To2017.Tests/TestFiles/Deletions/Test4.csproj diff --git a/Project2015To2017Tests/TestFiles/Deletions/a.txt b/Project2015To2017.Tests/TestFiles/Deletions/a.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Deletions/a.txt rename to Project2015To2017.Tests/TestFiles/Deletions/a.txt diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/AnotherFile.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/AnotherFile.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/AnotherFile.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/AnotherFile.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Class1.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Class1.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Class1.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Class1.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Folder/FileInFolder.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Folder/FileInFolder.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Folder/FileInFolder.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Folder/FileInFolder.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Folder/FileIncludedByWildcard.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Folder/FileIncludedByWildcard.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Folder/FileIncludedByWildcard.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Folder/FileIncludedByWildcard.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/IncludedFile.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/IncludedFile.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/IncludedFile.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/IncludedFile.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Program.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Program.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Program.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Program.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Properties/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Properties/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Properties/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Properties/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Properties/Resources.Designer.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Properties/Resources.Designer.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Properties/Resources.Designer.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Properties/Resources.Designer.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Properties/Resources.resx b/Project2015To2017.Tests/TestFiles/FileInclusion/Properties/Resources.resx similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Properties/Resources.resx rename to Project2015To2017.Tests/TestFiles/FileInclusion/Properties/Resources.resx diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Resources.Designer.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/Resources.Designer.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Resources.Designer.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/Resources.Designer.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/Resources.resx b/Project2015To2017.Tests/TestFiles/FileInclusion/Resources.resx similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/Resources.resx rename to Project2015To2017.Tests/TestFiles/FileInclusion/Resources.resx diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/SourceFileAsResource.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileAsResource.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/SourceFileAsResource.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileAsResource.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/SourceFileSubTypeCode.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileSubTypeCode.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/SourceFileSubTypeCode.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileSubTypeCode.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/SourceFileWithDesigner.Designer.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileWithDesigner.Designer.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/SourceFileWithDesigner.Designer.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileWithDesigner.Designer.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/SourceFileWithDesigner.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileWithDesigner.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/SourceFileWithDesigner.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/SourceFileWithDesigner.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/WildcardFolder/WildcardSubFolder/SubFolderWildcardFile.cs b/Project2015To2017.Tests/TestFiles/FileInclusion/WildcardFolder/WildcardSubFolder/SubFolderWildcardFile.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/WildcardFolder/WildcardSubFolder/SubFolderWildcardFile.cs rename to Project2015To2017.Tests/TestFiles/FileInclusion/WildcardFolder/WildcardSubFolder/SubFolderWildcardFile.cs diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/app.config b/Project2015To2017.Tests/TestFiles/FileInclusion/app.config similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/app.config rename to Project2015To2017.Tests/TestFiles/FileInclusion/app.config diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/fileExclusion.testcsproj b/Project2015To2017.Tests/TestFiles/FileInclusion/fileExclusion.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/fileExclusion.testcsproj rename to Project2015To2017.Tests/TestFiles/FileInclusion/fileExclusion.testcsproj diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/fileinclusion.testcsproj b/Project2015To2017.Tests/TestFiles/FileInclusion/fileinclusion.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/fileinclusion.testcsproj rename to Project2015To2017.Tests/TestFiles/FileInclusion/fileinclusion.testcsproj diff --git a/Project2015To2017Tests/TestFiles/FileInclusion/packages.config b/Project2015To2017.Tests/TestFiles/FileInclusion/packages.config similarity index 100% rename from Project2015To2017Tests/TestFiles/FileInclusion/packages.config rename to Project2015To2017.Tests/TestFiles/FileInclusion/packages.config diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/OtherTestProjects/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/OtherTestClass.cs b/Project2015To2017.Tests/TestFiles/OtherTestProjects/OtherTestClass.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/OtherTestClass.cs rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/OtherTestClass.cs diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/containsTestSDK.testcsproj b/Project2015To2017.Tests/TestFiles/OtherTestProjects/containsTestSDK.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/containsTestSDK.testcsproj rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/containsTestSDK.testcsproj diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/net46console.testcsproj b/Project2015To2017.Tests/TestFiles/OtherTestProjects/net46console.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/net46console.testcsproj rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/net46console.testcsproj diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/packages.config b/Project2015To2017.Tests/TestFiles/OtherTestProjects/packages.config similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/packages.config rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/packages.config diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/readonly.testcsproj b/Project2015To2017.Tests/TestFiles/OtherTestProjects/readonly.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/readonly.testcsproj rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/readonly.testcsproj diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/test.nuspec b/Project2015To2017.Tests/TestFiles/OtherTestProjects/test.nuspec similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/test.nuspec rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/test.nuspec diff --git a/Project2015To2017Tests/TestFiles/OtherTestProjects/unittest.testcsproj b/Project2015To2017.Tests/TestFiles/OtherTestProjects/unittest.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/OtherTestProjects/unittest.testcsproj rename to Project2015To2017.Tests/TestFiles/OtherTestProjects/unittest.testcsproj diff --git a/Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/Class1.cs b/Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/Class1.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/Class1.cs rename to Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/Class1.cs diff --git a/Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/ClassLibrary.csproj b/Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/ClassLibrary.csproj similarity index 100% rename from Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/ClassLibrary.csproj rename to Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/ClassLibrary.csproj diff --git a/Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/Properties/AssemblyInfo.cs b/Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/Properties/AssemblyInfo.cs similarity index 100% rename from Project2015To2017Tests/TestFiles/Solutions/ClassLibrary/Properties/AssemblyInfo.cs rename to Project2015To2017.Tests/TestFiles/Solutions/ClassLibrary/Properties/AssemblyInfo.cs diff --git a/Project2015To2017Tests/TestFiles/Solutions/TextFile.txt b/Project2015To2017.Tests/TestFiles/Solutions/TextFile.txt similarity index 100% rename from Project2015To2017Tests/TestFiles/Solutions/TextFile.txt rename to Project2015To2017.Tests/TestFiles/Solutions/TextFile.txt diff --git a/Project2015To2017Tests/TestFiles/Solutions/sampleSolution.testsln b/Project2015To2017.Tests/TestFiles/Solutions/sampleSolution.testsln similarity index 100% rename from Project2015To2017Tests/TestFiles/Solutions/sampleSolution.testsln rename to Project2015To2017.Tests/TestFiles/Solutions/sampleSolution.testsln diff --git a/Project2015To2017Tests/TestFiles/app.iOS.testcsproj b/Project2015To2017.Tests/TestFiles/app.iOS.testcsproj similarity index 100% rename from Project2015To2017Tests/TestFiles/app.iOS.testcsproj rename to Project2015To2017.Tests/TestFiles/app.iOS.testcsproj diff --git a/Project2015To2017Tests/TestFiles/nuSpecs/noNamespace.nuspec b/Project2015To2017.Tests/TestFiles/nuSpecs/noNamespace.nuspec similarity index 100% rename from Project2015To2017Tests/TestFiles/nuSpecs/noNamespace.nuspec rename to Project2015To2017.Tests/TestFiles/nuSpecs/noNamespace.nuspec diff --git a/Project2015To2017Tests/TestProjectPackageReferenceTransformationTest.cs b/Project2015To2017.Tests/TestProjectPackageReferenceTransformationTest.cs similarity index 97% rename from Project2015To2017Tests/TestProjectPackageReferenceTransformationTest.cs rename to Project2015To2017.Tests/TestProjectPackageReferenceTransformationTest.cs index 56edf6f..b4ac78b 100644 --- a/Project2015To2017Tests/TestProjectPackageReferenceTransformationTest.cs +++ b/Project2015To2017.Tests/TestProjectPackageReferenceTransformationTest.cs @@ -1,11 +1,9 @@ -using System; using Microsoft.VisualStudio.TestTools.UnitTesting; using System.Linq; using System.IO; using Project2015To2017.Definition; using Project2015To2017.Reading; -using Project2015To2017.Transforms; -using Project2015To2017; +using Project2015To2017.Migrate2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017Tests/UnsupportedProjectTypesTest.cs b/Project2015To2017.Tests/UnsupportedProjectTypesTest.cs similarity index 100% rename from Project2015To2017Tests/UnsupportedProjectTypesTest.cs rename to Project2015To2017.Tests/UnsupportedProjectTypesTest.cs diff --git a/Project2015To2017Tests/W001IllegalProjectTypeDiagnosticTest.cs b/Project2015To2017.Tests/W001IllegalProjectTypeDiagnosticTest.cs similarity index 100% rename from Project2015To2017Tests/W001IllegalProjectTypeDiagnosticTest.cs rename to Project2015To2017.Tests/W001IllegalProjectTypeDiagnosticTest.cs diff --git a/Project2015To2017Tests/XamlTransformationTest.cs b/Project2015To2017.Tests/XamlTransformationTest.cs similarity index 98% rename from Project2015To2017Tests/XamlTransformationTest.cs rename to Project2015To2017.Tests/XamlTransformationTest.cs index 43f3979..dc27034 100644 --- a/Project2015To2017Tests/XamlTransformationTest.cs +++ b/Project2015To2017.Tests/XamlTransformationTest.cs @@ -1,14 +1,12 @@ -using System; using System.Collections.Immutable; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; -using Project2015To2017; using Project2015To2017.Definition; +using Project2015To2017.Migrate2017.Transforms; using Project2015To2017.Reading; -using Project2015To2017.Transforms; namespace Project2015To2017Tests { diff --git a/Project2015To2017.sln b/Project2015To2017.sln index 9a68d0a..dc2c32f 100644 --- a/Project2015To2017.sln +++ b/Project2015To2017.sln @@ -3,21 +3,26 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 15 VisualStudioVersion = 15.0.27130.0 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017Tests", "Project2015To2017Tests\Project2015To2017Tests.csproj", "{1AF63B37-E57F-41F1-B34F-177DBC927D97}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017.Tests", "Project2015To2017.Tests\Project2015To2017.Tests.csproj", "{1AF63B37-E57F-41F1-B34F-177DBC927D97}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5897C612-2D68-4B30-875D-4D10D387219F}" ProjectSection(SolutionItems) = preProject .editorconfig = .editorconfig appveyor.yml = appveyor.yml + Directory.Build.props = Directory.Build.props README.md = README.md EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017", "Project2015To2017\Project2015To2017.csproj", "{88CBADAB-10F5-4C15-A0E9-F0042DD8BC0C}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017.Core", "Project2015To2017.Core\Project2015To2017.Core.csproj", "{D9D7DB74-7503-47B3-ABFB-E6B991082E47}" +EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017.Console", "Project2015To2017.Console\Project2015To2017.Console.csproj", "{89BDCF6C-0B08-4545-9423-CBBBD826226B}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017.Migrate2017.Tool", "Project2015To2017.Migrate2017.Tool\Project2015To2017.Migrate2017.Tool.csproj", "{449F6C91-0C98-40CE-8819-D24BD6FFE2C5}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Project2015To2017.Migrate2017.Library", "Project2015To2017.Migrate2017.Library\Project2015To2017.Migrate2017.Library.csproj", "{EBB75840-2B0E-4F56-B702-E256E34A40C1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -32,6 +37,10 @@ Global {88CBADAB-10F5-4C15-A0E9-F0042DD8BC0C}.Debug|Any CPU.Build.0 = Debug|Any CPU {88CBADAB-10F5-4C15-A0E9-F0042DD8BC0C}.Release|Any CPU.ActiveCfg = Release|Any CPU {88CBADAB-10F5-4C15-A0E9-F0042DD8BC0C}.Release|Any CPU.Build.0 = Release|Any CPU + {D9D7DB74-7503-47B3-ABFB-E6B991082E47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D9D7DB74-7503-47B3-ABFB-E6B991082E47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D9D7DB74-7503-47B3-ABFB-E6B991082E47}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D9D7DB74-7503-47B3-ABFB-E6B991082E47}.Release|Any CPU.Build.0 = Release|Any CPU {89BDCF6C-0B08-4545-9423-CBBBD826226B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {89BDCF6C-0B08-4545-9423-CBBBD826226B}.Debug|Any CPU.Build.0 = Debug|Any CPU {89BDCF6C-0B08-4545-9423-CBBBD826226B}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -40,6 +49,10 @@ Global {449F6C91-0C98-40CE-8819-D24BD6FFE2C5}.Debug|Any CPU.Build.0 = Debug|Any CPU {449F6C91-0C98-40CE-8819-D24BD6FFE2C5}.Release|Any CPU.ActiveCfg = Release|Any CPU {449F6C91-0C98-40CE-8819-D24BD6FFE2C5}.Release|Any CPU.Build.0 = Release|Any CPU + {EBB75840-2B0E-4F56-B702-E256E34A40C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EBB75840-2B0E-4F56-B702-E256E34A40C1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EBB75840-2B0E-4F56-B702-E256E34A40C1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EBB75840-2B0E-4F56-B702-E256E34A40C1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Project2015To2017/Project2015To2017.csproj b/Project2015To2017/Project2015To2017.csproj index bb93f55..55b6395 100644 --- a/Project2015To2017/Project2015To2017.csproj +++ b/Project2015To2017/Project2015To2017.csproj @@ -1,36 +1,20 @@  - - netstandard1.3;netstandard2.0 - Project2015To2017 - Project2015To2017 - hvanbakel et. al. - Project2015To2017 - https://github.com/hvanbakel/CsprojToVs2017 - https://github.com/hvanbakel/CsprojToVs2017/blob/master/LICENSE - https://github.com/hvanbakel/CsprojToVs2017 - Copyright Hans van Bakel - dotnet csproj conversion vs2015 vs2017 - Tool for converting a csproj file for VS2015 to VS2017 and beyond. - true - 3.0.2 - 3.0.0.0 - 7.3 - + + netstandard1.3;netstandard2.0 + true + $(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage + - - - - - + + + + - - - - + + + + + - - - - - \ No newline at end of file + diff --git a/Project2015To2017/ProjectConverterExtensions.cs b/Project2015To2017/ProjectConverterExtensions.cs new file mode 100644 index 0000000..29e2579 --- /dev/null +++ b/Project2015To2017/ProjectConverterExtensions.cs @@ -0,0 +1,90 @@ +using Microsoft.Extensions.Logging; +using Project2015To2017.Definition; +using Project2015To2017.Reading; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; + +namespace Project2015To2017 +{ + public static class ProjectConverterExtensions + { + public static IEnumerable Convert(this ProjectConverter self, string target, ILogger logger = default) + { + if (logger == null) logger = NoopLogger.Instance; + + var extension = Path.GetExtension(target) ?? throw new ArgumentNullException(nameof(target)); + if (extension.Length > 0) + { + var file = new FileInfo(target); + + switch (extension) + { + case ".sln": + { + var solution = SolutionReader.Instance.Read(file, logger); + foreach (var project in self.ProcessSolutionFile(solution)) + { + yield return project; + } + break; + } + case string s when ProjectConverter.ProjectFileMappings.ContainsKey(extension): + { + yield return self.ProcessProjectFile(file, null); + break; + } + default: + logger.LogCritical("Please specify a project or solution file."); + break; + } + + yield break; + } + + // Process the only solution in given directory + var solutionFiles = Directory.EnumerateFiles(target, "*.sln", SearchOption.TopDirectoryOnly).ToArray(); + if (solutionFiles.Length == 1) + { + var solution = SolutionReader.Instance.Read(solutionFiles[0], logger); + foreach (var project in self.ProcessSolutionFile(solution)) + { + yield return project; + } + + yield break; + } + + var projectsProcessed = 0; + // Process all csprojs found in given directory + foreach (var fileExtension in ProjectConverter.ProjectFileMappings.Keys) + { + var projectFiles = Directory.EnumerateFiles(target, "*" + fileExtension, SearchOption.AllDirectories).ToArray(); + if (projectFiles.Length == 0) + { + continue; + } + + if (projectFiles.Length > 1) + { + logger.LogInformation($"Multiple project files found under directory {target}:"); + } + + logger.LogInformation(string.Join(Environment.NewLine, projectFiles)); + + foreach (var projectFile in projectFiles) + { + // todo: rewrite both directory enumerations to use FileInfo instead of raw strings + yield return self.ProcessProjectFile(new FileInfo(projectFile), null); + projectsProcessed++; + } + } + + if (projectsProcessed == 0) + { + logger.LogCritical("Please specify a project file."); + } + } + } +} diff --git a/appveyor.yml b/appveyor.yml index a065ed3..932c589 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -13,11 +13,8 @@ build: parallel: true verbosity: minimal before_test: -- cmd: dotnet test "Project2015To2017Tests\Project2015To2017Tests.csproj" +- cmd: dotnet test "Project2015To2017.Tests\Project2015To2017.Tests.csproj" after_build: -- cmd: dotnet publish -f netcoreapp2.1 -c Release -o ./out/netcoreapp2.1 ./Project2015To2017.Console/Project2015To2017.Console.csproj -- cmd: dotnet publish -f net461 -c Release -o ./out/net461 ./Project2015To2017.Console/Project2015To2017.Console.csproj -- cmd: 7z a ./Project2015To2017/out/CSProj2015To2017.zip ./Project2015To2017.Console/out/* - cmd: dotnet build /p:Pack=true -c Release ./Project2015To2017.Console/Project2015To2017.Console.csproj - cmd: dotnet publish -f netcoreapp2.1 -c Release -o ./out/netcoreapp2.1 ./Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj - cmd: dotnet publish -f net461 -c Release -o ./out/net461 ./Project2015To2017.Migrate2017.Tool/Project2015To2017.Migrate2017.Tool.csproj @@ -29,8 +26,6 @@ artifacts: name: global-tool-legacy - path: ./Project2015To2017.Migrate2017.Tool/bin/$(configuration)/Project2015To2017.Migrate2017.Tool.**.nupkg name: global-tool - - path: ./Project2015To2017/out/CSProj2015To2017.zip - name: out-zip-legacy - path: ./Project2015To2017/out/dotnet-migrate-2017.zip name: out-zip - path: Project2015To2017\bin\$(configuration)\Project2015To2017.**.nupkg @@ -60,7 +55,7 @@ deploy: description: 'Automatically built release v$(APPVEYOR_BUILD_VERSION).' auth_token: secure: "LYFGDMnT4oJLpCsZUkhL/oTnG3ZpQnsjaTc10DfTf/jbkXtzctRkXEu2ea3YnyqP" - artifact: out-zip,out-zip-legacy + artifact: out-zip draft: true prerelease: true on: