Skip to content

Commit 2039fee

Browse files
authored
Merge pull request #2234 from 0x53A/fix-2227
[fix #2227] import .props/.targets better
2 parents 73032cc + 45cefaf commit 2039fee

28 files changed

Lines changed: 235 additions & 154 deletions

‎integrationtests/scenarios/i001487-stable-props/before/MyClassLibrary/MyClassLibrary/MyClassLibrary.csprojtemplate‎

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="..\..\packages\MultiTarget\build\MultiTarget.props" Condition="Exists('..\..\packages\MultiTarget\build\MultiTarget.props')" Label="Paket" />
34
<PropertyGroup>
45
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
56
<ProductVersion>8.0.30703</ProductVersion>
@@ -69,15 +70,6 @@
6970
</ProjectReference>
7071
</ItemGroup>
7172
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
72-
<Choose>
73-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.6')">
74-
<PropertyGroup>
75-
<__paket__MultiTarget_props>MultiTarget</__paket__MultiTarget_props>
76-
<__paket__MultiTarget_targets>MultiTarget</__paket__MultiTarget_targets>
77-
</PropertyGroup>
78-
</When>
79-
</Choose>
80-
<Import Project="..\..\packages\MultiTarget\build\$(__paket__MultiTarget_props).props" Condition="Exists('..\..\packages\MultiTarget\build\$(__paket__MultiTarget_props).props')" Label="Paket" />
8173
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
8274
Other similar extension points exist, see Microsoft.Common.targets.
8375
<Target Name="BeforeBuild">
@@ -120,5 +112,5 @@
120112
</ItemGroup>
121113
</When>
122114
</Choose>
123-
<Import Project="..\..\packages\MultiTarget\build\$(__paket__MultiTarget_targets).targets" Condition="Exists('..\..\packages\MultiTarget\build\$(__paket__MultiTarget_targets).targets')" Label="Paket" />
115+
<Import Project="..\..\packages\MultiTarget\build\MultiTarget.targets" Condition="Exists('..\..\packages\MultiTarget\build\MultiTarget.targets')" Label="Paket" />
124116
</Project>

‎integrationtests/scenarios/i001585-websharper-props/before/xUnitTests/xUnitTests.expected.csprojtemplate‎

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,6 @@
5656
</Otherwise>
5757
</Choose>
5858
<Import Project="$(FSharpTargetsPath)" />
59-
<Choose>
60-
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And $(TargetFrameworkVersion) == 'v4.5'">
61-
<PropertyGroup>
62-
<__paket__WebSharper_targets>WebSharper</__paket__WebSharper_targets>
63-
</PropertyGroup>
64-
</When>
65-
</Choose>
6659
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6760
Other similar extension points exist, see Microsoft.Common.targets.
6861
<Target Name="BeforeBuild">
@@ -126,5 +119,5 @@
126119
</ItemGroup>
127120
</When>
128121
</Choose>
129-
<Import Project="..\packages\WebSharper\build\$(__paket__WebSharper_targets).targets" Condition="Exists('..\packages\WebSharper\build\$(__paket__WebSharper_targets).targets')" Label="Paket" />
122+
<Import Project="..\packages\WebSharper\build\WebSharper.targets" Condition="Exists('..\packages\WebSharper\build\WebSharper.targets')" Label="Paket" />
130123
</Project>

‎src/Paket.Core/Files/ProjectFile.fs‎

Lines changed: 120 additions & 55 deletions
Large diffs are not rendered by default.

‎src/Paket/Paket.fsproj‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
<StartWorkingDirectory>D:\temp\coreclrtest</StartWorkingDirectory>
3838
<StartArguments>install</StartArguments>
3939
<StartWorkingDirectory>C:\dev\src\Paket\integrationtests\scenarios\loading-scripts\dependencies-file-flag\temp</StartWorkingDirectory>
40-
<StartArguments>install</StartArguments>
41-
<StartWorkingDirectory>C:\PROJ\FAKE\</StartWorkingDirectory>
40+
<StartArguments>convert-from-nuget</StartArguments>
41+
<StartWorkingDirectory>c:\users\lr\documents\visual studio 2017\Projects\PaketTest</StartWorkingDirectory>
4242
</PropertyGroup>
4343
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
4444
<DebugType>pdbonly</DebugType>

‎tests/Paket.Tests/InstallModel/Xml/CodeCracker.fs‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ let ``should generate Xml for codecracker.CSharp``() =
3434

3535
let project = ProjectFile.TryLoad("./ProjectFile/TestData/EmptyCsharpGuid.csprojtest")
3636
Assert.IsTrue(project.IsSome)
37-
let _,_,_,_,analyzerNodes = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>() ,Map.empty,Some true,true,None)
38-
analyzerNodes
37+
let ctx = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>() ,Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
38+
ctx.AnalyzersNode
3939
|> (fun n -> n.OuterXml)
4040
|> normalizeXml
4141
|> shouldEqual (normalizeXml expectedCsharp)
@@ -55,8 +55,8 @@ let ``should generate Xml for codecracker.CSharp in VisualBasic project``() =
5555

