diff --git a/src/wix/WixToolset.Sdk/tools/wix.props b/src/wix/WixToolset.Sdk/tools/wix.props index af26f6944..a72392254 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.props +++ b/src/wix/WixToolset.Sdk/tools/wix.props @@ -25,6 +25,18 @@ Debug + + + + + + + + + + + + false true diff --git a/src/wix/WixToolset.Sdk/tools/wix.targets b/src/wix/WixToolset.Sdk/tools/wix.targets index a9c54269f..4de5835fe 100644 --- a/src/wix/WixToolset.Sdk/tools/wix.targets +++ b/src/wix/WixToolset.Sdk/tools/wix.targets @@ -31,11 +31,6 @@ $(WixBinDir)WixToolset.BuildTasks.dll - - - - - diff --git a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs index 25fd61d9c..507a58436 100644 --- a/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs +++ b/src/wix/test/WixToolsetTest.Sdk/MsbuildFixture.cs @@ -582,6 +582,68 @@ public void CanBuildSimpleWixlib(BuildSystem buildSystem) } } + [TestMethod] + [DataRow(BuildSystem.DotNetCoreSdk)] + [DataRow(BuildSystem.MSBuild)] + [DataRow(BuildSystem.MSBuild64)] + public void CanBuildWixlibOnlyGoodFiles(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData", "Wixlib", "WithBadFiles"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "OnlyGoodFiles.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), + }); + result.AssertSuccess(); + + var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem); + WixAssert.Single(wixBuildCommands); + + var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .Single(); + WixAssert.StringEqual(@"bin\Release\OnlyGoodFiles.wixlib", path); + } + } + + [TestMethod] + [DataRow(BuildSystem.DotNetCoreSdk)] + [DataRow(BuildSystem.MSBuild)] + [DataRow(BuildSystem.MSBuild64)] + public void CanBuildWixlibSkippingBadFiles(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData", "Wixlib", "WithBadFiles"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "SkipBadFiles.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixMSBuildProps", MsbuildFixture.WixPropsPath), + }); + result.AssertSuccess(); + + var wixBuildCommands = MsbuildUtilities.GetToolCommandLines(result, "wix", "build", buildSystem); + WixAssert.Single(wixBuildCommands); + + var path = Directory.EnumerateFiles(binFolder, @"*.*", SearchOption.AllDirectories) + .Select(s => s.Substring(baseFolder.Length + 1)) + .Single(); + WixAssert.StringEqual(@"bin\Release\SkipBadFiles.wixlib", path); + } + } + [TestMethod] [DataRow(BuildSystem.DotNetCoreSdk)] [DataRow(BuildSystem.MSBuild)] diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl new file mode 100644 index 000000000..0e616bd18 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxl @@ -0,0 +1 @@ +Not a proper XML file, will break the build. diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs new file mode 100644 index 000000000..0e616bd18 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Bad.wxs @@ -0,0 +1 @@ +Not a proper XML file, will break the build. diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs new file mode 100644 index 000000000..bcf79a1f0 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/Library.wxs @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj new file mode 100644 index 000000000..620c53146 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/OnlyGoodFiles.wixproj @@ -0,0 +1,15 @@ + + + + + + Library + false + + + + + + + + diff --git a/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj new file mode 100644 index 000000000..c406ccd94 --- /dev/null +++ b/src/wix/test/WixToolsetTest.Sdk/TestData/Wixlib/WithBadFiles/SkipBadFiles.wixproj @@ -0,0 +1,15 @@ + + + + + + Library + + + + + + + + +