Move CI to GitHub Actions, use modern .NET project (#67)

This commit is contained in:
Alexander Köplinger 2020-10-07 20:21:54 +02:00 коммит произвёл GitHub
Родитель b8dc74456a
Коммит 14ab7f9912
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
30 изменённых файлов: 207 добавлений и 460 удалений

84
.github/workflows/build.yml поставляемый
Просмотреть файл

@ -1 +1,85 @@
name: Extension CI
on:
push:
branches:
- master
tags:
- 'v*'
pull_request:
branches:
- master
release:
types:
- published
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: '14.x'
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.301
- name: Install NPM packages
run: npm install
- name: Build VSIX
run: make
- name: Set VSIX name variable
id: vsix_name
run: echo "::set-output name=filename::$(ls mono-debug-*.vsix)"
- name: Run tests
uses: GabrielBB/xvfb-action@v1.4
with:
run: make run-tests
- name: Upload CI VSIX
if: github.ref == 'refs/heads/master'
uses: actions/upload-artifact@v2
with:
name: mono-debug-${{ env.GITHUB_SHA }}.vsix
path: ${{ steps.vsix_name.outputs.filename }}
- name: Create Release
if: success() && startsWith(github.ref, 'refs/tags/v')
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release VSIX
if: success() && startsWith(github.ref, 'refs/tags/v')
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ${{ steps.vsix_name.outputs.filename }}
asset_name: ${{ steps.vsix_name.outputs.filename }}
asset_content_type: application/zip
- name: Publish to VS Marketplace
if: success() && startsWith(github.ref, 'refs/tags/v')
run: make publish
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}

6
.gitignore поставляемый
Просмотреть файл

@ -1,10 +1,10 @@
/out/
/extension/
/upload/
/bin/
bin/
/node_modules/
/packages/
/obj/
obj/
/mono-debug-*/
*.vsix
*.zip
@ -13,4 +13,4 @@
mono-debug.userprefs
npm-debug.log
.vs/
/.DS_Store
.DS_Store

Просмотреть файл

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageSources>
<add key="nuget.org" value="https://www.nuget.org/api/v2/" />
</packageSources>
</configuration>

Двоичные данные
.nuget/NuGet.exe

Двоичный файл не отображается.

Просмотреть файл

@ -1,144 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
<!-- Enable the restore command to run before builds -->
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
<!-- Property that enables building a package from a project -->
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
<!-- Determines if package restore consent is required to restore packages -->
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
<!-- Download NuGet.exe if it does not already exist -->
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageSources)' == '' ">
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
<!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
<!--
<PackageSource Include="https://www.nuget.org/api/v2/" />
<PackageSource Include="https://my-nuget-source/nuget/" />
-->
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
<!-- Windows specific commands -->
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
</PropertyGroup>
<PropertyGroup>
<PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
<PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
</PropertyGroup>
<PropertyGroup>
<PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
<PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
</PropertyGroup>
<PropertyGroup>
<!-- NuGet command -->
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
<NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
<PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
<PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
<!-- We need to ensure packages are restored prior to assembly resolve -->
<BuildDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(BuildDependsOn);
</BuildDependsOn>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>
<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
<!--
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
This effectively acts as a lock that makes sure that the download operation will only happen once and all
parallel builds will have to wait for it to complete.
-->
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
</Target>
<Target Name="_DownloadNuGet">
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
</Target>
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />
<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Net" />
<Using Namespace="Microsoft.Build.Framework" />
<Using Namespace="Microsoft.Build.Utilities" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
OutputFilename = Path.GetFullPath(OutputFilename);
Log.LogMessage("Downloading latest version of NuGet.exe...");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
return true;
}
catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
</Project>

Просмотреть файл

@ -1,23 +0,0 @@
language: csharp
mono:
- latest
solution: mono-debug.sln
git:
submodules: true
before_install:
- git clone https://github.com/creationix/nvm.git ./.nvm
- source ./.nvm/nvm.sh
- nvm install 14
- nvm use 14
install:
- nuget restore mono-debug.sln
- nuget restore external/debugger-libs/debugger-libs.sln
- npm install
script:
- npm test

Просмотреть файл