5656
let project = ProjectFile.TryLoad("./ProjectFile/TestData/EmptyVbGuid.vbprojtest")
5757
Assert.IsTrue(project.IsSome)
58-
let _,_,_,_,analyzerNodes = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
59-
analyzerNodes
58+
let ctx = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
59+
ctx.AnalyzersNode
6060
|> (fun n -> n.OuterXml)
6161
|> normalizeXml
6262
|> shouldEqual (normalizeXml expectedEmpty)
@@ -86,8 +86,8 @@ let ``should generate Xml for codecracker.VisualBasic``() =
8686

8787
let project = ProjectFile.TryLoad("./ProjectFile/TestData/EmptyVbGuid.vbprojtest")
8888
Assert.IsTrue(project.IsSome)
89-
let _,_,_,_,analyzerNodes = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
90-
analyzerNodes
89+
let ctx = project.Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
90+
ctx.AnalyzersNode
9191
|> (fun n -> n.OuterXml)
9292
|> normalizeXml
9393
|> shouldEqual (normalizeXml expectedVb)

‎tests/Paket.Tests/InstallModel/Xml/EmptyLibs.fs‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@ let expected = """
1616

1717
[<Test>]
1818
let ``should generate Xml for framework references and empty libs``() =
19+
ensureDir()
1920
let model =
2021
InstallModel.CreateFromLibs(PackageName "TempPkg", SemVer.Parse "0.1", [],
2122
[ ],
2223
[],
2324
[],
2425
Nuspec.Load("Nuspec/EmptyLibs.nuspec"))
2526

26-
let _,targetsNodes,chooseNode,_,_ = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
27-
chooseNode.Head.OuterXml
27+
let ctx = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
28+
ctx.ChooseNodes.Head.OuterXml
2829
|> normalizeXml
2930
|> shouldEqual (normalizeXml expected)

‎tests/Paket.Tests/InstallModel/Xml/FSharp.Data.SqlClient.fs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ let ``should generate Xml for FSharp.Data.SqlClient 1.4.4``() =
4040
[],
4141
Nuspec.Load("Nuspec/FSharp.Data.SqlClient.nuspec"))
4242

43-
let _,targetsNodes,chooseNode,_,_ = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
44-
let currentXML = chooseNode.Head.OuterXml |> normalizeXml
43+
let ctx = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
44+
let currentXML = ctx.ChooseNodes.Head.OuterXml |> normalizeXml
4545
currentXML
4646
|> shouldEqual (normalizeXml expected)

‎tests/Paket.Tests/InstallModel/Xml/Fantomas.fs‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ let expected = """
1818

1919
[<Test>]
2020
let ``should generate Xml for Fantomas 1.5``() =
21+
ensureDir()
2122
let model =
2223
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0", [],
2324
[ @"..\Fantomas\lib\FantomasLib.dll"
@@ -27,12 +28,13 @@ let ``should generate Xml for Fantomas 1.5``() =
2728
[],
2829
Nuspec.Explicit ["FantomasLib.dll"])
2930

