Skip to content

Commit cc2e9fb

Browse files
committed
Alternative to ..\{project}_Net45 folder side-side hack
that allows to develop project.json (the toolchain that produces our artifacts) and csproj files (the best interface for continuous tests through NCrunch) in tandem. The old separate folder hack introduces strict restrictions on our csproj based solution, adding files was forbidden because this would expand the wildcards in the csproj and the file would end up in the wrong folder. Normally this side by side loading is riddled with nuget biting into both worlds but luckily we use paket in the csproj world. We didn't go for this solution initially because NCrunch while not supporting project.json, it did have an undocumented check for project.json files to kick off a different project resolution. Since NCrunch 2.20 (released yesterday) this "special" check is removed and NCrunch loads our csproj files that live next to project.json normally again. Our default work solution can now be Elasticsearch.sln again, while our command line build still builds Elasticsearch.DNX.sln and we can use the latter to investigate CoreCLR bugs/features.
1 parent 1655c93 commit cc2e9fb

33 files changed

+209
-86
lines changed

src/Benchmarking_Net45/Benchmarking.csproj renamed to src/Benchmarking/Benchmarking.csproj

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<DebugSymbols>true</DebugSymbols>
1919
<DebugType>full</DebugType>
2020
<Optimize>false</Optimize>
21-
<OutputPath>..\Benchmarking\bin\Debug\</OutputPath>
21+
<OutputPath>..\Benchmarking\bin\Net45\Debug\</OutputPath>
2222
<DefineConstants>DEBUG;TRACE</DefineConstants>
2323
<ErrorReport>prompt</ErrorReport>
2424
<WarningLevel>4</WarningLevel>
@@ -27,7 +27,7 @@
2727
<PlatformTarget>AnyCPU</PlatformTarget>
2828
<DebugType>pdbonly</DebugType>
2929
<Optimize>true</Optimize>
30-
<OutputPath>..\Benchmarking\bin\Release\</OutputPath>
30+
<OutputPath>..\Benchmarking\bin\Net45\Release\</OutputPath>
3131
<DefineConstants>TRACE</DefineConstants>
3232
<ErrorReport>prompt</ErrorReport>
3333
<WarningLevel>4</WarningLevel>
@@ -43,29 +43,27 @@
4343
<Reference Include="System.Xml" />
4444
</ItemGroup>
4545
<ItemGroup>
46-
<Compile Include="..\Benchmarking\**\*.cs">
47-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
48-
</Compile>
49-
<None Include="..\Benchmarking\App.config" />
46+
<Compile Include="**\*.cs" />
47+
<None Include="App.config" />
5048
<None Include="paket.references" />
5149
</ItemGroup>
5250
<ItemGroup>
53-
<ProjectReference Include="..\Elasticsearch.Net_Net45\Elasticsearch.Net.csproj">
51+
<ProjectReference Include="..\Elasticsearch.Net\Elasticsearch.Net.csproj">
5452
<Project>{e97ccf40-0ba6-43fe-9f2d-58d454134088}</Project>
5553
<Name>Elasticsearch.Net</Name>
5654
</ProjectReference>
57-
<ProjectReference Include="..\Nest_Net45\Nest.csproj">
55+
<ProjectReference Include="..\Nest\Nest.csproj">
5856
<Project>{072ba7da-7b60-407d-8b6e-95e3186be70c}</Project>
5957
<Name>Nest</Name>
6058
</ProjectReference>
61-
<ProjectReference Include="..\Tests_Net45\Tests.csproj">
59+
<ProjectReference Include="..\Tests\Tests.csproj">
6260
<Project>{37164c11-88ef-4428-803a-9aa24fb8b44d}</Project>
6361
<Name>Tests</Name>
6462
</ProjectReference>
6563
</ItemGroup>
6664
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
6765
<Import Project="..\..\.paket\paket.targets" />
68-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
66+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6967
Other similar extension points exist, see Microsoft.Common.targets.
7068
<Target Name="BeforeBuild">
7169
</Target>
@@ -458,4 +456,4 @@
458456
</ItemGroup>
459457
</When>
460458
</Choose>
461-
</Project>
459+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"frameworks": {
3+
"net45": {}
4+
},
5+
"runtimes": {
6+
"win": {}
7+
}
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"locked": false,
3+
"version": 1,
4+
"targets": {
5+
".NETFramework,Version=v4.5": {},
6+
".NETFramework,Version=v4.5/win": {}
7+
},
8+
"libraries": {},
9+
"projectFileDependencyGroups": {
10+
"": [],
11+
".NETFramework,Version=v4.5": []
12+
}
13+
}

