Skip to content

Commit

Permalink
Allow to opt-out of targets import via switch in paket.references - r…
Browse files Browse the repository at this point in the history
…eferences #615
  • Loading branch information
forki committed Feb 17, 2015
1 parent 259358b commit cd130d4
Show file tree
Hide file tree
Showing 25 changed files with 124 additions and 47 deletions.
3 changes: 3 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
#### 0.28.4 - 17.02.2015
* Allow to opt-out of targets import via switch in `paket.references` - https://github.com/fsprojects/Paket/issues/615

#### 0.28.3 - 17.02.2015
* Respect home directories on mono - https://github.com/fsprojects/Paket/issues/612

Expand Down
6 changes: 6 additions & 0 deletions docs/content/references-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@ It's possible to influence the `Private` property for references in project file

Newtonsoft.Json copy_local:false

## import_targets settings

If you don't want to import `.targets` and `.props` files you can disable it via the `import_targets` switch:

Microsoft.Bcl.Build import_targets:false

## File name conventions

If Paket finds `paket.references` in a folder, the dependencies it specifies will be added to all MSBuild projects in that folder.
Expand Down
2 changes: 1 addition & 1 deletion src/Paket.Core/InstallProcess.fs
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ let InstallIntoProjects(sources,force, hard, withBindingRedirects, lockFile:Lock

let usedPackageSettings =
usedPackages
|> Seq.map (fun u -> NormalizedPackageName u.Key,{ Name = u.Key; CopyLocal = u.Value })
|> Seq.map (fun u -> NormalizedPackageName u.Key,{ Name = u.Key; CopyLocal = fst u.Value; ImportTargets = snd u.Value })
|> Map.ofSeq

project.UpdateReferences(model,usedPackageSettings,hard)
Expand Down
4 changes: 2 additions & 2 deletions src/Paket.Core/LockFile.fs
Original file line number Diff line number Diff line change
Expand Up @@ -375,14 +375,14 @@ type LockFile(fileName:string,options,resolution:PackageResolution,remoteFiles:R
let usedPackages = Dictionary<_,_>()

for p in referencesFile.NugetPackages do
usedPackages.Add(p.Name,p.CopyLocal)
usedPackages.Add(p.Name,(p.CopyLocal,p.ImportTargets))

referencesFile.NugetPackages
|> List.iter (fun package ->
try
for d in this.GetAllDependenciesOf(package.Name) do
if usedPackages.ContainsKey d |> not then
usedPackages.Add(d,package.CopyLocal)
usedPackages.Add(d,(package.CopyLocal,package.ImportTargets))
with exn -> failwithf "%s - in %s" exn.Message referencesFile.FileName)

usedPackages
Expand Down
11 changes: 6 additions & 5 deletions src/Paket.Core/ProjectFile.fs
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ type ProjectFile =
| Some path when path.StartsWith(Path.GetDirectoryName(fileItem.Include)) -> true
| _ -> false)

if Seq.isEmpty fileItemsInSameDir then
if Seq.isEmpty fileItemsInSameDir then
newItemGroups.[fileItem.BuildAction].PrependChild(libReferenceNode) |> ignore
else
let existingNode =
Expand Down Expand Up @@ -200,7 +200,7 @@ type ProjectFile =
for node in nodesToDelete do
node.ParentNode.RemoveChild(node) |> ignore

member this.GenerateXml(model:InstallModel,copyLocal:CopyLocal) =
member this.GenerateXml(model:InstallModel,copyLocal:bool,importTargets:bool) =
let references =
this.GetCustomReferenceAndFrameworkNodes()
|> List.map (fun node -> node.Attributes.["Include"].InnerText.Split(',').[0])
Expand All @@ -218,7 +218,7 @@ type ProjectFile =
this.CreateNode("Reference")
|> addAttribute "Include" (fi.Name.Replace(fi.Extension,""))
|> addChild (this.CreateNode("HintPath", createRelativePath this.FileName fi.FullName))
|> addChild (this.CreateNode("Private",sprintf "%A" copyLocal))
|> addChild (this.CreateNode("Private",if copyLocal then "True" else "False"))
|> addChild (this.CreateNode("Paket","True"))
|> itemGroup.AppendChild
|> ignore
Expand All @@ -237,10 +237,11 @@ type ProjectFile =
let propertyNames =
references
|> Seq.choose (fun lib ->
if not importTargets then None else
match lib with
| Reference.Library _ -> None
| Reference.FrameworkAssemblyReference _ -> None
| Reference.TargetsFile targetsFile ->
| Reference.TargetsFile targetsFile ->
let fi = new FileInfo(normalizePath targetsFile)
let propertyName = "__paket__" + fi.Name.ToString().Replace(" ","_").Replace(".","_")

Expand Down Expand Up @@ -370,7 +371,7 @@ type ProjectFile =
if hard then
this.DeleteCustomModelNodes(kv.Value)
let package = usedPackages.[kv.Key]
this.GenerateXml(kv.Value,package.CopyLocal))
this.GenerateXml(kv.Value,package.CopyLocal,package.ImportTargets))
|> Seq.iter (fun (propertyNameNodes,chooseNode,propertyChooseNode) ->
if chooseNode.ChildNodes.Count > 0 then
this.ProjectNode.AppendChild chooseNode |> ignore
Expand Down
29 changes: 17 additions & 12 deletions src/Paket.Core/ReferencesFile.fs
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,10 @@ type RemoteFileReference =
{ Name : string
Link : string }

[<RequireQualifiedAccess>]
type CopyLocal =
| True
| False

type PackageInstallSettings =
{ Name : PackageName
CopyLocal : CopyLocal }
ImportTargets : bool
CopyLocal : bool }

