diff --git a/BuildAndTest.proj b/BuildAndTest.proj deleted file mode 100755 index f75f1c3a2..000000000 --- a/BuildAndTest.proj +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - Debug - $(MSBuildThisFileDirectory)bin\$(Configuration)\ - $(MSBuildThisFileDirectory)src\ - $(MSBuildThisFileDirectory)tools\ - - - Build;Test - Build - - - - - Configuration=$(Configuration) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4b44d099d..1d0531051 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -5,10 +5,21 @@ jobs: - job: Debug pool: 'Hosted Windows 2019 with VS2019' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Debug' + - task: VSTest@2 + inputs: + testAssemblyVer2: | + $(Build.SourcesDirectory)\bin\Debug\MICoreUnitTests.dll + $(Build.SourcesDirectory)\bin\Debug\JDbgUnitTests.dll + $(Build.SourcesDirectory)\bin\Debug\SSHDebugTests.dll - task: PublishTestResults@2 inputs: testResultsFormat: 'xUnit' @@ -19,10 +30,21 @@ jobs: - job: Release pool: 'Hosted Windows 2019 with VS2019' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Release' + - task: VSTest@2 + inputs: + testAssemblyVer2: | + $(Build.SourcesDirectory)\bin\Release\MICoreUnitTests.dll + $(Build.SourcesDirectory)\bin\Release\JDbgUnitTests.dll + $(Build.SourcesDirectory)\bin\Release\SSHDebugTests.dll - task: PublishTestResults@2 inputs: testResultsFormat: 'xUnit' @@ -33,18 +55,27 @@ jobs: - job: DesktopDebug pool: 'Hosted Windows 2019 with VS2019' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Desktop.Debug' - - job: DesktopRelease pool: 'Hosted Windows 2019 with VS2019' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Desktop.Release' - job: LabRelease @@ -52,9 +83,14 @@ jobs: variables: TEST_LAB_BUILD: 'true' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Lab.Release' - job: LabDebug @@ -62,7 +98,12 @@ jobs: variables: TEST_LAB_BUILD: 'true' steps: + - task: NuGetCommand@2 + inputs: + command: 'restore' + feedsToUse: 'config' + nugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' - task: MSBuild@1 inputs: - solution: 'BuildAndTest.proj' + solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' configuration: 'Lab.Debug' \ No newline at end of file diff --git a/build.cmd b/build.cmd deleted file mode 100644 index 925beba5d..000000000 --- a/build.cmd +++ /dev/null @@ -1,47 +0,0 @@ -@echo off -setlocal - -:: Note: We've disabled node reuse because it causes file locking issues. -:: The issue is that we extend the build with our own targets which -:: means that that rebuilding cannot successfully delete the task -:: assembly. - -if not defined VisualStudioVersion ( - if defined VS140COMNTOOLS ( - call "%VS140COMNTOOLS%\VsDevCmd.bat" - goto :EnvSet - ) - - echo Error: build.cmd requires Visual Studio 2015 or to be run from a developer command prompt. - exit /b 1 -) - -:EnvSet - -:: Log build command line -set _buildproj=%~dp0BuildAndTest.proj -set _buildlog=%~dp0msbuild.log -set _buildprefix=echo -set _buildpostfix=^> "%_buildlog%" -call :build %* - -:: Build -set _buildprefix= -set _buildpostfix= -call :build %* - -goto :AfterBuild - -:build -%_buildprefix% msbuild "%_buildproj%" /nologo /maxcpucount /verbosity:minimal /nodeReuse:false /fileloggerparameters:Verbosity=normal;LogFile="%_buildlog%" %* %_buildpostfix% -set BUILDERRORLEVEL=%ERRORLEVEL% -goto :eof - -:AfterBuild - -echo. -:: Pull the build summary from the log file -findstr /ir /c:".*Warning(s)" /c:".*Error(s)" /c:"Time Elapsed.*" "%_buildlog%" -echo Build Exit Code = %BUILDERRORLEVEL% - -exit /b %BUILDERRORLEVEL% \ No newline at end of file diff --git a/build/Analyzers.targets b/build/Analyzers.targets index b13b37861..572fad403 100644 --- a/build/Analyzers.targets +++ b/build/Analyzers.targets @@ -2,20 +2,17 @@ false + true ..\IDECodeAnalysis.ruleset - - - - - - - - - + + + + + \ No newline at end of file diff --git a/build/DropFiles.targets b/build/DropFiles.targets index dd3a8f9bd..f49436ce7 100644 --- a/build/DropFiles.targets +++ b/build/DropFiles.targets @@ -1,21 +1,36 @@  - + Microsoft400 StrongName - + + + + Microsoft400 + + + + + + + 3PartySHA2 + None + + + + $(DropRootDir) $(DropRootDir)\$(DropSubDir) - + - + diff --git a/build/all_projects.settings.targets b/build/all_projects.settings.targets index 2005c7f57..5679ba3e6 100755 --- a/build/all_projects.settings.targets +++ b/build/all_projects.settings.targets @@ -15,13 +15,11 @@ $([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..'))\ Debug $(MIEngineRoot)IL\ - $(MIEngineRoot)src\packages $(ILDir)GeneratedAssemblies\ $(MIEngineRoot)bin\$(Configuration)\ $(MIEngineRoot)bin\$(Configuration) $(MIEngineRoot)\tools $(MIEngineRoot)obj\$(Configuration)\$(MSBuildProjectName)\ - $(IntermediateOutputPath)Generated\ diff --git a/build/miengine.settings.targets b/build/miengine.settings.targets index f201e809b..60df521d9 100755 --- a/build/miengine.settings.targets +++ b/build/miengine.settings.targets @@ -9,6 +9,7 @@ + @@ -55,6 +56,11 @@ $(TF_BUILD_BINARIESDIRECTORY)\$(DropConfigurationName) $(BUILD_BINARIESDIRECTORY)\$(DropConfigurationName) $(MIEngineRoot)bin\$(DropConfigurationName)\drop + + + Debug;Release;Desktop.Debug;Desktop.Release;Lab.Debug;Lab.Release + false + false diff --git a/build/miengine.targets b/build/miengine.targets index 95e78972e..c2b931ecf 100755 --- a/build/miengine.targets +++ b/build/miengine.targets @@ -12,10 +12,15 @@ $(BuildDependsOn);GenerateMonoSymbols + + + + + Condition="'$(IsXPlat)' == 'true' AND '$(ShouldGenerateMonoSymbols)' == 'true'" + AfterTargets="Build" > - + @@ -88,4 +93,18 @@ + + + + + "$(windir)\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" + $(IlAsmFlags) /DLL /quiet + + + + diff --git a/build/package_versions.settings.targets b/build/package_versions.settings.targets new file mode 100644 index 000000000..187f5ed95 --- /dev/null +++ b/build/package_versions.settings.targets @@ -0,0 +1,48 @@ + + + 1.0.1 + 15.8.28010 + 16.7.30328.74 + 9.0.1 + 6.0.8 + 16.7.40526.2 + + + 16.7.1 + 2.4.1 + 2.4.3 + 1.3.0 + 2.1.2 + + + 0.4.1 + + + + 15.0.26606 + 15.0.26606 + 10.0.30320 + 11.0.50728 + 12.0.21006 + 9.0.21023 + 15.0.26606 + 15.0.26606 + 15.0.25415 + 15.0.25415 + 15.0.25415 + 10.0.30320 + 11.0.61031 + 12.0.30111 + 8.0.50728 + 9.0.30730 + 7.10.6072 + 15.3.23 + 15.0.26606 + 15.0.26932 + 15.0.392 + 15.0.392 + 16.7.30328.74 + 16.8.3038 + 8.0.2 + + \ No newline at end of file diff --git a/eng/pipelines/VS-release.yml b/eng/pipelines/VS-release.yml new file mode 100644 index 000000000..8b95a726c --- /dev/null +++ b/eng/pipelines/VS-release.yml @@ -0,0 +1,8 @@ +--- +name: $(Date:yyyMMdd).$(Rev:r) +jobs: +- template: ./jobs/VSEng-MicroBuildVS2019.yml + parameters: + JobName: VS_Release + BuildTemplate: 'VS-release' +... \ No newline at end of file diff --git a/eng/pipelines/VSCode-release.yml b/eng/pipelines/VSCode-release.yml new file mode 100644 index 000000000..3ee72373e --- /dev/null +++ b/eng/pipelines/VSCode-release.yml @@ -0,0 +1,8 @@ +--- +name: $(Date:yyyMMdd).$(Rev:r) +jobs: +- template: ./jobs/VSEng-MicroBuildVS2019.yml + parameters: + JobName: VSCode_Release + BuildTemplate: 'VSCode-release' +... \ No newline at end of file diff --git a/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml b/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml new file mode 100644 index 000000000..82e88f563 --- /dev/null +++ b/eng/pipelines/jobs/VSEng-MicroBuildVS2019.yml @@ -0,0 +1,12 @@ +--- +parameters: + JobName: 'VSEng-MicroBuildVS2019' + BuildTemplate: '' + +jobs: +- job: ${{ parameters.JobName }} + pool: + name: VSEng-MicroBuildVS2019 + steps: + - template: ../templates/${{ parameters.BuildTemplate }}.template.yml +... \ No newline at end of file diff --git a/eng/pipelines/resources/signing_exclusion.txt b/eng/pipelines/resources/signing_exclusion.txt new file mode 100644 index 000000000..090319e27 --- /dev/null +++ b/eng/pipelines/resources/signing_exclusion.txt @@ -0,0 +1 @@ +*.xml, Ignoring signing XML files \ No newline at end of file diff --git a/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml b/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml new file mode 100644 index 000000000..d3f93318e --- /dev/null +++ b/eng/pipelines/steps/ArchivePublicSymbolsAndUploadToFileShare.yml @@ -0,0 +1,40 @@ +--- +steps: +# Publish Build Artifacts to FileShare +- task: CopyPublishBuildArtifacts@1 + displayName: Publish Drop + inputs: + CopyRoot: $(Build.BinariesDirectory) + Contents: '**' + ArtifactName: Desktop.Release + ArtifactType: FilePath + TargetPath: $(FileShareDropPath)\$(Build.BuildNumber) + +# Publish Symbols to FileShare +- script: | + mkdir $(FileShareDropPath)\$(Build.BuildNumber)\symbols + displayName: "Create symbols folder" + +# Copy symbols to FileShare +- task: CopyFiles@2 + inputs: + sourceFolder: '$(Build.ArtifactStagingDirectory)/symbols' + contents: '**' + targetFolder: $(FileShareDropPath)\$(Build.BuildNumber)\symbols + +- task: MicroBuildArchiveSymbols@1 + displayName: Index Symbols on Symweb + inputs: + SymbolsFeatureName: MIEngine + SymbolsSymwebProject: VS + SymbolsUncPath: $(FileShareDropPath)\$(Build.BuildNumber)\symbols + SymbolsEmailContacts: $(SymbolsEmailContacts) + +# Update 'latest' static drop +- task: MicroBuildStaticDrop@1 + displayName: Update Static Drop + inputs: + CopyRoot: $(FileShareDropPath)\$(Build.BuildNumber) + Contents: '**' + TargetPath: $(FileShareDropPath)\latest +... \ No newline at end of file diff --git a/eng/pipelines/steps/BuildSolution.yml b/eng/pipelines/steps/BuildSolution.yml new file mode 100644 index 000000000..402286005 --- /dev/null +++ b/eng/pipelines/steps/BuildSolution.yml @@ -0,0 +1,24 @@ +# Restore and Build Solution +--- +parameters: + Solution: '$(Build.SourcesDirectory)\src\MIDebugEngine.sln' + Configuration: 'Release' + BuildArguments: '' + +steps: +- template: ../tasks/NuGetCommand.yml + parameters: + Command: 'restore' + solution: ${{ parameters.Solution }} + FeedsToUse: 'config' + NugetConfigPath: '$(Build.SourcesDirectory)\src\.nuget\NuGet.config' + +- template: ../tasks/MSBuild.yml + parameters: + solution: ${{ parameters.Solution }} + configuration: ${{ parameters.Configuration }} + msbuildArguments: ${{ parameters.BuildArguments }} + env: { + "SIGN_TYPE": "$(SignType)" + } +... \ No newline at end of file diff --git a/eng/pipelines/steps/CollectAndPublishBinaries.yml b/eng/pipelines/steps/CollectAndPublishBinaries.yml new file mode 100644 index 000000000..30d66fbf7 --- /dev/null +++ b/eng/pipelines/steps/CollectAndPublishBinaries.yml @@ -0,0 +1,21 @@ +# Copies the binaries to a folder and publish them +--- +parameters: + TargetFolder: '$(Build.SourcesDirectory)\drop' + ArtifactName: 'drop' + +steps: +- template: ../tasks/CopyFiles.yml + parameters: + displayName: 'Copy Files to: ${{ parameters.TargetFolder }}' + SourceFolder: '$(Build.BinariesDirectory)' + TargetFolder: ${{ parameters.TargetFolder }} + CleanTargetFolder: true + OverWrite: true + +- template: ../tasks/PublishPipelineArtifact.yml + parameters: + displayName: 'Publish Binaries' + path: ${{ parameters.TargetFolder }} + artifactName: '${{ parameters.ArtifactName }}' +... \ No newline at end of file diff --git a/eng/pipelines/steps/CopyAndPublishSymbols.yml b/eng/pipelines/steps/CopyAndPublishSymbols.yml new file mode 100644 index 000000000..133c094bd --- /dev/null +++ b/eng/pipelines/steps/CopyAndPublishSymbols.yml @@ -0,0 +1,17 @@ +# Collects build symbols and publishes them as 'Symbols' +--- +steps: +- template: ../tasks/CopyFiles.yml + parameters: + displayName: 'Collect build symbols' + SourceFolder: '$(Build.SourcesDirectory)' + Contents: '$(Build.SourcesDirectory)\bin\**\*.+(pdb|exe|dll)' + TargetFolder: '$(Build.ArtifactStagingDirectory)/symbols' + CleanTargetFolder: true + +- template: ../tasks/PublishPipelineArtifact.yml + parameters: + displayName: 'Publish Symbols' + path: '$(Build.ArtifactStagingDirectory)/symbols' + artifactName: 'Symbols' +... \ No newline at end of file diff --git a/eng/pipelines/steps/PackAndPublishVSPackages.yml b/eng/pipelines/steps/PackAndPublishVSPackages.yml new file mode 100644 index 000000000..6c131e135 --- /dev/null +++ b/eng/pipelines/steps/PackAndPublishVSPackages.yml @@ -0,0 +1,27 @@ +# Pack and Publish NuGet Packages for VS +# Creates: +# - VS.Redist.Debugger.MDD.MIEngine +# - VS.Redist.Debugger.MDD.UnixPortSupplier +--- +parameters: + BasePath: $(Build.StagingDirectory) + +steps: +- template: ../tasks/NuGetCommand.yml + parameters: + displayName: 'NuGet pack' + command: pack + searchPatternPack: '$(Build.SourcesDirectory)\MIEngine.mdd.nuspec;$(Build.SourcesDirectory)\MIEngine.UnixPortSupplier.nuspec' + configurationToPack: Release + versioningScheme: byEnvVar + versionEnvVar: 'BUILD_BUILDNUMBER' + basePath: ${{ parameters.BasePath }} + +- template: ../tasks/NuGetCommand.yml + parameters: + displayName: 'NuGet push' + command: push + searchPatternPush: '$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.MIEngine.*.nupkg;$(Build.SourcesDirectory)\VS.Redist.Debugger.MDD.UnixPortSupplier.*.nupkg' + feedPublish: '97a41293-2972-4f48-8c0e-05493ae82010' # VS + condition: and(succeeded(), eq(variables['SignType'], 'real')) +... \ No newline at end of file diff --git a/eng/pipelines/tasks/CopyFiles.yml b/eng/pipelines/tasks/CopyFiles.yml new file mode 100644 index 000000000..31354fcfd --- /dev/null +++ b/eng/pipelines/tasks/CopyFiles.yml @@ -0,0 +1,82 @@ +# CopyFiles +# +# Copy files from a source folder to a target folder using patterns matching file paths (not folder paths) +# +# Version: 2.178.0 +# +# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/copy-files +# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/CopyFilesV2/task.json +--- +parameters: + # region Step Configurations + + displayName: 'Copy Files' + enabled: true + continueOnError: false + condition: succeeded() + timeoutInMinutes: 0 + + # endregion + + # region Advanced + + # Clean Target Folder + # + # Delete all existing files in target folder before copy + CleanTargetFolder : false # Optional + + # Overwrite + # + # Replace existing file in target folder + OverWrite : false # Optional + + # Flatten Folders + # + # Flatten the folder structure and copy all files into the specified target folder. + flattenFolders : false # Optional + + # Preserve Target Timestamp + # + # Using the original source file, preserve the target file timestamp. + preserveTimestamp : false # Optional + + # endregion + + # region Ungrouped Configurations + + # Source Folder + # + # The source folder that the copy pattern(s) will be run from. Empty is the root of the repo. Use [variables](https://go.microsoft.com/fwlink/?LinkID=550988) + # if files are not in the repo. Example: $(agent.builddirectory) + SourceFolder : "" # Optional + + # Contents + # + # File paths to include as part of the copy. Supports multiple lines of match patterns. [More Information](https://go.microsoft.com/fwlink/?LinkID=708389) + Contents : | # Required + ** + + # Target Folder + # + # Target folder or UNC path files will copy to. You can use [variables](http://go.microsoft.com/fwlink/?LinkID=550988). + # Example: $(build.artifactstagingdirectory) + TargetFolder : "" # Required + + # endregion + +steps: +- task: CopyFiles@2 + displayName: ${{ parameters.DisplayName }} + inputs: + SourceFolder : ${{ parameters.SourceFolder }} + Contents : ${{ parameters.Contents }} + TargetFolder : ${{ parameters.TargetFolder }} + CleanTargetFolder : ${{ parameters.CleanTargetFolder }} + OverWrite : ${{ parameters.OverWrite }} + flattenFolders : ${{ parameters.flattenFolders }} + preserveTimestamp : ${{ parameters.preserveTimestamp }} + enabled: ${{ parameters.enabled }} + condition: ${{ parameters.condition }} + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + continueOnError: ${{ parameters.continueOnError }} +... diff --git a/eng/pipelines/tasks/MSBuild.yml b/eng/pipelines/tasks/MSBuild.yml new file mode 100644 index 000000000..4e00dcfe7 --- /dev/null +++ b/eng/pipelines/tasks/MSBuild.yml @@ -0,0 +1,142 @@ +# MSBuild +# +# Build with MSBuild +# +# Version: 1.179.0 +# +# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/build/msbuild +# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/MSBuildV1/task.json +--- +parameters: + # region Step Configurations + + displayName: 'Build solution' + enabled: true + env: {} + continueOnError: false + condition: succeeded() + timeoutInMinutes: 0 + + # endregion + + # region Advanced + + # Build in Parallel + # + # If your MSBuild target configuration is compatible with building in parallel, you can optionally check + # this input to pass the /m switch to MSBuild (Windows only). If your target configuration is not compatible + # with building in parallel, checking this option may cause your build to result in file-in-use errors, + # or intermittent or inconsistent build failures. + maximumCpuCount : false # Optional + + # Restore NuGet Packages + # + # This option is deprecated. To restore NuGet packages, add a [NuGet](https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget) + # task before the build. + restoreNugetPackages : false # Optional + + # Record Project Details + # + # Optionally record timeline details for each project (Windows only). + logProjectEvents : false # Optional + + # Create Log File + # + # Optionally create a log file (Windows only). + createLogFile : false # Optional + + # Log File Verbosity + # + # Optional log file verbosity. + # Options: + # quiet + # minimal + # normal + # detailed + # diagnostic + logFileVerbosity : "normal" # Used when createLogFile = true + + # endregion + + # region Ungrouped Configurations + + # Project + # + # Relative path from repo root of the project(s) or solution(s) to run. Wildcards can be used. For example, + # `**/*.csproj` for all csproj files in all sub folders. + solution : "" # Required + + # MSBuild + # Options: + # version + # location + msbuildLocationMethod : "version" # Optional + + # MSBuild Version + # + # If the preferred version cannot be found, the latest version found will be used instead. On an macOS + # agent, xbuild (Mono) will be used if version is lower than 15.0. + # Options: + # latest + # 16.0 + # 15.0 + # 14.0 + # 12.0 + # 4.0 + msbuildVersion : "latest" # Used when msbuildLocationMethod = version + + # MSBuild Architecture + # + # Optionally supply the architecture (x86, x64) of MSBuild to run. + # Options: + # x86 + # x64 + msbuildArchitecture : "x86" # Used when msbuildLocationMethod = version + + # Path to MSBuild + # + # Optionally supply the path to MSBuild. + msbuildLocation : "" # Used when msbuildLocationMethod = location + + # Platform + platform : "" # Optional + + # Configuration + configuration : "" # Optional + + # MSBuild Arguments + # + # Additional arguments passed to MSBuild (on Windows) and xbuild (on macOS). + msbuildArguments : "" # Optional + + # Clean + # + # Run a clean build (/t:clean) prior to the build. + clean : false # Optional + + # endregion + +steps: +- task: MSBuild@1 + displayName: ${{ parameters.DisplayName }} + inputs: + solution : ${{ parameters.solution }} + msbuildLocationMethod : ${{ parameters.msbuildLocationMethod }} + msbuildVersion : ${{ parameters.msbuildVersion }} + msbuildArchitecture : ${{ parameters.msbuildArchitecture }} + msbuildLocation : ${{ parameters.msbuildLocation }} + platform : ${{ parameters.platform }} + configuration : ${{ parameters.configuration }} + msbuildArguments : ${{ parameters.msbuildArguments }} + clean : ${{ parameters.clean }} + maximumCpuCount : ${{ parameters.maximumCpuCount }} + restoreNugetPackages : ${{ parameters.restoreNugetPackages }} + logProjectEvents : ${{ parameters.logProjectEvents }} + createLogFile : ${{ parameters.createLogFile }} + logFileVerbosity : ${{ parameters.logFileVerbosity }} + enabled: ${{ parameters.enabled }} + env: ${{ parameters.env }} + condition: ${{ parameters.condition }} + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + continueOnError: ${{ parameters.continueOnError }} +... diff --git a/eng/pipelines/tasks/MicroBuildCleanup.yml b/eng/pipelines/tasks/MicroBuildCleanup.yml new file mode 100644 index 000000000..b33ff61eb --- /dev/null +++ b/eng/pipelines/tasks/MicroBuildCleanup.yml @@ -0,0 +1,5 @@ +--- +steps: +- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1 + displayName: 'Perform Cleanup Tasks' +... \ No newline at end of file diff --git a/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml b/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml new file mode 100644 index 000000000..78e4a7541 --- /dev/null +++ b/eng/pipelines/tasks/MicroBuildLocalizationPlugin.yml @@ -0,0 +1,5 @@ +--- +steps: +- task: ms-vseng.MicroBuildTasks.a0262b21-fb8f-46f8-bb9a-60ed560d4a87.MicroBuildLocalizationPlugin@2 + displayName: 'Install Localization Plugin' +... \ No newline at end of file diff --git a/eng/pipelines/tasks/MicroBuildSigningPlugin.yml b/eng/pipelines/tasks/MicroBuildSigningPlugin.yml new file mode 100644 index 000000000..625035a41 --- /dev/null +++ b/eng/pipelines/tasks/MicroBuildSigningPlugin.yml @@ -0,0 +1,7 @@ +--- +steps: +- task: ms-vseng.MicroBuildTasks.30666190-6959-11e5-9f96-f56098202fef.MicroBuildSigningPlugin@2 + displayName: 'Install Signing Plugin' + inputs: + signType: $(SignType) +... \ No newline at end of file diff --git a/eng/pipelines/tasks/NuGetCommand.yml b/eng/pipelines/tasks/NuGetCommand.yml new file mode 100644 index 000000000..9ec464e4d --- /dev/null +++ b/eng/pipelines/tasks/NuGetCommand.yml @@ -0,0 +1,311 @@ +# NuGetCommand +# +# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds +# like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and +# .NET Standard apps, use the .NET Core task. +# +# Version: 2.179.0 +# +# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/package/nuget +# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/NuGetCommandV2/task.json +--- +parameters: + # region Step Configurations + + displayName: 'NuGet Command' + enabled: true + continueOnError: false + condition: succeeded() + timeoutInMinutes: 0 + + # endregion + + # region Feeds and authentication + + # Feeds to use + # + # You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file + # to your source code repository and set its path here. + # Options: + # select + # config + selectOrConfig : "select" # Required + + # Use packages from this Azure Artifacts/TFS feed + # + # Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and + # licensed to select a feed here. + feedRestore : "" # Used when selectOrConfig = select + + # Use packages from NuGet.org + # + # Include NuGet.org in the generated NuGet.config. + includeNuGetOrg : true # Used when selectOrConfig = select + + # Path to NuGet.config + # + # The NuGet.config in your repository that specifies the feeds from which to restore packages. + nugetConfigPath : "" # Used when selectOrConfig = config + + # Credentials for feeds outside this organization/collection + # + # Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, + # leave this blank; the build’s credentials are used automatically. + externalEndpoints : "" # Used when selectOrConfig = config + + # endregion + + # region Advanced + + # Disable local cache + # + # Prevents NuGet from using packages from local machine caches. + noCache : false # Required + + # Disable parallel processing + # + # Prevents NuGet from installing multiple packages in parallel. + disableParallelProcessing : false # Required + + # Destination directory + # + # Specifies the folder in which packages are installed. If no folder is specified, packages are restored + # into a packages/ folder alongside the selected solution, packages.config, or project.json. + packagesDirectory : "" # Required + + # Verbosity + # + # Specifies the amount of detail displayed in the output. + # Options: + # Quiet + # Normal + # Detailed + verbosityRestore : "Detailed" # Required + + # endregion + + # region Advanced + + # Publish pipeline metadata + # + # Associate this build/release pipeline’s metadata (run #, source code information) with the package + publishPackageMetadata : true # Used when command = push && nuGetFeedType = internal + + # Verbosity + # + # Specifies the amount of detail displayed in the output. + # Options: + # Quiet + # Normal + # Detailed + verbosityPush : "Detailed" # Required + + # endregion + + # region Pack options + + # Automatic package versioning + # + # Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate + # a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where + # you choose X, Y, and Z.If you choose 'Use an environment variable', you must select an environment variable + # and ensure it contains the version number you want to use.If you choose 'Use the build number', this + # will use the build number to version your package. **Note:** Under Options set the build number format + # to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'. + # Options: + # off + # byPrereleaseNumber + # byEnvVar + # byBuildNumber + versioningScheme : "off" # Required + + # Include referenced projects + # + # Include referenced projects either as dependencies or as part of the package. Cannot be used with automatic + # package versioning. If a referenced project has a corresponding nuspec file that has the same name as + # the project, then that referenced project is added as a dependency. Otherwise, the referenced project + # is added as part of the package. [Learn more](https://docs.microsoft.com/en-us/nuget/tools/cli-ref-pack). + includeReferencedProjects : false # Used when versioningScheme = off + + # Environment variable + # + # Enter the variable name without $, $env, or %. + versionEnvVar : "" # Used when versioningScheme = byEnvVar + + # Major + # + # The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html) + requestedMajorVersion : "1" # Used when versioningScheme = byPrereleaseNumber + + # Minor + # + # The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html) + requestedMinorVersion : "0" # Used when versioningScheme = byPrereleaseNumber + + # Patch + # + # The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html) + requestedPatchVersion : "0" # Used when versioningScheme = byPrereleaseNumber + + # Time zone + # + # Specifies the desired time zone used to produce the version of the package. Selecting UTC is recommended + # if you're using hosted build agents as their date and time might differ. + # Options: + # utc + # local + packTimezone : "utc" # Used when versioningScheme = byPrereleaseNumber + + # Create symbols package + # + # Specifies that the package contains sources and symbols. When used with a .nuspec file, this creates + # a regular NuGet package file and the corresponding symbols package. + includeSymbols : false # Optional + + # Tool Package + # + # Determines if the output files of the project should be in the tool folder. + toolPackage : false # Optional + + # endregion + + # region Advanced + + # Additional build properties + # + # Specifies a list of token=value pairs, separated by semicolons, where each occurrence of $token$ in the + # .nuspec file will be replaced with the given value. Values can be strings in quotation marks. + buildProperties : "" # Optional + + # Base path + # + # The base path of the files defined in the nuspec file. + basePath : "" # Optional + + # Verbosity + # + # Specifies the amount of detail displayed in the output. + # Options: + # Quiet + # Normal + # Detailed + verbosityPack : "Detailed" # Required + + # endregion + + # region Ungrouped Configurations + + # Command + # + # The NuGet command to run. Select 'Custom' to add arguments or to use a different command. + # Options: + # restore + # pack + # push + # custom + command : "restore" # Required + + # Path to solution, packages.config, or project.json + # + # The path to the solution, packages.config, or project.json file that references the packages to be restored. + solution : "" # Used when command = restore + + # Path to NuGet package(s) to publish + # + # The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon. + searchPatternPush : "" # Used when command = push + + # Target feed location + # Options: + # internal + # external + nuGetFeedType : "internal" # Used when command = push + + # Target feed + # + # Select a feed hosted in this account. You must have Azure Artifacts installed and licensed to select + # a feed here. + feedPublish : "" # Used when command = push && nuGetFeedType = internal + + # Allow duplicates to be skipped + # + # If you continually publish a set of packages and only change the version number of the subset of packages + # that changed, use this option. It allows the task to report success even if some of your packages are + # rejected with 409 Conflict errors.This option is currently only available on Azure Pipelines and using + # Windows agents. If NuGet.exe encounters a conflict, the task will fail. This option will not work and + # publish will fail if you are within a proxy environment. + allowPackageConflicts : false # Used when command = push && nuGetFeedType = internal + + # NuGet server + # + # The NuGet service connection that contains the external NuGet server’s credentials. + externalEndpoint : "" # Used when command = push && nuGetFeedType = external + + # Path to csproj or nuspec file(s) to pack + # + # Pattern to search for csproj directories to pack.You can separate multiple patterns with a semicolon, + # and you can make a pattern negative by prefixing it with '!'. Example: `**\*.csproj;!**\*.Tests.csproj` + searchPatternPack : "" # Used when command = pack + + # Configuration to package + # + # When using a csproj file this specifies the configuration to package + configurationToPack : "$(BuildConfiguration)" # Used when command = pack + + # Package folder + # + # Folder where packages will be created. If empty, packages will be created at the source root. + outputDir : "" # Used when command = pack + + # Command and arguments + # + # The command and arguments which will be passed to NuGet.exe for execution. If NuGet 3.5 or later is used, + # authenticated commands like list, restore, and publish against any feed in this organization/collection + # that the Project Collection Build Service has access to will be automatically authenticated. + arguments : "" # Used when command = custom + + # endregion + +steps: +- task: NuGetCommand@2 + displayName: ${{ parameters.DisplayName }} + inputs: + command : ${{ parameters.command }} + solution : ${{ parameters.solution }} + selectOrConfig : ${{ parameters.selectOrConfig }} + feedRestore : ${{ parameters.feedRestore }} + includeNuGetOrg : ${{ parameters.includeNuGetOrg }} + nugetConfigPath : ${{ parameters.nugetConfigPath }} + externalEndpoints : ${{ parameters.externalEndpoints }} + noCache : ${{ parameters.noCache }} + disableParallelProcessing : ${{ parameters.disableParallelProcessing }} + packagesDirectory : ${{ parameters.packagesDirectory }} + verbosityRestore : ${{ parameters.verbosityRestore }} + searchPatternPush : ${{ parameters.searchPatternPush }} + nuGetFeedType : ${{ parameters.nuGetFeedType }} + feedPublish : ${{ parameters.feedPublish }} + publishPackageMetadata : ${{ parameters.publishPackageMetadata }} + allowPackageConflicts : ${{ parameters.allowPackageConflicts }} + externalEndpoint : ${{ parameters.externalEndpoint }} + verbosityPush : ${{ parameters.verbosityPush }} + searchPatternPack : ${{ parameters.searchPatternPack }} + configurationToPack : ${{ parameters.configurationToPack }} + outputDir : ${{ parameters.outputDir }} + versioningScheme : ${{ parameters.versioningScheme }} + includeReferencedProjects : ${{ parameters.includeReferencedProjects }} + versionEnvVar : ${{ parameters.versionEnvVar }} + requestedMajorVersion : ${{ parameters.requestedMajorVersion }} + requestedMinorVersion : ${{ parameters.requestedMinorVersion }} + requestedPatchVersion : ${{ parameters.requestedPatchVersion }} + packTimezone : ${{ parameters.packTimezone }} + includeSymbols : ${{ parameters.includeSymbols }} + toolPackage : ${{ parameters.toolPackage }} + buildProperties : ${{ parameters.buildProperties }} + basePath : ${{ parameters.basePath }} + verbosityPack : ${{ parameters.verbosityPack }} + arguments : ${{ parameters.arguments }} + enabled: ${{ parameters.enabled }} + condition: ${{ parameters.condition }} + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + continueOnError: ${{ parameters.continueOnError }} +... diff --git a/eng/pipelines/tasks/NuGetToolInstaller.yml b/eng/pipelines/tasks/NuGetToolInstaller.yml new file mode 100644 index 000000000..61e16aa38 --- /dev/null +++ b/eng/pipelines/tasks/NuGetToolInstaller.yml @@ -0,0 +1,50 @@ +# NuGetToolInstaller +# +# Acquires a specific version of NuGet from the internet or the tools cache and adds it to the PATH. Use +# this task to change the version of NuGet used in the NuGet tasks. +# +# Version: 1.179.0 +# +# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/tool/nuget +# Task.json: https://github.com/microsoft/azure-pipelines-tasks/raw/master/Tasks/NuGetToolInstallerV1/task.json +--- +parameters: + # region Step Configurations + + displayName: 'Install NuGet' + enabled: true + continueOnError: false + condition: succeeded() + timeoutInMinutes: 0 + + # endregion + + # region Advanced + + # Version of NuGet.exe to install + # + # A version or version range that specifies the NuGet version to make available on the path. Use x as a + # wildcard. See the [list of available NuGet versions](http://dist.nuget.org/tools.json).If you want to + # match a pre-release version, the specification must contain a major, minor, patch, and pre-release version + # from the list above.Examples: 4.x, 3.3.x, 2.8.6, >=4.0.0-0If unspecified, a version will be chosen automatically. + versionSpec : "" # Optional + + # Always check for new versions + # + # Always check for and download the latest available version of NuGet.exe which satisfies the version spec.Enabling + # this option could cause unexpected build breaks when a new version of NuGet is released. + checkLatest : false # Optional + + # endregion + +steps: +- task: NuGetToolInstaller@1 + displayName: ${{ parameters.DisplayName }} + inputs: + versionSpec : ${{ parameters.versionSpec }} + checkLatest : ${{ parameters.checkLatest }} + enabled: ${{ parameters.enabled }} + condition: ${{ parameters.condition }} + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + continueOnError: ${{ parameters.continueOnError }} +... diff --git a/eng/pipelines/tasks/PublishPipelineArtifact.yml b/eng/pipelines/tasks/PublishPipelineArtifact.yml new file mode 100644 index 000000000..9f8ff7181 --- /dev/null +++ b/eng/pipelines/tasks/PublishPipelineArtifact.yml @@ -0,0 +1,77 @@ +# PublishPipelineArtifact +# +# Publish (upload) a file or directory as a named artifact for the current run +# +# Version: 1.2.3 +# +# Reference: https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/publish-pipeline-artifact +# Task.json: https://raw.githubusercontent.com/microsoft/azure-pipelines-tasks/master/Tasks/PublishPipelineArtifactV1/task.json +--- +parameters: + # region Step Configurations + + displayName: 'Publish Pipeline Artifact' + enabled: true + continueOnError: false + condition: succeeded() + timeoutInMinutes: 0 + + # endregion + + # region Ungrouped Configurations + + # File or directory path + # + # The path of the file or directory to publish. Can be absolute or relative to the default working directory. + # Can include [variables](https://go.microsoft.com/fwlink/?LinkID=550988), but wildcards are not supported. + path : "" # Required + + # Artifact name + # + # Name of the artifact to publish. If not set, defaults to a unique ID scoped to the job. + artifactName : "" # Optional + + # Artifact publish location + # + # Choose whether to store the artifact in Azure Pipelines, or to copy it to a file share that must be accessible + # from the pipeline agent. + # Options: + # pipeline + # filepath + artifactType : "pipeline" # Required + + # File share path + # + # The file share to which the artifact files will be copied. This can include variables. Example: \\\\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber). + # Publishing artifacts from a Linux or macOS agent to a file share is not supported. + fileSharePath : "" # Used when artifactType = filepath + + # Parallel copy + # + # Select whether to copy files in parallel using multiple threads for greater potential throughput. If + # this setting is not enabled, one thread will be used. + parallel : false # Used when artifactType = filepath + + # Parallel count + # + # Enter the degree of parallelism, or number of threads used, to perform the copy. The value must be at + # least 1 and not greater than 128. + parallelCount : 8 # Used when artifactType = filepath && parallel = true + + # endregion + +steps: +- task: PublishPipelineArtifact@1 + displayName: ${{ parameters.DisplayName }} + inputs: + path : ${{ parameters.path }} + artifactName : ${{ parameters.artifactName }} + artifactType : ${{ parameters.artifactType }} + fileSharePath : ${{ parameters.fileSharePath }} + parallel : ${{ parameters.parallel }} + parallelCount : ${{ parameters.parallelCount }} + enabled: ${{ parameters.enabled }} + condition: ${{ parameters.condition }} + timeoutInMinutes: ${{ parameters.timeoutInMinutes }} + continueOnError: ${{ parameters.continueOnError }} +... diff --git a/eng/pipelines/tasks/SignVerify.yml b/eng/pipelines/tasks/SignVerify.yml new file mode 100644 index 000000000..120bfebf1 --- /dev/null +++ b/eng/pipelines/tasks/SignVerify.yml @@ -0,0 +1,13 @@ +--- +parameters: + TargetFolders: '$(Build.BinariesDirectory)' + +steps: +- task: ms-vseng.MicroBuildShipTasks.7c429315-71ba-4cb3-94bb-f829c95f7915.MicroBuildCodesignVerify@3 + displayName: 'Verify Signed Files' + inputs: + TargetFolders: | + ${{ parameters.TargetFolders }} + ApprovalListPathForCerts: '$(Build.SourcesDirectory)\eng\pipelines\resources\signing_exclusion.txt' + condition: and(succeeded(), eq(variables['SignType'], 'real')) +... \ No newline at end of file diff --git a/eng/pipelines/templates/VS-release.template.yml b/eng/pipelines/templates/VS-release.template.yml new file mode 100644 index 000000000..1147036ad --- /dev/null +++ b/eng/pipelines/templates/VS-release.template.yml @@ -0,0 +1,31 @@ +--- +steps: +- checkout: self + +- template: ../tasks/NuGetToolInstaller.yml + +- template: ../tasks/MicroBuildSigningPlugin.yml + +- template: ../tasks/MicroBuildLocalizationPlugin.yml + +- template: ../steps/BuildSolution.yml + parameters: + Configuration: 'Lab.Release' + +- template: ../steps/CollectAndPublishBinaries.yml + parameters: + TargetFolder: '$(Build.StagingDirectory)\drop' + ArtifactName: 'drop' + +- template: ../tasks/SignVerify.yml + parameters: + TargetFolders: '$(Build.StagingDirectory)\drop' + +- template: ../steps/CopyAndPublishSymbols.yml + +- template: ../steps/PackAndPublishVSPackages.yml + parameters: + BasePath: $(Build.StagingDirectory) + +- template: ../tasks/MicroBuildCleanup.yml +... \ No newline at end of file diff --git a/eng/pipelines/templates/VSCode-release.template.yml b/eng/pipelines/templates/VSCode-release.template.yml new file mode 100644 index 000000000..cf59706f7 --- /dev/null +++ b/eng/pipelines/templates/VSCode-release.template.yml @@ -0,0 +1,28 @@ +--- +steps: +- checkout: self + +- template: ../tasks/NuGetToolInstaller.yml + +- template: ../tasks/MicroBuildSigningPlugin.yml + +- template: ../steps/BuildSolution.yml + parameters: + Configuration: 'Desktop.Release' + BuildArguments: '/p:Lab=$(Lab)' + +- template: ../steps/CollectAndPublishBinaries.yml + parameters: + TargetFolder: '$(Build.StagingDirectory)\bin' + ArtifactName: 'bin' + +- template: ../tasks/SignVerify.yml + parameters: + TargetFolders: '$(Build.StagingDirectory)\bin' + +- template: ../steps/CopyAndPublishSymbols.yml + +- template: ../steps/ArchivePublicSymbolsAndUploadToFileShare.yml + +- template: ../tasks/MicroBuildCleanup.yml +... \ No newline at end of file diff --git a/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj b/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj index a393e1156..aabcbd4be 100755 --- a/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj +++ b/src/AndroidDebugLauncher/AndroidDebugLauncher.csproj @@ -1,7 +1,5 @@ - - - - + + Debug AnyCPU @@ -10,7 +8,7 @@ Properties AndroidDebugLauncher Microsoft.AndroidDebugLauncher - v4.6.2 + net462 512 $(MIDefaultOutputPath) @@ -48,44 +46,19 @@ prompt MinimumRecommendedRules.ruleset - + + + + + + False $(GeneratedAssembliesDir)libadb.dll - - - - - - - - - - - - - - - True - True - LauncherResources.resx - - - - - - - - - - - - - - - + + PreserveNewest @@ -93,7 +66,8 @@ Always - + + {ea876a2d-ab0f-4204-97dd-dfb3b5568978} DebugEngineHost.Stub @@ -108,17 +82,11 @@ MICore - - - ResXFileCodeGenerator - LauncherResources.Designer.cs - Designer - - + - + 1.0.0 - - - 14.0 Debug AnyCPU {EA876A2D-AB0F-4204-97DD-DFB3B5568978} - Library Properties Microsoft.DebugEngineHost Microsoft.DebugEngineHost @@ -25,7 +20,7 @@ of DebugEngineHost, so we don't want to conflict with the real version. --> bin\$(Configuration) $(DropRootDir)\ReferenceAssemblies\$(AssemblyName).xml - v4.6.2 + net462 true @@ -74,24 +69,21 @@ prompt 4 - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - - - - - + + + + + ReferenceAssemblies + - + - 1.0.0 - - - 14.0 Desktop.Debug @@ -24,7 +20,7 @@ $(MIDefaultOutputPath)\vscode vscode true - v4.6.2 + net462 true @@ -74,60 +70,28 @@ 4 false - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - - - $(NuGetPackagesDirectory)\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - - - - - - - - - - - - - - - - - True - True - HostResources.resx - - - - - - - + + + + + + - - - ResXFileCodeGenerator - HostResources.Designer.cs - - + + - + - \ No newline at end of file diff --git a/src/DebugEngineHost.VSCode/packages.config b/src/DebugEngineHost.VSCode/packages.config deleted file mode 100644 index 5ee637adf..000000000 --- a/src/DebugEngineHost.VSCode/packages.config +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/DebugEngineHost/DebugEngineHost.csproj b/src/DebugEngineHost/DebugEngineHost.csproj index b5e9eb05d..dce9527f5 100755 --- a/src/DebugEngineHost/DebugEngineHost.csproj +++ b/src/DebugEngineHost/DebugEngineHost.csproj @@ -1,13 +1,10 @@ - - + 1.0.0 - - Debug AnyCPU @@ -16,7 +13,7 @@ Properties Microsoft.DebugEngineHost Microsoft.DebugEngineHost - v4.6.2 + net462 512 $(MIDefaultOutputPath) @@ -60,117 +57,108 @@ prompt 4 - - - False - False - $(NugetPackagesDirectory)\Microsoft.VisualStudio.ComponentModelHost.15.0.26201\lib\net45\Microsoft.VisualStudio.ComponentModelHost.dll - - - False - - $(MicrosoftVisualStudioDebuggerEnginePath) - - - False - - - False - - - False - - - False - - - False - + + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + + + + + + + $(GeneratedAssembliesDir)Microsoft.Internal.VisualStudio.Shell.Interop.14.0.DesignTime.dll True - - False - - - False - - - False - - - True - - - True - - - True - - - False - - - False - - - False - - - False - - - False - false - $(NugetPackagesDirectory)\Microsoft.VisualStudio.Workspace.15.0.392\lib\net46\Microsoft.VisualStudio.Workspace.dll - - - False - false - $(NugetPackagesDirectory)\Microsoft.VisualStudio.Workspace.VSIntegration.15.0.392\lib\net46\Microsoft.VisualStudio.Workspace.VSIntegration.Contracts.dll - - - - - - - - - - - - - - - - - True - True - Resource.resx - - - - - - - - - - - + - - - ResXFileCodeGenerator - Resource.Designer.cs - - - + + diff --git a/src/DebugEngineHost/packages.config b/src/DebugEngineHost/packages.config deleted file mode 100644 index 3254dd00f..000000000 --- a/src/DebugEngineHost/packages.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/IOSDebugLauncher/IOSDebugLauncher.csproj b/src/IOSDebugLauncher/IOSDebugLauncher.csproj index 2d005c292..4f51160f9 100755 --- a/src/IOSDebugLauncher/IOSDebugLauncher.csproj +++ b/src/IOSDebugLauncher/IOSDebugLauncher.csproj @@ -1,7 +1,5 @@ - - - - + + Debug AnyCPU @@ -10,7 +8,7 @@ Properties IOSDebugLauncher Microsoft.IOSDebugLauncher - v4.6.2 + net462 512 $(MIDefaultOutputPath) @@ -46,50 +44,27 @@ prompt MinimumRecommendedRules.ruleset - - - $(NuGetPackagesDirectory)\Newtonsoft.Json.6.0.8\lib\portable-net45+wp80+win8+wpa81+aspnetcore50\Newtonsoft.Json.dll - True - - - - - - - - - - + + + - - - - - - True - True - LauncherResources.resx - - - - - + + + + False + + + False + - + + Always - - - ResXFileCodeGenerator - LauncherResources.Designer.cs - - - - - - + + {ea876a2d-ab0f-4204-97dd-dfb3b5568978} DebugEngineHost.Stub @@ -100,7 +75,7 @@ MICore - + $(NoWarn);1591 true - v4.6.2 + net462 true @@ -75,21 +73,20 @@ prompt MinimumRecommendedRules.ruleset - - - - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - + + + - - $(NuGetPackagesDirectory)/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll - True + + + + + + False - + + {ea876a2d-ab0f-4204-97dd-dfb3b5568978} DebugEngineHost.Stub @@ -102,10 +99,17 @@ False + + + + + + LaunchOptions.xsd.types.designer.cs LaunchOptions.xsd.types.designer.desktop.cs + @@ -114,67 +118,13 @@ osxlaunchhelper.scpt - - - - - - - - - - - - - - - - - True - LaunchOptions.xsd - - - - True - True - MICoreResources.resx - - - - - - - - - - - - - - - - - - - - - - - - - - - PublicResXFileCodeGenerator - MICoreResources.Designer.cs - Designer - - + - + - + + - - + + - - 14.0 - $(VisualStudioVersion) - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - Debug - - $(MIDefaultOutputPath) - - - true - full - false - $(DefineConstants);DEBUG;TRACE - prompt - 4 - AnyCPU - - - pdbonly - true - $(DefineConstants);TRACE - prompt - 4 - - - true - $(DefineConstants);DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - $(DefineConstants);CODE_ANALYSIS;TRACE - true - pdbonly - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - full - false - $(DefineConstants);DEBUG;TRACE - prompt - 4 - AnyCPU - - - pdbonly - true - $(DefineConstants);TRACE - prompt - 4 - - - - - AnyCPU - 2.0 - {4F38F986-5C93-44CB-A387-AEF3737E6D22} - {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties + net462 Microsoft.MIDebugPackage Microsoft.MIDebugPackage - v4.6.2 + $(MIDefaultOutputPath) + + true + + + true + true + true + true $(AssemblyName).DoNotInstall.vsix - - + + Program $(DevEnvDir)devenv.exe /rootsuffix Exp - - - $(VsSDKInstall)\VisualStudioIntegration\Common\inc - $(VsSDKInstall)\VisualStudioIntegration\Tools\bin - - - - - False - - - False - - - False - - - False - - - False - - - true - - - true - - - False - - - False - - - False - - - False - + + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + + compile + all + + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + - - False - - - False - - - False - - - False - - - - - - - - - - - - - True - True - Resources.resx - - - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - true - VSPackage - + + compile + all + + + + + Always true - - Designer - - Designer - - + Menus.ctmenu - - - - - - + $(VS) @@ -201,12 +119,14 @@ false + $(MIEngineRoot)loc\LCI\OpenFolderSchema.json.lci $(MIEngineRoot)loc\LCL\{Lang}\OpenFolderSchema.json.lcl + $(DropRootDir)\loc\ @@ -259,14 +179,15 @@ - + + - + @@ -289,7 +210,7 @@ - + @@ -298,7 +219,8 @@ - + + {54c33afa-438d-4932-a2f0-d0f2bb2fadc9} MICore @@ -348,20 +270,15 @@ vscode - - true - - + + + + - - - - - \ No newline at end of file diff --git a/src/MIDebugPackage/packages.config b/src/MIDebugPackage/packages.config deleted file mode 100644 index 0f3ef5219..000000000 --- a/src/MIDebugPackage/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/src/MIDebugPackage/packages.props b/src/MIDebugPackage/packages.props deleted file mode 100644 index 5bb878e8b..000000000 --- a/src/MIDebugPackage/packages.props +++ /dev/null @@ -1,10 +0,0 @@ - - - - 15.0.26606 - 15.0.26606 - 15.3.20 - 15.0.26606 - - - \ No newline at end of file diff --git a/src/MakePIAPortable/MakePIAPortable.csproj b/src/MakePIAPortable/MakePIAPortable.csproj index 34b734c2a..484c78b7c 100644 --- a/src/MakePIAPortable/MakePIAPortable.csproj +++ b/src/MakePIAPortable/MakePIAPortable.csproj @@ -1,21 +1,16 @@ - - - - + - - Debug + Desktop.Debug AnyCPU {114039A0-87B5-425B-90C9-6AFC1960A247} Exe MakePIAPortable MakePIAPortable - v4.6.2 + net462 512 true true - true $(MIDefaultOutputPath)\PIA Exe $(OutputPath)\drop\ @@ -37,25 +32,13 @@ 4 true - - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.10.0.dll - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.11.0.dll - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.12.0.dll - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.15.0.15.8.28010/lib/net20/Microsoft.VisualStudio.Debugger.Interop.15.0.dll - + + + + + + @@ -90,16 +73,11 @@ - - - Always - - \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj b/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj index 6fe46c0a7..40dbe97ea 100644 --- a/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj +++ b/src/Microsoft.VisualStudio.Debugger.Interop.DAP/Microsoft.VisualStudio.Debugger.Interop.DAP.csproj @@ -1,9 +1,5 @@ - - - + - - Debug AnyCPU @@ -19,7 +15,7 @@ pdbonly true false - v4.6.2 + net462 false @@ -57,21 +53,16 @@ AnyCPU prompt - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - - - - - + + + + + ReferenceAssemblies - + - \ No newline at end of file diff --git a/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj b/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj index 543e7fe4a..e7cb2d91c 100644 --- a/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj +++ b/src/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier/Microsoft.VisualStudio.Debugger.Interop.UnixPortSupplier.DesignTime.csproj @@ -1,9 +1,5 @@ - - - + - - 14.0 Debug @@ -25,7 +21,7 @@ pdbonly true false - v4.6.2 + net462 false @@ -63,25 +59,21 @@ AnyCPU prompt - - - - - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - + + + + + ReferenceAssemblies + - + - + - 14.0 Desktop.Debug @@ -12,7 +8,6 @@ OpenDebugAD7 OpenDebugAD7 ..\ - true Properties en-US 512 @@ -22,7 +17,7 @@ $(MIDefaultOutputPath)\vscode Exe vscode - v4.6.2 + net462 App.VSCode.config App.VS.config @@ -76,86 +71,18 @@ 4 false - - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.OLE.Interop.16.7.30328.74/lib/net45/Microsoft.VisualStudio.OLE.Interop.dll - true - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.InteropA.dll - true - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.10.0.dll - true - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.11.0.dll - true - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.Portable.1.0.1/lib/portable-net45+net46+dnxcore50/Microsoft.VisualStudio.Debugger.Interop.12.0.dll - true - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Debugger.Interop.15.0.15.8.28010/lib/net20/Microsoft.VisualStudio.Debugger.Interop.15.0.dll - true - - - - $(NuGetPackagesDirectory)/Microsoft.VisualStudio.Shared.VsCodeDebugProtocol.16.7.40526.2/lib/net45/Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.dll - true - - - $(NuGetPackagesDirectory)\Newtonsoft.Json.9.0.1\lib\portable-net45+wp80+win8+wpa81\Newtonsoft.Json.dll - true - - - - - - - - - - - - True - True - AD7Resources.resx - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - - ResXFileCodeGenerator - AD7Resources.Designer.cs - - - + + {81de2423-fb5e-4069-b3c5-4c13ce76dc0a} DebugEngineHost.VSCode @@ -166,15 +93,16 @@ True - + + - + - + @@ -196,9 +124,7 @@ PreserveNewest - - diff --git a/src/OpenDebugAD7/packages.config b/src/OpenDebugAD7/packages.config deleted file mode 100644 index 8ad551833..000000000 --- a/src/OpenDebugAD7/packages.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/src/SSHDebugPS/SSHDebugPS.csproj b/src/SSHDebugPS/SSHDebugPS.csproj index 7ef6ba3ce..52b455659 100644 --- a/src/SSHDebugPS/SSHDebugPS.csproj +++ b/src/SSHDebugPS/SSHDebugPS.csproj @@ -1,9 +1,5 @@ - - - + - - Debug AnyCPU @@ -16,201 +12,90 @@ 512 {FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} $(MIDefaultOutputPath) - v4.6.2 - - - true - full - false - $(DefineConstants);DEBUG;TRACE - prompt - 4 - true - - - pdbonly - true - $(DefineConstants);TRACE - prompt - 4 - true - - - true - $(DefineConstants);DEBUG;TRACE - full - AnyCPU - prompt - true - - - $(DefineConstants);TRACE - true - pdbonly - AnyCPU - prompt + net462 + true true + + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + compile + all + + + + compile + all + + + compile + all + + + compile + all + + + + compile + all + + + + + + + + + $(GeneratedAssembliesDir)liblinux.dll False - - $(NuGetPackagesDirectory)\Microsoft.VisualStudio.ImageCatalog.$(Microsoft_VisualStudio_Shell_15_0_Version)\lib\net45\Microsoft.VisualStudio.ImageCatalog.dll - False - - - $(NuGetPackagesDirectory)\Microsoft.VisualStudio.Imaging.$(Microsoft_VisualStudio_Shell_15_0_Version)\lib\net45\Microsoft.VisualStudio.Imaging.dll - False - $(GeneratedAssembliesDir)Microsoft.VisualStudio.Linux.ConnectionManager.Contracts.dll False - - False - - - False - - - $(NuGetPackagesDirectory)\EnvDTE.8.0.2\lib\net10\EnvDTE.dll - False - - - False - - - $(NuGetPackagesDirectory)\Microsoft.VisualStudio.Shell.Interop.8.0.8.0.50727\lib\Microsoft.VisualStudio.Shell.Interop.8.0.dll - False - - - True - - - False - - - False - - - ..\packages\Microsoft.VisualStudio.Utilities.15.0.26606\lib\net45\Microsoft.VisualStudio.Utilities.dll - - - - - $(NuGetPackagesDirectory)/Newtonsoft.Json.6.0.8/lib/portable-net45+wp80+win8+wpa81+aspnetcore50/Newtonsoft.Json.dll - false - - - - - - - - - - - - - - 4.0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ContainerPickerDialogWindow.xaml - - - - - - - True - True - UIResources.resx - - - - - - - - - - - - - - - - - - - - - - - True - True - StringResources.resx - - - - - - + Always - - - PublicResXFileCodeGenerator - UIResources.Designer.cs - Microsoft.SSHDebugPS - Designer - - - ResXFileCodeGenerator - StringResources.Designer.cs - Designer - - - + + {ea876a2d-ab0f-4204-97dd-dfb3b5568978} DebugEngineHost.Stub @@ -227,17 +112,6 @@ False - - - Designer - MSBuild:Compile - - - - - - - \ No newline at end of file diff --git a/src/SSHDebugPS/packages.config b/src/SSHDebugPS/packages.config deleted file mode 100644 index 50a34dd53..000000000 --- a/src/SSHDebugPS/packages.config +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/src/SSHDebugTests/SSHDebugUnitTests.csproj b/src/SSHDebugTests/SSHDebugUnitTests.csproj index 93e122174..d346a894e 100644 --- a/src/SSHDebugTests/SSHDebugUnitTests.csproj +++ b/src/SSHDebugTests/SSHDebugUnitTests.csproj @@ -1,5 +1,4 @@ - - + Debug @@ -9,7 +8,7 @@ Properties SSHDebugTests SSHDebugTests - v4.6.2 + net462 512 {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10.0 @@ -52,53 +51,25 @@ prompt true - - + + + + compile + - - - - - - - - - - - - - - - - - - - + + {15bcbef4-1c2b-412b-925b-34a049097e62} SSHDebugPS + + {ea876a2d-ab0f-4204-97dd-dfb3b5568978} + DebugEngineHost.Stub + False + - - - - - False - - - False - - - False - - - False - - - - - - + + - 14.0 Desktop.Debug @@ -12,7 +8,6 @@ WindowsDebugLauncher WindowsDebugLauncher ..\ - true Properties en-US 512 @@ -20,7 +15,7 @@ Program $(MIDefaultOutputPath)\vscode vscode - v4.6.2 + net462 Exe @@ -40,26 +35,23 @@ 4 true - - - + + + + - - - - + - + - diff --git a/src/prebuild/packages.config b/src/prebuild/packages.config deleted file mode 100644 index c604f5800..000000000 --- a/src/prebuild/packages.config +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/src/prebuild/prebuild.csproj b/src/prebuild/prebuild.csproj deleted file mode 100755 index d2d025a13..000000000 --- a/src/prebuild/prebuild.csproj +++ /dev/null @@ -1,64 +0,0 @@ - - - - - Debug - AnyCPU - {95C0421F-D4C1-46E8-9177-6DAA4D71D0F2} - false - - - - - - - - - - - - false - - - - - "$(windir)\Microsoft.NET\Framework\v4.0.30319\ilasm.exe" - $(IlAsmFlags) /DLL /quiet - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file