src/CodeGeneration/CodeGeneration.LowLevelClient_Net45/CodeGeneration.LowLevelClient.csproj renamed to src/CodeGeneration/CodeGeneration.LowLevelClient/CodeGeneration.LowLevelClient.csproj

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<DebugSymbols>true</DebugSymbols>
2020
<DebugType>full</DebugType>
2121
<Optimize>false</Optimize>
22-
<OutputPath>..\CodeGeneration.LowLevelClient\bin\Debug\</OutputPath>
22+
<OutputPath>..\CodeGeneration.LowLevelClient\bin\Net45\Debug\</OutputPath>
2323
<DefineConstants>DEBUG;TRACE</DefineConstants>
2424
<ErrorReport>prompt</ErrorReport>
2525
<WarningLevel>4</WarningLevel>
@@ -28,7 +28,7 @@
2828
<PlatformTarget>AnyCPU</PlatformTarget>
2929
<DebugType>pdbonly</DebugType>
3030
<Optimize>true</Optimize>
31-
<OutputPath>..\CodeGeneration.LowLevelClient\bin\Release\</OutputPath>
31+
<OutputPath>..\CodeGeneration.LowLevelClient\bin\Net45\Release\</OutputPath>
3232
<DefineConstants>TRACE</DefineConstants>
3333
<ErrorReport>prompt</ErrorReport>
3434
<WarningLevel>4</WarningLevel>
@@ -47,20 +47,13 @@
4747
<Reference Include="System.Xml" />
4848
</ItemGroup>
4949
<ItemGroup>
50-
<Compile Include="..\CodeGeneration.LowLevelClient\**\*.cs">
51-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
52-
</Compile>
53-
<Content Include="..\CodeGeneration.LowLevelClient\**\*.json" Exclude="..\CodeGeneration.LowLevelClient\project.json;..\CodeGeneration.LowLevelClient\project.lock.json;">
54-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
55-
</Content>
56-
<None Include="..\CodeGeneration.LowLevelClient\App.config" />
50+
<Compile Include="**\*.cs" />
51+
<None Include="App.config" />
5752
<None Include="paket.references" />
58-
<None Include="..\CodeGeneration.LowLevelClient\**\*.cshtml">
59-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
60-
</None>
53+
<None Include="**\*.cshtml" />
6154
</ItemGroup>
6255
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
63-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
56+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6457
Other similar extension points exist, see Microsoft.Common.targets.
6558
<Target Name="BeforeBuild">
6659
</Target>
@@ -162,4 +155,4 @@
162155
</ItemGroup>
163156
</When>
164157
</Choose>
165-
</Project>
158+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"frameworks": {
3+
"net45": {}
4+
},
5+
"runtimes": {
6+
"win": {}
7+
}
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"locked": false,
3+
"version": 1,
4+
"targets": {
5+
".NETFramework,Version=v4.5": {},
6+
".NETFramework,Version=v4.5/win": {}
7+
},
8+
"libraries": {},
9+
"projectFileDependencyGroups": {
10+
"": [],
11+
".NETFramework,Version=v4.5": []
12+
}
13+
}

