Move CI to GitHub Actions, use modern .NET project (#67)
This commit is contained in:
Родитель
b8dc74456a
Коммит
14ab7f9912
|
@ -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 }}
|
||||
|
|
|
@ -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
Двоичные данные
.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>
|
23
.travis.yml
23
.travis.yml
|
@ -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
|
25
Makefile
25
Makefile
|
@ -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("")]
|
||||
|
16
README.md
16
README.md
|
@ -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,20 +44,20 @@ 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>
|
105
mono-debug.sln
105
mono-debug.sln
|
@ -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
|
12
package.json
12
package.json
|
@ -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;
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
Program.exe: Program.fs
|
||||
fsharpc --debug:full Program.fs
|
|
@ -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>
|
|
@ -1,2 +0,0 @@
|
|||
Output.exe: Output.cs
|
||||
mcs -debug Output.cs
|
|
@ -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>
|
|
@ -1,2 +0,0 @@
|
|||
Program.exe: Program.cs
|
||||
mcs -debug Program.cs
|
|
@ -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>
|
|
@ -1,2 +0,0 @@
|
|||
Program.exe: Program.cs
|
||||
mcs -debug Program.cs
|
|
@ -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>
|
Загрузка…
Ссылка в новой задаче