type ReferencesFile =
{ FileName: string
Expand All @@ -37,10 +33,14 @@ type ReferencesFile =
let parts = line.Split(' ')
let kvPairs = line.Replace(parts.[0],"") |> parseKeyValuePairs
{ Name = PackageName parts.[0]
ImportTargets =
match kvPairs.TryGetValue "import_targets" with
| true, "false" -> false
| _ -> true
CopyLocal =
match kvPairs.TryGetValue "copy_local" with
| true, "false" -> CopyLocal.False
| _ -> CopyLocal.True }
| true, "false" -> false
| _ -> true }


let remoteLines,nugetLines =
Expand All @@ -65,16 +65,16 @@ type ReferencesFile =
let lines = File.ReadAllLines(fileName)
{ ReferencesFile.FromLines lines with FileName = fileName }

member this.AddNuGetReference(packageName : PackageName, copyLocal: CopyLocal) =
member this.AddNuGetReference(packageName : PackageName, copyLocal: bool, importTargets: bool) =
let (PackageName referenceName) = packageName
let normalized = NormalizedPackageName packageName
if this.NugetPackages |> Seq.exists (fun p -> NormalizedPackageName p.Name = normalized) then
this
else
tracefn "Adding %s to %s" referenceName (this.FileName)
{ this with NugetPackages = this.NugetPackages @ [{ Name = packageName; CopyLocal = copyLocal }] }
{ this with NugetPackages = this.NugetPackages @ [{ Name = packageName; CopyLocal = copyLocal; ImportTargets = importTargets }] }

member this.AddNuGetReference(packageName : PackageName) = this.AddNuGetReference(packageName, CopyLocal.True)
member this.AddNuGetReference(packageName : PackageName) = this.AddNuGetReference(packageName, true, true)

member this.RemoveNuGetReference(packageName : PackageName) =
let (PackageName referenceName) = packageName
Expand All @@ -91,6 +91,11 @@ type ReferencesFile =