src/CodeGeneration/Nest.Litterateur_Net45/Nest.Litterateur.csproj renamed to src/CodeGeneration/Nest.Litterateur/Nest.Litterateur.csproj

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<DebugSymbols>true</DebugSymbols>
2121
<DebugType>full</DebugType>
2222
<Optimize>false</Optimize>
23-
<OutputPath>..\Nest.Litterateur\bin\Debug\</OutputPath>
23+
<OutputPath>..\Nest.Litterateur\bin\Net45\Debug\</OutputPath>
2424
<DefineConstants>DEBUG;TRACE</DefineConstants>
2525
<ErrorReport>prompt</ErrorReport>
2626
<WarningLevel>4</WarningLevel>
@@ -29,7 +29,7 @@
2929
<PlatformTarget>AnyCPU</PlatformTarget>
3030
<DebugType>pdbonly</DebugType>
3131
<Optimize>true</Optimize>
32-
<OutputPath>..\Nest.Litterateur\bin\Release\</OutputPath>
32+
<OutputPath>..\Nest.Litterateur\bin\Net45\Release\</OutputPath>
3333
<DefineConstants>TRACE</DefineConstants>
3434
<ErrorReport>prompt</ErrorReport>
3535
<WarningLevel>4</WarningLevel>
@@ -39,14 +39,12 @@
3939
<Reference Include="System.Core" />
4040
</ItemGroup>
4141
<ItemGroup>
42-
<Compile Include="..\Nest.Litterateur\**\*.cs">
43-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
44-
</Compile>
45-
<None Include="..\Nest.Litterateur\App.config" />
42+
<Compile Include="**\*.cs" />
43+
<None Include="App.config" />
4644
<None Include="paket.references" />
4745
</ItemGroup>
4846
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
49-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
47+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
5048
Other similar extension points exist, see Microsoft.Common.targets.
5149
<Target Name="BeforeBuild">
5250
</Target>
@@ -124,4 +122,4 @@
124122
</ItemGroup>
125123
</When>
126124
</Choose>
127-
</Project>
125+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"frameworks": {
3+
"net45": {}
4+
},
5+
"runtimes": {
6+
"win": {}
7+
}
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"locked": false,
3+
"version": 1,
4+
"targets": {
5+
".NETFramework,Version=v4.5": {},
6+
".NETFramework,Version=v4.5/win": {}
7+
},
8+
"libraries": {},
9+
"projectFileDependencyGroups": {
10+
"": [],
11+
".NETFramework,Version=v4.5": []
12+
}
13+
}

src/Elasticsearch.Net_Net45/Elasticsearch.Net.csproj renamed to src/Elasticsearch.Net/Elasticsearch.Net.csproj

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<DebugSymbols>true</DebugSymbols>
1919
<DebugType>full</DebugType>
2020
<Optimize>false</Optimize>
21-
<OutputPath>..\Elasticsearch.Net\bin\Debug\</OutputPath>
21+
<OutputPath>..\Elasticsearch.Net\bin\Net45\Debug\</OutputPath>
2222
<DefineConstants>TRACE;DEBUG;NET45</DefineConstants>
2323
<ErrorReport>prompt</ErrorReport>
2424
<WarningLevel>4</WarningLevel>
@@ -29,11 +29,11 @@
2929
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
3030
<DebugType>pdbonly</DebugType>
3131
<Optimize>true</Optimize>
32-
<OutputPath>..\Elasticsearch.Net\bin\Release\</OutputPath>
32+
<OutputPath>..\Elasticsearch.Net\bin\Net45\Release\</OutputPath>
3333
<DefineConstants>TRACE</DefineConstants>
3434
<ErrorReport>prompt</ErrorReport>
3535
<WarningLevel>4</WarningLevel>
36-
<DocumentationFile>..\Elasticsearch.Net\bin\Release\Elasticsearch.Net.XML</DocumentationFile>
36+
<DocumentationFile>..\Elasticsearch.Net\bin\Net45\Release\Elasticsearch.Net.XML</DocumentationFile>
3737
<NoWarn>1591,1572,1571,1573,1587,1570</NoWarn>
3838
<Prefer32Bit>false</Prefer32Bit>
3939
</PropertyGroup>
@@ -54,9 +54,7 @@
5454
<Reference Include="System.Xml" />
5555
</ItemGroup>
5656
<ItemGroup>
57-
<Compile Include="..\Elasticsearch.Net\**\*.cs">
58-
<Link>%(RecursiveDir)%(Filename)%(Extension)</Link>
59-
</Compile>
57+
<Compile Include="**\*.cs" />
6058
</ItemGroup>
6159
<ItemGroup>
6260
<None Include="paket.references" />
@@ -65,12 +63,12 @@
6563
<Folder Include="Domain\Response\" />
6664
</ItemGroup> -->
6765
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
68-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
66+
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6967
Other similar extension points exist, see Microsoft.Common.targets.
7068
<Target Name="BeforeBuild">
7169
</Target>
7270
<Target Name="AfterBuild">
7371
</Target>
7472
-->
7573
<Import Project="..\..\.paket\paket.targets" />
76-
</Project>
74+
</Project>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"frameworks": {
3+
"net45": {}
4+
},
5+
"runtimes": {
6+
"win": {}
7+
}
8+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"locked": false,
3+
"version": 1,
4+
"targets": {
5+
".NETFramework,Version=v4.5": {},
6+
".NETFramework,Version=v4.5/win": {}
7+
},
8+
"libraries": {},
9+
"projectFileDependencyGroups": {
10+
"": [],
11+
".NETFramework,Version=v4.5": []
12+
}
13+
}

