Skip to content

Commit

Permalink
Merge pull request #75 from lijunle/dotnet-3
Browse files Browse the repository at this point in the history
Upgrade project to .Net Core 3 and ship as binaries.
  • Loading branch information
lijunle authored Feb 14, 2020
2 parents a346d29 + 7ce05d3 commit 8fed7ab
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 42 deletions.
8 changes: 4 additions & 4 deletions Vsxmd/Units/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ internal static string Suffix(this string value, string suffix) =>
/// <param name="content">The content.</param>
/// <returns>The escaped content.</returns>
internal static string Escape(this string content) =>
content.Replace("`", @"\`");
content.Replace("`", @"\`", StringComparison.InvariantCulture);

/// <summary>
/// Generate an anchor for the <paramref name="href"/>.
Expand Down Expand Up @@ -91,7 +91,7 @@ internal static string ToReferenceLink(this string memberName, bool useShortName
internal static string AsCode(this string code)
{
string backticks = "`";
while (code.Contains(backticks))
while (code.Contains(backticks, StringComparison.InvariantCulture))
{
backticks += "`";
}
Expand Down Expand Up @@ -151,7 +151,7 @@ private static string ToMarkdownSpan(XNode node)
var text = node as XText;
if (text != null)
{
return text.Value.Escape().TrimStart(' ').Replace(" ", string.Empty);
return text.Value.Escape().TrimStart(' ').Replace(" ", string.Empty, StringComparison.InvariantCulture);
}

var child = node as XElement;
Expand All @@ -170,7 +170,7 @@ private static string ToMarkdownSpan(XNode node)
case "code":
var lang = child.Attribute("lang")?.Value ?? string.Empty;

string value = child.Nodes().First().ToString().Replace("\t", " ");
string value = child.Nodes().First().ToString().Replace("\t", " ", StringComparison.InvariantCulture);
var indexOf = FindIndexOf(value);

var codeblockLines = value.Split(Environment.NewLine.ToCharArray())
Expand Down
4 changes: 2 additions & 2 deletions Vsxmd/Units/MemberName.cs
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ internal MemberName(string name)
? MemberKind.Constants
: this.type == 'P'
? MemberKind.Property
: this.type == 'M' && this.name.Contains(".#ctor")
: this.type == 'M' && this.name.Contains(".#ctor", StringComparison.InvariantCulture)
? MemberKind.Constructor
: this.type == 'M' && !this.name.Contains(".#ctor")
: this.type == 'M' && !this.name.Contains(".#ctor", StringComparison.InvariantCulture)
? MemberKind.Method
: MemberKind.NotSupported;

Expand Down
36 changes: 18 additions & 18 deletions Vsxmd/Vsxmd.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@
<!-- Project Metadata -->
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks Condition=" '$(MSBuildRuntimeType)' == 'Core' ">netcoreapp2.2</TargetFrameworks>
<TargetFrameworks Condition=" '$(MSBuildRuntimeType)' != 'Core' ">netcoreapp2.2;net46</TargetFrameworks>
<TargetFramework>netcoreapp3.1</TargetFramework>
<DocumentationFile>Vsxmd.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
Expand All @@ -20,38 +19,39 @@
</ItemGroup>
<!-- NuGet Metadata: https://docs.microsoft.com/en-us/dotnet/core/tools/csproj#nuget-metadata-properties -->
<PropertyGroup>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Title>Vsxmd</Title>
<Version>0.0.0</Version>
<Authors>Junle Li, Sales Lessa Lopes</Authors>
<Description>VS XML documentation -&gt; Markdown syntax.</Description>
<Copyright>Copyright 2018</Copyright>
<Copyright>Copyright 2015-Present</Copyright>
<PackageLicenseFile>LICENSE</PackageLicenseFile>
<PackageProjectUrl>https://github.com/lijunle/Vsxmd</PackageProjectUrl>
<PackageTags>Vsxmd VS XML document Markdown</PackageTags>
<BuildOutputTargetFolder>tools</BuildOutputTargetFolder>
<DevelopmentDependency>true</DevelopmentDependency>
<IncludeBuildOutput>true</IncludeBuildOutput>
<IncludeSymbols>true</IncludeSymbols>
<IncludeSource>true</IncludeSource>
<GenerateNuspecDependsOn>ExcludeDocumentationFile</GenerateNuspecDependsOn>
<IncludeBuildOutput>false</IncludeBuildOutput>
<SuppressDependenciesWhenPacking>true</SuppressDependenciesWhenPacking>
</PropertyGroup>
<ItemGroup>
<!-- The parameter _PackageFiles is declared in NuGet.Build.Tasks.Pack.targets -->
<_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\linux-x64\publish\Vsxmd" PackagePath="tools\linux-x64\" />
<_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\osx-x64\publish\Vsxmd" PackagePath="tools\osx-x64\" />
<_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\win-x64\publish\Vsxmd.exe" PackagePath="tools\win-x64\" />
<_PackageFiles Include="bin\$(Configuration)\$(TargetFramework)\win-x86\publish\Vsxmd.exe" PackagePath="tools\win-x86\" />
</ItemGroup>
<ItemGroup>
<Content Include="..\LICENSE" Link="LICENSE" PackagePath="\" />
<Content Include="build\Vsxmd.targets" PackagePath="build\" />
<Content Include="buildMultiTargeting\Vsxmd.targets" PackagePath="buildMultiTargeting\" />
</ItemGroup>
<Target Name="ExcludeDocumentationFile">
<ItemGroup>
<!-- The _BuildOutputInPackage item group is declared in NuGet.Build.Tasks.Pack.targets -->
<_BuildOutputInPackage Remove="$(MSBuildProjectDirectory)\$(DocumentationFile)" />
<_BuildOutputInPackage Remove="$(MSBuildProjectDirectory)\**\$(DocumentationFile)" />
</ItemGroup>
</Target>
<!-- Generate the Markdown file for itself -->
<Target Name="VsxmdPreparation" AfterTargets="PostBuildEvent">
<PropertyGroup>
<VsxmdBinaryDirectory>$(OutputPath)\..</VsxmdBinaryDirectory>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Linux')) ">linux-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('OSX')) ">osx-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64' ">win-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X86' ">win-x86</VsxmdRuntime>
<VsxmdBinary Condition=" '$(RuntimeIdentifier)' == '' AND EXISTS('$(OutputPath)/Vsxmd.dll') ">$(OutputPath)/Vsxmd</VsxmdBinary>
<VsxmdBinary Condition=" '$(RuntimeIdentifier)' != '' AND EXISTS('$(OutputPath)/../Vsxmd.dll') ">$(OutputPath)/../Vsxmd</VsxmdBinary>
<VsxmdBinary Condition=" '$(RuntimeIdentifier)' != '' AND EXISTS('$(OutputPath)/../$(VsxmdRuntime)/Vsxmd.dll') ">$(OutputPath)/../$(VsxmdRuntime)/Vsxmd</VsxmdBinary>
</PropertyGroup>
</Target>
<Import Project="$(MSBuildThisFileDirectory)\build\Vsxmd.targets" />
Expand Down
15 changes: 9 additions & 6 deletions Vsxmd/build/Vsxmd.targets
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project TreatAsLocalProperty="VsxmdBinaryDirectory;VsxmdBinary;VsxmdCommand" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project TreatAsLocalProperty="VsxmdRuntime;VsxmdBinaryDirectory;VsxmdBinary;VsxmdCommand" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Vsxmd" AfterTargets="PostBuildEvent">
<PropertyGroup>
<VsxmdBinaryDirectory Condition=" '$(VsxmdBinaryDirectory)' == '' ">$(MSBuildThisFileDirectory)/../tools</VsxmdBinaryDirectory>
<VsxmdBinary Condition=" ('$(MSBuildRuntimeType)' == 'Full' OR '$(MSBuildRuntimeType)' == '') AND EXISTS('$(VsxmdBinaryDirectory)/net46') ">"$(VsxmdBinaryDirectory)/net46/Vsxmd.exe"</VsxmdBinary>
<VsxmdBinary Condition=" '$(MSBuildRuntimeType)' == 'Mono' AND EXISTS('$(VsxmdBinaryDirectory)/net46') ">mono "$(VsxmdBinaryDirectory)/net46/Vsxmd.exe"</VsxmdBinary>
<VsxmdBinary Condition=" '$(MSBuildRuntimeType)' == 'Core' AND EXISTS('$(VsxmdBinaryDirectory)/netcoreapp2.2') ">dotnet "$(VsxmdBinaryDirectory)/netcoreapp2.2/Vsxmd.dll"</VsxmdBinary>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Linux')) ">linux-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('OSX')) ">osx-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64' ">win-x64</VsxmdRuntime>
<VsxmdRuntime Condition=" $([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X86' ">win-x86</VsxmdRuntime>
<VsxmdBinaryDirectory>$(MSBuildThisFileDirectory)/../tools/$(VsxmdRuntime)</VsxmdBinaryDirectory>
<VsxmdBinary Condition=" '$(VsxmdBinary)' == '' AND EXISTS('$(VsxmdBinaryDirectory)/Vsxmd') ">$(VsxmdBinaryDirectory)/Vsxmd</VsxmdBinary>
<VsxmdBinary Condition=" '$(VsxmdBinary)' == '' AND EXISTS('$(VsxmdBinaryDirectory)/Vsxmd.exe') ">$(VsxmdBinaryDirectory)/Vsxmd.exe</VsxmdBinary>
<VsxmdCommand Condition=" '$(VsxmdBinary)' == '' ">echo "The Vsxmd command is not currently available."</VsxmdCommand>
<VsxmdCommand Condition=" '$(VsxmdBinary)' != '' ">$(VsxmdBinary) "$(DocumentationFile)" "$(DocumentationMarkdown)" "$(VsxmdAutoDeleteXml)"</VsxmdCommand>
<VsxmdCommand Condition=" '$(VsxmdBinary)' != '' ">"$(VsxmdBinary)" "$(DocumentationFile)" "$(DocumentationMarkdown)" "$(VsxmdAutoDeleteXml)"</VsxmdCommand>
</PropertyGroup>
<Message Text="Vsxmd starts to convert XML to Markdown." />
<Exec Command="$(VsxmdCommand)" />
Expand Down
4 changes: 0 additions & 4 deletions Vsxmd/buildMultiTargeting/Vsxmd.targets

This file was deleted.

Empty file added Vsxmd/lib/_._
Empty file.
22 changes: 14 additions & 8 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
version: 0.0.{build}

image:
- Visual Studio 2017
- Ubuntu
- Visual Studio 2019

shallow_clone: true

Expand All @@ -15,9 +14,6 @@ platform:
configuration:
- Release

matrix:
fast_finish: true

dotnet_csproj:
patch: true
file: '**\*.csproj'
Expand All @@ -28,11 +24,21 @@ dotnet_csproj:
informational_version: "{version}"

before_build:
- ps: msbuild -t:restore
- ps: ./Vsxmd/Test.ps1 -Prepare
- ps: Vsxmd\Test.ps1 -Prepare

build_script:
- dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime linux-x64
- dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime osx-x64
- dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime win-x64
- dotnet publish /p:PublishSingleFile=true /p:PublishTrimmed=true --verbosity normal --runtime win-x86

test_script:
- ps: ./Vsxmd/Test.ps1 -Run
- ps: Vsxmd\Test.ps1 -Run

after_test:
- 7z a -r Vsxmd\obj\Vsxmd.zip Vsxmd\bin\Release
- dotnet pack Vsxmd --no-restore --no-build

artifacts:
- path: 'Vsxmd\obj\Vsxmd.zip'
- path: 'Vsxmd\**\*.nupkg'

0 comments on commit 8fed7ab

Please sign in to comment.