Skip to content

Commit 2fd9b3d

Browse files
committed
Merge pull request #470 from rneatherway/projects-out-of-process-new-api
Projects out of process (new api)
2 parents 6e86a6b + 1b17625 commit 2fd9b3d

15 files changed

+855
-497
lines changed

FSharp.Compiler.Service.sln

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio 2013
3-
VisualStudioVersion = 12.0.31101.0
3+
VisualStudioVersion = 12.0.30501.0
44
MinimumVisualStudioVersion = 10.0.40219.1
55
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{B6B68AE6-E7A4-4D43-9B34-FFA74BFE192B}"
66
ProjectSection(SolutionItems) = preProject
@@ -57,6 +57,10 @@ Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Fsc", "samples\FscExe\Fsc.f
5757
EndProject
5858
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp_Analysis", "tests\service\data\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}"
5959
EndProject
60+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.ProjectCracker.Exe", "src\fsharp\FSharp.Compiler.Service.ProjectCracker.Exe\FSharp.Compiler.Service.ProjectCracker.Exe.fsproj", "{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}"
61+
EndProject
62+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.ProjectCracker", "src\fsharp\FSharp.Compiler.Service.ProjectCracker\FSharp.Compiler.Service.ProjectCracker.fsproj", "{893C3CD9-5AF8-4027-A667-21E62FC2C703}"
63+
EndProject
6064
Global
6165
GlobalSection(SolutionConfigurationPlatforms) = preSolution
6266
Debug|Any CPU = Debug|Any CPU
@@ -190,6 +194,36 @@ Global
190194
{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
191195
{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
192196
{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}.Release|x86.ActiveCfg = Release|Any CPU
197+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
198+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
199+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
200+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
201+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|x86.ActiveCfg = Debug|Any CPU
202+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Proto|Any CPU.ActiveCfg = Release|Any CPU
203+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Proto|Any CPU.Build.0 = Release|Any CPU
204+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Proto|Mixed Platforms.ActiveCfg = Release|Any CPU
205+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Proto|Mixed Platforms.Build.0 = Release|Any CPU
206+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Proto|x86.ActiveCfg = Release|Any CPU
207+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
208+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Any CPU.Build.0 = Release|Any CPU
209+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
210+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
211+
{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|x86.ActiveCfg = Release|Any CPU
212+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
213+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Any CPU.Build.0 = Debug|Any CPU
214+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
215+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
216+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|x86.ActiveCfg = Debug|Any CPU
217+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Proto|Any CPU.ActiveCfg = Release|Any CPU
218+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Proto|Any CPU.Build.0 = Release|Any CPU
219+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Proto|Mixed Platforms.ActiveCfg = Release|Any CPU
220+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Proto|Mixed Platforms.Build.0 = Release|Any CPU
221+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Proto|x86.ActiveCfg = Release|Any CPU
222+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Any CPU.ActiveCfg = Release|Any CPU
223+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Any CPU.Build.0 = Release|Any CPU
224+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
225+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Mixed Platforms.Build.0 = Release|Any CPU
226+
{893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|x86.ActiveCfg = Release|Any CPU
193227
EndGlobalSection
194228
GlobalSection(SolutionProperties) = preSolution
195229
HideSolutionNode = FALSE

build.fsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,12 @@ Target "NuGet" (fun _ ->
141141
Version = release.NugetVersion
142142
OutputPath = buildDir
143143
ReleaseNotes = toLines release.Notes })
144+
Paket.Pack (fun p ->
145+
{ p with
146+
TemplateFile = "nuget/projectcracker.template"
147+
Version = release.NugetVersion
148+
OutputPath = buildDir
149+
ReleaseNotes = toLines release.Notes })
144150
)
145151

146152

nuget/projectcracker.template

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
type file
2+
id FSharp.Compiler.Service.ProjectCracker
3+
description
4+
Adds cracking capabilities.
5+
authors
6+
Microsoft Corporation, Robin Neatherway
7+
summary
8+
Cracking projects
9+
licenseurl https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE
10+
projecturl https://github.com/fsharp/FSharp.Compiler.Service
11+
iconurl https://raw.github.com/fsharp/FSharp.Compiler.Service/master/misc/logo.png
12+
tags
13+
F#, fsharp, msbuild, editor
14+
files
15+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.Exe.exe ==> lib/net45
16+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.Exe.?db ==> lib/net45
17+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.Exe.exe.?db ==> lib/net45
18+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.dll ==> lib/net45
19+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.XML ==> lib/net45
20+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.?db ==> lib/net45
21+
../bin/v4.5/FSharp.Compiler.Service.ProjectCracker.dll.?db ==> lib/net45
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
5+
</startup>
6+
<runtime>
7+
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
8+
<dependentAssembly>
9+
<assemblyIdentity name="Microsoft.Build.Framework" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
10+
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
11+
</dependentAssembly>
12+
<dependentAssembly>
13+
<assemblyIdentity name="Microsoft.Build.Engine" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
14+
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
15+
</dependentAssembly>
16+
</assemblyBinding>
17+
</runtime>
18+
</configuration>
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<SchemaVersion>2.0</SchemaVersion>
8+
<ProjectGuid>b1bdd96d-47e1-4e65-8107-fbae23a06db4</ProjectGuid>
9+
<OutputType>Exe</OutputType>
10+
<RootNamespace>FSharp.Compiler.Service.ProjectCracker.Exe</RootNamespace>
11+
<AssemblyName>FSharp.Compiler.Service.ProjectCracker.Exe</AssemblyName>
12+
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' ">v4.5</TargetFrameworkVersion>
13+
<TargetFSharpCoreVersion>4.3.0.0</TargetFSharpCoreVersion>
14+
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\..\</SolutionDir>
15+
<Name>FSharp.Compiler.Service.ProjectCracker.Exe</Name>
16+
<OtherFlags>$(OtherFlags) --staticlink:FSharp.Core</OtherFlags>
17+
<NoWarn>$(NoWarn);40</NoWarn>
18+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
19+
<Name>FSharp.Compiler.Service.ProjectCracker.Exe</Name>
20+
<OutputPath>..\..\..\bin\$(TargetFrameworkVersion)</OutputPath>
21+
<DocumentationFile>..\..\..\bin\$(TargetFrameworkVersion)\FSharp.Compiler.Service.ProjectCracker.Exe.XML</DocumentationFile>
22+
</PropertyGroup>
23+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
24+
<DebugSymbols>true</DebugSymbols>
25+
<DebugType>full</DebugType>
26+
<Optimize>false</Optimize>
27+
<Tailcalls>false</Tailcalls>
28+
<DefineConstants>DEBUG;TRACE</DefineConstants>
29+
<WarningLevel>3</WarningLevel>
30+
<PlatformTarget>AnyCPU</PlatformTarget>
31+
<Prefer32Bit>true</Prefer32Bit>
32+
</PropertyGroup>
33+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
34+
<DebugType>pdbonly</DebugType>
35+
<Optimize>true</Optimize>
36+
<Tailcalls>true</Tailcalls>
37+
<DefineConstants>TRACE</DefineConstants>
38+
<WarningLevel>3</WarningLevel>
39+
<PlatformTarget>AnyCPU</PlatformTarget>
40+
<Prefer32Bit>true</Prefer32Bit>
41+
</PropertyGroup>
42+
<PropertyGroup>
43+
<MinimumVisualStudioVersion Condition="'$(MinimumVisualStudioVersion)' == ''">11</MinimumVisualStudioVersion>
44+
</PropertyGroup>
45+
<Choose>
46+
<When Condition="'$(VisualStudioVersion)' == '11.0'">
47+
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets')">
48+
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\..\Microsoft SDKs\F#\3.0\Framework\v4.0\Microsoft.FSharp.Targets</FSharpTargetsPath>
49+
</PropertyGroup>
50+
</When>
51+
<Otherwise>
52+
<PropertyGroup Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets')">
53+
<FSharpTargetsPath>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\FSharp\Microsoft.FSharp.Targets</FSharpTargetsPath>
54+
</PropertyGroup>
55+
</Otherwise>
56+
</Choose>
57+
<Import Project="$(FSharpTargetsPath)" />
58+
<ItemGroup>
59+
<Compile Include="Program.fs" />
60+
<None Include="App.config" />
61+
</ItemGroup>
62+
<ItemGroup>
63+
<Reference Include="Microsoft.Build.Framework" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
64+
<Reference Include="Microsoft.Build.Engine" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
65+
<Reference Include="Microsoft.Build" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
66+
<Reference Include="Microsoft.Build.Utilities.v4.0" Condition=" '$(TargetFrameworkVersion)' == 'v4.0'" />
67+
<Reference Include="Microsoft.Build.Framework, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
68+
<SpecificVersion>True</SpecificVersion>
69+
</Reference>
70+
<Reference Include="Microsoft.Build.Engine, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
71+
<SpecificVersion>True</SpecificVersion>
72+
</Reference>
73+
<Reference Include="Microsoft.Build, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'">
74+
<SpecificVersion>True</SpecificVersion>
75+
</Reference>
76+
<Reference Include="Microsoft.Build.Utilities.v12.0" Condition=" '$(TargetFrameworkVersion)' == 'v4.5'" />
77+
<Reference Include="mscorlib" />
78+
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
79+
<Private>False</Private>
80+
</Reference>
81+
<Reference Include="mscorlib" />
82+
<Reference Include="System" />
83+
<Reference Include="System.Configuration" />
84+
<Reference Include="System.Core" />
85+
<Reference Include="System.Numerics" />
86+
<Reference Include="System.Runtime.Serialization" />
87+
<Reference Include="System.Xml" />
88+
</ItemGroup>
89+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
90+
Other similar extension points exist, see Microsoft.Common.targets.
91+
<Target Name="BeforeBuild">
92+
</Target>
93+
<Target Name="AfterBuild">
94+
</Target>
95+
-->
96+
</Project>

0 commit comments

Comments
 (0)