override this.ToString() =
List.append
(this.NugetPackages |> List.map (fun p -> p.Name.ToString() + if p.CopyLocal = CopyLocal.False then " copy_local:false" else ""))
(this.NugetPackages |> List.map (fun p ->
let s1 = if p.CopyLocal = false then "copy_local:false" else ""
let s2 = if p.ImportTargets = false then "import_targets:false" else ""
let s = String.Join(", ",[s1; s2] |> List.filter (fun s -> s <> ""))

String.Join(" ",[p.Name.ToString(); s] |> List.filter (fun s -> s <> ""))))
(this.RemoteFiles |> List.map (fun s -> "File:" + s.Name + if s.Link <> ReferencesFile.DefaultLink then " " + s.Link else ""))
|> String.concat Environment.NewLine
2 changes: 1 addition & 1 deletion src/Paket/Paket.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
<StartArguments>update</StartArguments>
<StartAction>Project</StartAction>
<StartProgram>paket.exe</StartProgram>
<StartWorkingDirectory>d:\code\PaketKopie</StartWorkingDirectory>
<StartWorkingDirectory>d:\code\Paket09x</StartWorkingDirectory>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ let ``should generate Xml for FSharp.Data.SqlClient 1.4.4``() =
[],
Nuspec.Load("Nuspec/FSharp.Data.SqlClient.nuspec"))

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
6 changes: 3 additions & 3 deletions tests/Paket.Tests/InstallModel/Xml/Fantomas.fs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ let ``should generate Xml for Fantomas 1.5``() =
[],
Nuspec.Explicit ["FantomasLib.dll"])

let propertyNodes,chooseNode,additionalNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,additionalNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
Expand Down Expand Up @@ -63,7 +63,7 @@ let ``should generate full Xml for Fantomas 1.5``() =

let project = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value
let completeModel = [NormalizedPackageName (PackageName "Fantomas"),model] |> Map.ofSeq
let used = [NormalizedPackageName (PackageName "fantoMas"), { Name = PackageName "fantoMas" ; CopyLocal = CopyLocal.True }] |> Map.ofSeq
let used = [NormalizedPackageName (PackageName "fantoMas"), { Name = PackageName "fantoMas" ; CopyLocal = true; ImportTargets = true }] |> Map.ofSeq
project.UpdateReferences(completeModel,used,false)

project.Document.OuterXml
Expand All @@ -83,7 +83,7 @@ let ``should not generate full Xml for Fantomas 1.5 if not referenced``() =

let project = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value
let completeModel = [NormalizedPackageName (PackageName "Fantomas"),model] |> Map.ofSeq
let used = [NormalizedPackageName (PackageName "blub"), { Name = PackageName "blub"; CopyLocal = CopyLocal.True } ] |> Map.ofSeq
let used = [NormalizedPackageName (PackageName "blub"), { Name = PackageName "blub"; CopyLocal = true; ImportTargets = true } ] |> Map.ofSeq
project.UpdateReferences(completeModel,used,false)

project.Document.OuterXml
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/FantomasLib.fs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ let ``should generate Xml for Fantomas 1.5``() =
[],
Nuspec.Explicit ["FantomasLib.dll"])

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.False)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,false,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/Fuchu.fs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ let ``should generate Xml for Fuchu 0.4``() =
[],
Nuspec.All)

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/GitInfoPlanter.fs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ let ``should generate Xml for GitInfoPlanter2.0.0``() =
[ @"..\GitInfoPlanter\build\GitInfoPlanter.targets" ],
Nuspec.All)

let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml emptyReferences)
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/LibGit2Sharp.fs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ let ``should generate Xml for LibGit2Sharp 2.0.0``() =

model.GetLibReferences(SinglePlatform (DotNetFramework FrameworkVersion.V4_Client)) |> shouldContain @"..\LibGit2Sharp\lib\net40\LibGit2Sharp.dll"

let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expectedReferenceNodes)
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/Plossum.fs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ let ``should generate Xml for Plossum``() =
[],
Nuspec.All)

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/RxXaml.fs
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ let ``should generate Xml for Rx-XAML 2.2.4 with correct framework assembly refe
{ AssemblyName = "System.Windows"; FrameworkRestrictions = [FrameworkRestriction.Exactly(Silverlight "v5.0")] }
{ AssemblyName = "System.Windows"; FrameworkRestrictions = [FrameworkRestriction.Exactly(WindowsPhoneSilverlight "v7.1")] }]})

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/SQLite.fs
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ let ``should generate Xml for SQLite``() =
@"..\System.Data.SQLite.Core\build\net451\System.Data.SQLite.Core.targets" ],
Nuspec.All)

