Add project to support PHP using Peachpie

As Peachpie uses its own fork of Roslyn, there are name clashes with the standard Roslyn classes. Therefore, the Peachpie's Roslyn assembly needs to be aliased.
This commit is contained in:
Robert Husák 2018-01-14 18:47:37 +01:00
Родитель 55fcb6437b
Коммит 8354b1d824
5 изменённых файлов: 47 добавлений и 1 удалений

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

@ -13,6 +13,7 @@ using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo("MirrorSharp.Benchmarks")]
[assembly: InternalsVisibleTo("MirrorSharp.FSharp")]
[assembly: InternalsVisibleTo("MirrorSharp.VisualBasic")]
[assembly: InternalsVisibleTo("MirrorSharp.Php")]
[assembly: InternalsVisibleTo("MirrorSharp.Owin")]
[assembly: InternalsVisibleTo("MirrorSharp.Testing")]
[assembly: InternalsVisibleTo("MirrorSharp.Tests.Roslyn1")]

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

@ -30,6 +30,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
NuGet.Common.props = NuGet.Common.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Php", "Php\Php.csproj", "{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Tests.Shared\MirrorSharp.Tests.Shared.projitems*{0a9078a1-bd26-4dc7-87bb-ded125f6218b}*SharedItemsImports = 13
@ -77,6 +79,10 @@ Global
{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C8076D77-4C5A-450E-AF3F-9E37A8B512D8}.Release|Any CPU.Build.0 = Release|Any CPU
{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C40A0924-7A1C-4488-ADF1-3B57ACEFD892}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

30
Php/Php.csproj Normal file
Просмотреть файл

@ -0,0 +1,30 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="../NuGet.Common.props" />
<PropertyGroup>
<AssemblyName>MirrorSharp.Php</AssemblyName>
<RootNamespace>MirrorSharp.Php</RootNamespace>
<TargetFrameworks>net46</TargetFrameworks>
<VersionPrefix>0.9.2</VersionPrefix>
<Description>MirrorSharp PHP support library, implemented using Peachpie. $(DescriptionSuffix)</Description>
<PackageTags>PHP;Peachpie;CodeMirror</PackageTags>
<DocumentationFile>$(OutDir)\MirrorSharp.Php.xml</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Peachpie.CodeAnalysis" Version="0.9.0-*" />
<PackageReference Include="Peachpie.App" Version="0.9.0-*" />
</ItemGroup>
<Target Name="ChangeAliasesOfStrongNameAssemblies" BeforeTargets="FindReferenceAssembliesForReferences;ResolveReferences">
<ItemGroup>
<ReferencePath Condition="'%(FileName)' == 'Peachpie.Microsoft.CodeAnalysis'">
<Aliases>peachpie</Aliases>
</ReferencePath>
</ItemGroup>
</Target>
</Project>

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

@ -0,0 +1,9 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
[assembly: InternalsVisibleTo("MirrorSharp.Tests.Roslyn2.Net46")]

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

@ -1,3 +1,3 @@
@echo off
powershell "$versionSuffix = '%1'; $output = (Resolve-Path .); @('Common', 'FSharp', 'Owin', 'Testing', 'VisualBasic') | %% { dotnet restore /p:VersionSuffix=$versionSuffix; dotnet pack $_ --version-suffix=$versionSuffix --output $output --configuration Release }"
powershell "$versionSuffix = '%1'; $output = (Resolve-Path .); @('Common', 'FSharp', 'Owin', 'Testing', 'VisualBasic', 'Php') | %% { dotnet restore /p:VersionSuffix=$versionSuffix; dotnet pack $_ --version-suffix=$versionSuffix --output $output --configuration Release }"
npm pack WebAssets