@ -5,10 +5,10 @@ MONO_DEBUG_DEBUG = "./bin/Debug/mono-debug.exe"
all: vsix
@echo "vsix created"
vsix: $MONO_DEBUG_RELEASE
vsix: build
./node_modules/.bin/vsce package
publish: $MONO_DEBUG_RELEASE
publish:
./node_modules/.bin/vsce publish
build: $MONO_DEBUG_RELEASE
@ -20,16 +20,25 @@ debug: $MONO_DEBUG_DEBUG
@echo "build finished"
$MONO_DEBUG_RELEASE:
msbuild /p:Configuration=Release mono-debug.sln
msbuild /v:minimal /restore /p:Configuration=Release src/csharp/mono-debug.csproj
$MONO_DEBUG_DEBUG:
msbuild /p:Configuration=Debug mono-debug.sln
msbuild /v:minimal /restore /p:Configuration=Debug src/csharp/mono-debug.csproj
tests:
cd testdata/simple; make
cd testdata/output; make
cd testdata/simple_break; make
cd testdata/fsharp; make
dotnet build /nologo testdata/simple
dotnet build /nologo testdata/output
dotnet build /nologo testdata/simple_break
dotnet build /nologo testdata/fsharp
run-tests: tests
node_modules/.bin/mocha --timeout 10000 -u tdd ./out/tests
lint:
node_modules/.bin/eslint . --ext .ts,.tsx
watch:
node_modules/.bin/tsc -w -p ./src/typescript
clean:
git clean -xfd

Просмотреть файл