src/Elasticsearch.sln

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
22
# Visual Studio 14
33
VisualStudioVersion = 14.0.24720.0
44
MinimumVisualStudioVersion = 10.0.40219.1
5-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nest", "Nest_Net45\Nest.csproj", "{072BA7DA-7B60-407D-8B6E-95E3186BE70C}"
5+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nest", "Nest\Nest.csproj", "{072BA7DA-7B60-407D-8B6E-95E3186BE70C}"
66
EndProject
77
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build", "_Build", "{432D5575-2347-4D3C-BF8C-3E38410C46CA}"
88
ProjectSection(SolutionItems) = preProject
@@ -23,21 +23,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "_Build", "_Build", "{432D55
2323
EndProject
2424
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Code Generation", "Code Generation", "{93331BEE-0AA0-47B7-B1D2-BD5BD31634D1}"
2525
EndProject
26-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGeneration.LowLevelClient", "CodeGeneration\CodeGeneration.LowLevelClient_Net45\CodeGeneration.LowLevelClient.csproj", "{56A87048-9065-459B-826D-3DF68B409845}"
26+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeGeneration.LowLevelClient", "CodeGeneration\CodeGeneration.LowLevelClient\CodeGeneration.LowLevelClient.csproj", "{56A87048-9065-459B-826D-3DF68B409845}"
2727
EndProject
28-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elasticsearch.Net", "Elasticsearch.Net_Net45\Elasticsearch.Net.csproj", "{E97CCF40-0BA6-43FE-9F2D-58D454134088}"
28+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elasticsearch.Net", "Elasticsearch.Net\Elasticsearch.Net.csproj", "{E97CCF40-0BA6-43FE-9F2D-58D454134088}"
2929
EndProject
3030
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "scripts", "..\build\scripts\scripts.fsproj", "{28328694-2598-44D3-BB25-8B6C3FBDD3EF}"
3131
EndProject
32-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests_Net45\Tests.csproj", "{37164C11-88EF-4428-803A-9AA24FB8B44D}"
32+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests.csproj", "{37164C11-88EF-4428-803A-9AA24FB8B44D}"
3333
EndProject
34-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nest.Litterateur", "CodeGeneration\Nest.Litterateur_Net45\Nest.Litterateur.csproj", "{98400F59-4BA8-4534-9A78-9C7FA0B42901}"
34+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nest.Litterateur", "CodeGeneration\Nest.Litterateur\Nest.Litterateur.csproj", "{98400F59-4BA8-4534-9A78-9C7FA0B42901}"
3535
EndProject
3636
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Performance", "Performance", "{71B3D359-87E2-4F62-82A2-A624DD3BF402}"
3737
EndProject
38-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarking", "Benchmarking_Net45\Benchmarking.csproj", "{9BB0AB7E-F08E-4D3E-A9E7-7C71318E8666}"
38+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmarking", "Benchmarking\Benchmarking.csproj", "{9BB0AB7E-F08E-4D3E-A9E7-7C71318E8666}"
3939
EndProject
40-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiling", "Profiling_Net45\Profiling.csproj", "{523B5383-B67D-462F-825D-FAE057E6B17D}"
40+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiling", "Profiling\Profiling.csproj", "{523B5383-B67D-462F-825D-FAE057E6B17D}"
4141
EndProject
4242
Global
4343
GlobalSection(SolutionConfigurationPlatforms) = preSolution

0 commit comments

Comments
 (0)