let propertyNodes,chooseNode,propertyDefinitionNodes = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,propertyDefinitionNodes = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expectedReferenceNodes)
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/StyleCop.MSBuild.fs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ let ``should generate Xml for StyleCop.MSBuild``() =

model.GetTargetsFiles(SinglePlatform (DotNetFramework FrameworkVersion.V2)) |> shouldContain @"..\StyleCop.MSBuild\build\StyleCop.MSBuild.Targets"

let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)

propertyChooseNode.OuterXml
|> normalizeXml
Expand Down
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/System.Spatial.fs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ let ``should generate Xml for System.Spatial``() =
@"..\System.Spatial\lib\sl4\zh-Hans\System.Spatial.resources.dll"
],[],Nuspec.All)

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/SystemNetHttp.fs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ let ``should generate Xml for System.Net.Http 2.2.8``() =
[],
Nuspec.All)

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
2 changes: 1 addition & 1 deletion tests/Paket.Tests/InstallModel/Xml/SystemNetHttpForNet4.fs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ let ``should generate Xml for System.Net.Http 2.2.8``() =
[],
Nuspec.All)

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ let ``should generate Xml for System.Net.Http 2.2.8``() =
[{ AssemblyName = "System.Net.Http"; FrameworkRestrictions = [FrameworkRestriction.Exactly(DotNetFramework(FrameworkVersion.V4_5))] }
{ AssemblyName = "System.Net.Http.WebRequest"; FrameworkRestrictions = [FrameworkRestriction.Exactly(DotNetFramework(FrameworkVersion.V4_5))] }]})

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/FrameworkAssemblies.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/FrameworkAssemblies.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ let ``should generate Xml for System.Net.Http 2.2.8``() =
[{ AssemblyName = "System.Net.Http"; FrameworkRestrictions = [FrameworkRestriction.AtLeast(DotNetFramework(FrameworkVersion.V4_5))] }
{ AssemblyName = "System.Net.Http.WebRequest"; FrameworkRestrictions = [FrameworkRestriction.Exactly(DotNetFramework(FrameworkVersion.V4_5))] }]})

let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let _,chooseNode,_ = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expected)
26 changes: 24 additions & 2 deletions tests/Paket.Tests/InstallModel/Xml/xunit.runner.fs
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ let ``should generate Xml for xunit.runner.visualstudio 2.0.0``() =
@"..\xunit.runner.visualstudio\build\portable-net45+aspnetcore50+win+wpa81+wp80+monotouch+monoandroid\xunit.runner.visualstudio.props" ],
Nuspec.All)

let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,CopyLocal.True)
let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,true)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml emptyReferenceNodes)
Expand All @@ -48,4 +48,26 @@ let ``should generate Xml for xunit.runner.visualstudio 2.0.0``() =

(propertyNodes |> Seq.head).OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml expectedPropertyNodes)
|> shouldEqual (normalizeXml expectedPropertyNodes)

let disabledChooseNode = """<?xml version="1.0" encoding="utf-16"?>
<Choose xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />"""

[<Test>]
let ``should not generate Xml for xunit.runner.visualstudio 2.0.0 if import is disabled``() =
let model =
InstallModel.CreateFromLibs(PackageName "xunit.runner.visualstudio", SemVer.Parse "2.50.0", [],[],
[ @"..\xunit.runner.visualstudio\build\net20\xunit.runner.visualstudio.props"
@"..\xunit.runner.visualstudio\build\portable-net45+aspnetcore50+win+wpa81+wp80+monotouch+monoandroid\xunit.runner.visualstudio.props" ],
Nuspec.All)

let propertyNodes,chooseNode,propertyChooseNode = ProjectFile.Load("./ProjectFile/TestData/Empty.fsprojtest").Value.GenerateXml(model,true,false)
chooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml emptyReferenceNodes)

propertyChooseNode.OuterXml
|> normalizeXml
|> shouldEqual (normalizeXml disabledChooseNode)

propertyNodes |> Seq.length |> shouldEqual 0
Loading

0 comments on commit cd130d4

Please sign in to comment.