@ -1,31 +0,0 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("mono-debug")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Visual Studio Code")]
[assembly: AssemblyCopyright("Copyright © 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

Просмотреть файл

@ -6,7 +6,7 @@ A simple VS Code debugger extension for the Mono VM. Its implementation was insp
## Installing Mono
You can either download the latest Mono version for Linux, macOS, or Windows at [Mono project](http://www.mono-project.com/download/) or you can use your package manager.
You can either download the latest Mono version for Linux, macOS, or Windows at the [Mono project website](https://www.mono-project.com/download/) or you can use your package manager.
* On OS X: `brew install mono`
* On Linux: `sudo apt-get install mono-complete`
@ -15,13 +15,13 @@ You can either download the latest Mono version for Linux, macOS, or Windows at
To enable debugging of Mono based C# (and F#) programs, you have to pass the `-debug` option to the compiler:
```
mcs -debug Program.cs
```bash
csc -debug Program.cs
```
If you want to attach the VS Code debugger to a Mono program, pass these additional arguments to the Mono runtime:
```
```bash
mono --debug --debugger-agent=transport=dt_socket,server=y,address=127.0.0.1:55555 Program.exe
```
@ -44,21 +44,21 @@ The corresponding attach `launch.json` configuration looks like this:
## Building the mono-debug extension
[![build status](https://travis-ci.org/Microsoft/vscode-mono-debug.svg?branch=master)](https://travis-ci.org/Microsoft/vscode-mono-debug)
[![build status](https://github.com/microsoft/vscode-mono-debug/workflows/Extension%20CI/badge.svg)](https://github.com/microsoft/vscode-mono-debug/actions)
Building and using VS Code mono-debug requires a basic POSIX-like environment, a Bash-like
shell, and an installed Mono framework.
First, clone the mono-debug project:
```
$ git clone https://github.com/Microsoft/vscode-mono-debug
```bash
$ git clone https://github.com/microsoft/vscode-mono-debug
```
To build the extension vsix, run:
```
```bash
$ cd vscode-mono-debug
$ npm install
$ make
```
```

Просмотреть файл

@ -8,11 +8,11 @@ and licenses under which Microsoft received such components are set forth below.
expressly granted herein, whether by implication, estoppel or otherwise.
1. SDB version 1.4 (https://github.com/mono/sdb)
2. debugger-libs version 9.0.21022 (https://github.com/mono/debugger-libs)
3. newtonsoft.json version 6.0.8 (https://github.com/JamesNK/Newtonsoft.Json)
4. NRefactory version 10.0.0 (https://github.com/icsharpcode/NRefactory)
5. Cecil version 0.9.5.0 (https://github.com/jbevain/cecil)
1. SDB (https://github.com/mono/sdb)
2. Mono debugger-libs (https://github.com/mono/debugger-libs)
3. Newtonsoft.Json (https://github.com/JamesNK/Newtonsoft.Json)
4. NRefactory (https://github.com/xamarin/NRefactory)
5. Cecil (https://github.com/jbevain/cecil)
%% SDB NOTICES AND INFORMATION BEGIN HERE

Просмотреть файл

@ -1,96 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>VSCodeDebug</RootNamespace>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug</OutputPath>
<DefineConstants>DEBUG;</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<AssemblyName>mono-debug</AssemblyName>
<Commandlineparameters>--server=4711</Commandlineparameters>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Optimize>true</Optimize>
<OutputPath>bin\Release</OutputPath>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Externalconsole>true</Externalconsole>
<AssemblyName>mono-debug</AssemblyName>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="ICSharpCode.NRefactory">
<HintPath>packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.NRefactory.CSharp">
<HintPath>packages\ICSharpCode.NRefactory.5.5.1\lib\Net40\ICSharpCode.NRefactory.CSharp.dll</HintPath>
</Reference>
<Reference Include="Mono.Cecil">
<HintPath>packages\Mono.Cecil.0.10.1\lib\net40\Mono.Cecil.dll</HintPath>
</Reference>
<Reference Include="Mono.Cecil.Mdb">
<HintPath>packages\Mono.Cecil.0.10.1\lib\net40\Mono.Cecil.Mdb.dll</HintPath>
</Reference>
<Reference Include="Mono.Cecil.Pdb">
<HintPath>packages\Mono.Cecil.0.10.1\lib\net40\Mono.Cecil.Pdb.dll</HintPath>
</Reference>
<Reference Include="Mono.Cecil.Rocks">
<HintPath>packages\Mono.Cecil.0.10.1\lib\net40\Mono.Cecil.Rocks.dll</HintPath>
</Reference>
<Reference Include="Newtonsoft.Json">
<HintPath>packages\Newtonsoft.Json.10.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="src\MonoDebugSession.cs" />
<Compile Include="src\Handles.cs" />
<Compile Include="src\Utilities.cs" />
<Compile Include="src\DebugSession.cs" />
<Compile Include="src\MonoDebug.cs" />
<Compile Include="src\Protocol.cs" />
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<ItemGroup>
<None Include="package.json" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<ItemGroup>
<Folder Include="src\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft.csproj">
<Project>{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}</Project>
<Name>Mono.Debugger.Soft</Name>
</ProjectReference>
<ProjectReference Include="external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj">
<Project>{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}</Project>
<Name>Mono.Debugging</Name>
</ProjectReference>
<ProjectReference Include="external\debugger-libs\Mono.Debugging.Soft\Mono.Debugging.Soft.csproj">
<Project>{DE40756E-57F6-4AF2-B155-55E3A88CCED8}</Project>
<Name>Mono.Debugging.Soft</Name>
</ProjectReference>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,105 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
VisualStudioVersion = 14.0.22823.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-debug", "mono-debug.csproj", "{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Debugging.Soft", "external\debugger-libs\Mono.Debugging.Soft\Mono.Debugging.Soft.csproj", "{DE40756E-57F6-4AF2-B155-55E3A88CCED8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Debugger.Soft", "external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft.csproj", "{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Debugging", "external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj", "{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{E023475B-7BCC-48DC-9D39-609F6AC4BC37}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.NRefactory", "external\nrefactory\ICSharpCode.NRefactory\ICSharpCode.NRefactory.csproj", "{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.NRefactory.CSharp", "external\nrefactory\ICSharpCode.NRefactory.CSharp\ICSharpCode.NRefactory.CSharp.csproj", "{53DCA265-3C3C-42F9-B647-F72BA678122B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6B18B22D-6B1A-4BF9-BD46-DF84EE2181C5}.Release|Any CPU.Build.0 = Release|Any CPU
{DE40756E-57F6-4AF2-B155-55E3A88CCED8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DE40756E-57F6-4AF2-B155-55E3A88CCED8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DE40756E-57F6-4AF2-B155-55E3A88CCED8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DE40756E-57F6-4AF2-B155-55E3A88CCED8}.Release|Any CPU.Build.0 = Release|Any CPU
{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{372E8E3E-29D5-4B4D-88A2-4711CD628C4E}.Release|Any CPU.Build.0 = Release|Any CPU
{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2}.Release|Any CPU.Build.0 = Release|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371}.Release|Any CPU.Build.0 = Release|Any CPU
{53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{53DCA265-3C3C-42F9-B647-F72BA678122B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{53DCA265-3C3C-42F9-B647-F72BA678122B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(MonoDevelopProperties) = preSolution
Policies = $0
$0.DotNetNamingPolicy = $1
$1.DirectoryNamespaceAssociation = None
$1.ResourceNamePolicy = FileFormatDefault
$0.TextStylePolicy = $2
$2.FileWidth = 160
$2.TabsToSpaces = False
$2.inheritsSet = VisualStudio
$2.inheritsScope = text/plain
$2.scope = text/x-csharp
$0.CSharpFormattingPolicy = $3
$3.SimplePropertyFormatting = ForceNewLine
$3.EnumBraceStyle = EndOfLine
$3.ConstructorBraceStyle = EndOfLine
$3.DestructorBraceStyle = EndOfLine
$3.ElseNewLinePlacement = NewLine
$3.CatchNewLinePlacement = NewLine
$3.FinallyNewLinePlacement = NewLine
$3.WhileNewLinePlacement = DoNotCare
$3.ArrayInitializerWrapping = DoNotChange
$3.ArrayInitializerBraceStyle = NextLine
$3.BeforeMethodDeclarationParentheses = False
$3.BeforeMethodCallParentheses = False
$3.BeforeConstructorDeclarationParentheses = False
$3.NewLineBeforeConstructorInitializerColon = NewLine
$3.NewLineAfterConstructorInitializerColon = SameLine
$3.BeforeDelegateDeclarationParentheses = False
$3.AfterDelegateDeclarationParameterComma = True
$3.NewParentheses = False
$3.SpacesBeforeBrackets = False
$3.inheritsSet = Mono
$3.inheritsScope = text/x-csharp
$3.scope = text/x-csharp
$3.SpacingAfterMethodDeclarationName = False
$3.SpaceAfterMethodCallName = False
$3.SpaceBeforeOpenSquareBracket = False
$0.TextStylePolicy = $4
$4.FileWidth = 120
$4.TabsToSpaces = False
$4.inheritsSet = VisualStudio
$4.inheritsScope = text/plain
$4.scope = text/plain
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{372E8E3E-29D5-4B4D-88A2-4711CD628C4E} = {E023475B-7BCC-48DC-9D39-609F6AC4BC37}
{90C99ADB-7D4B-4EB4-98C2-40BD1B14C7D2} = {E023475B-7BCC-48DC-9D39-609F6AC4BC37}
{DE40756E-57F6-4AF2-B155-55E3A88CCED8} = {E023475B-7BCC-48DC-9D39-609F6AC4BC37}
{3B2A5653-EC97-4001-BB9B-D90F1AF2C371} = {E023475B-7BCC-48DC-9D39-609F6AC4BC37}
{53DCA265-3C3C-42F9-B647-F72BA678122B} = {E023475B-7BCC-48DC-9D39-609F6AC4BC37}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -14,12 +14,10 @@
"license": "MIT",
"private": true,
"scripts": {
"prepare": "make build",
"vscode:prepublishOnly": "make build",
"compile": "make build",
"lint": "eslint . --ext .ts,.tsx",
"watch": "tsc -w -p ./src/typescript",
"test": "make tests; mocha --timeout 10000 -u tdd ./out/tests"
"lint": "make lint",
"watch": "make watch",
"test": "make run-tests"
},
"engines": {
"vscode": "^1.32.0",
@ -31,10 +29,10 @@
},
"repository": {
"type": "git",
"url": "https://github.com/Microsoft/vscode-mono-debug.git"
"url": "https://github.com/microsoft/vscode-mono-debug.git"
},
"bugs": {
"url": "https://github.com/Microsoft/vscode-mono-debug/issues"
"url": "https://github.com/microsoft/vscode-mono-debug/issues"
},
"devDependencies": {
"@types/mocha": "^8.0.3",

Просмотреть файл

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ICSharpCode.NRefactory" version="5.5.1" targetFramework="net45" />
<package id="Mono.Cecil" version="0.10.1" targetFramework="net472" />
<package id="Newtonsoft.Json" version="10.0.3" targetFramework="net472" />
</packages>

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

Просмотреть файл

@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<OutputPath>..\..\bin\$(Configuration)</OutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="10.0.3" />
<PackageReference Include="Mono.Cecil" Version="0.10.1" />
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\external\debugger-libs\Mono.Debugger.Soft\Mono.Debugger.Soft.csproj" />
<ProjectReference Include="..\..\external\debugger-libs\Mono.Debugging\Mono.Debugging.csproj" />
<ProjectReference Include="..\..\external\debugger-libs\Mono.Debugging.Soft\Mono.Debugging.Soft.csproj" />
</ItemGroup>
</Project>

Просмотреть файл

@ -60,7 +60,7 @@ suite('Node Debug Adapter', () => {
test('should run program to the end', () => {
const PROGRAM = Path.join(DATA_ROOT, 'simple/Program.exe');
const PROGRAM = Path.join(DATA_ROOT, 'simple/bin/Debug/simple.exe');
return Promise.all([
dc.configurationSequence(),
@ -71,7 +71,7 @@ suite('Node Debug Adapter', () => {
test('should run program to the end (and not stop on Debugger.Break())', () => {
const PROGRAM = Path.join(DATA_ROOT, 'simple_break/Program.exe');
const PROGRAM = Path.join(DATA_ROOT, 'simple_break/bin/Debug/simple_break.exe');
return Promise.all([
dc.configurationSequence(),
@ -82,7 +82,7 @@ suite('Node Debug Adapter', () => {
test('should stop on debugger statement', () => {
const PROGRAM = Path.join(DATA_ROOT, 'simple_break/Program.exe');
const PROGRAM = Path.join(DATA_ROOT, 'simple_break/bin/Debug/simple_break.exe');
const DEBUGGER_LINE = 11;
return Promise.all([
@ -95,7 +95,7 @@ suite('Node Debug Adapter', () => {
suite('setBreakpoints', () => {
const PROGRAM = Path.join(DATA_ROOT, 'simple/Program.exe');
const PROGRAM = Path.join(DATA_ROOT, 'simple/bin/Debug/simple.exe');
const SOURCE = Path.join(DATA_ROOT, 'simple/Program.cs');
const BREAKPOINT_LINE = 13;
@ -106,7 +106,7 @@ suite('Node Debug Adapter', () => {
suite('output events', () => {
const PROGRAM = Path.join(DATA_ROOT, 'output/Output.exe');
const PROGRAM = Path.join(DATA_ROOT, 'output/bin/Debug/output.exe');
test('stdout and stderr events should be complete and in correct order', () => {
return Promise.all([
@ -120,7 +120,7 @@ suite('Node Debug Adapter', () => {
suite('FSharp Tests', () => {
const PROGRAM = Path.join(DATA_ROOT, 'fsharp/Program.exe');
const PROGRAM = Path.join(DATA_ROOT, 'fsharp/bin/Debug/fsharp.exe');
const SOURCE = Path.join(DATA_ROOT, 'fsharp/Program.fs');
const BREAKPOINT_LINE = 8;

2
testdata/fsharp/Makefile поставляемый
Просмотреть файл

@ -1,2 +0,0 @@
Program.exe: Program.fs
fsharpc --debug:full Program.fs

17
testdata/fsharp/fsharp.fsproj поставляемый Normal file
Просмотреть файл

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net4.7.2</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0" />
</ItemGroup>
</Project>

2
testdata/output/Makefile поставляемый
Просмотреть файл

@ -1,2 +0,0 @@
Output.exe: Output.cs
mcs -debug Output.cs

13
testdata/output/output.csproj поставляемый Normal file
Просмотреть файл

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net4.7.2</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0" />
</ItemGroup>
</Project>

2
testdata/simple/Makefile поставляемый
Просмотреть файл

@ -1,2 +0,0 @@
Program.exe: Program.cs
mcs -debug Program.cs

13
testdata/simple/simple.csproj поставляемый Normal file
Просмотреть файл

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net4.7.2</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0" />
</ItemGroup>
</Project>

2
testdata/simple_break/Makefile поставляемый
Просмотреть файл

@ -1,2 +0,0 @@
Program.exe: Program.cs
mcs -debug Program.cs

13
testdata/simple_break/simple_break.csproj поставляемый Normal file
Просмотреть файл

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net4.7.2</TargetFramework>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NETFramework.ReferenceAssemblies" PrivateAssets="All" Version="1.0.0" />
</ItemGroup>
</Project>