30-
let propertyNodes,targetsNodes,chooseNode,additionalNode, _ = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
31-
chooseNode.Head.OuterXml
31+
let ctx = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
32+
ctx.ChooseNodes.Head.OuterXml
3233
|> normalizeXml
3334
|> shouldEqual (normalizeXml expected)
3435

35-
propertyNodes |> Seq.length |> shouldEqual 0
36+
ctx.FrameworkSpecificPropsNodes |> Seq.length |> shouldEqual 0
37+
ctx.GlobalPropsNodes |> Seq.length |> shouldEqual 0
3638

3739

3840
let emptyDoc = """<?xml version="1.0" encoding="utf-8"?>
@@ -54,6 +56,7 @@ let fullDoc = """<?xml version="1.0" encoding="utf-8"?>
5456

5557
[<Test>]
5658
let ``should generate full Xml for Fantomas 1.5``() =
59+
ensureDir()
5760
let model =
5861
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0", [],
5962
[ @"..\Fantomas\lib\FantomasLib.dll"
@@ -75,6 +78,7 @@ let ``should generate full Xml for Fantomas 1.5``() =
7578

7679
[<Test>]
7780
let ``should not generate full Xml for Fantomas 1.5 if not referenced``() =
81+
ensureDir()
7882
let model =
7983
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0", [],
8084
[ @"..\Fantomas\lib\FantomasLib.dll"
@@ -111,6 +115,7 @@ let fullDocWithRefernceCondition = """<?xml version="1.0" encoding="utf-8"?>
111115

112116
[<Test>]
113117
let ``should generate full Xml with reference condition for Fantomas 1.5``() =
118+
ensureDir()
114119
let model =
115120
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0", [],
116121
[ @"..\Fantomas\lib\FantomasLib.dll"
@@ -152,6 +157,7 @@ let fullDocWithRefernceConditionAndFrameworkRestriction = """<?xml version="1.0"
152157
let ``should generate full Xml with reference condition and framework restrictions without msbuild warning``() =
153158
// msbuild triggers a warning MSB4130 when we leave out the quotes around $(LEGACY) and add the condition at the end
154159
// It seems like the warning is triggered when there is an "Or" without parentheses somewhere
160+
ensureDir()
155161
let model =
156162
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0",
157163
[ FrameworkRestriction.Exactly (FrameworkIdentifier.XamariniOS)

‎tests/Paket.Tests/InstallModel/Xml/FantomasLib.fs‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ let expected = """
1818

1919
[<Test>]
2020
let ``should generate Xml for Fantomas 1.5``() =
21+
ensureDir()
2122
let model =
2223
InstallModel.CreateFromLibs(PackageName "Fantomas", SemVer.Parse "1.5.0", [],
2324
[ @"..\Fantomas\Lib\FantomasLib.dll"
@@ -27,7 +28,7 @@ let ``should generate Xml for Fantomas 1.5``() =
2728
[],
2829
Nuspec.Explicit ["FantomasLib.dll"])
2930

30-
let _,targetsNodes,chooseNode,_,_ = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some false,true,None)
31-
chooseNode.Head.OuterXml
31+
let ctx = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some false,true,KnownTargetProfiles.AllProfiles,None)
32+
ctx.ChooseNodes.Head.OuterXml
3233
|> normalizeXml
3334
|> shouldEqual (normalizeXml expected)

‎tests/Paket.Tests/InstallModel/Xml/Fuchu.fs‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ let ``should generate Xml for Fuchu 0.4``() =
2828
[],
2929
Nuspec.All)
3030

31-
let _,targetsNodes,chooseNode,_,_ = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,None)
32-
chooseNode.Head.OuterXml
31+
let ctx = ProjectFile.TryLoad("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model, System.Collections.Generic.HashSet<_>(),Map.empty,Some true,true,KnownTargetProfiles.AllProfiles,None)
32+
ctx.ChooseNodes.Head.OuterXml
3333
|> normalizeXml
3434
|> shouldEqual (normalizeXml expected)

0 commit comments

Comments
 (0)