aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2021-04-22 06:31:03 -0700
committerRob Mensching <rob@firegiant.com>2021-04-29 16:21:09 -0700
commitf39e7a3e164d0736e45049e5726d0da2013da3c9 (patch)
treeaea365ce11f41ad1c78de6997d916890dfb61b45
parentbcd3ee7ab858d62beb36af9f5986544b68a3dd35 (diff)
downloadwix-f39e7a3e164d0736e45049e5726d0da2013da3c9.tar.gz
wix-f39e7a3e164d0736e45049e5726d0da2013da3c9.tar.bz2
wix-f39e7a3e164d0736e45049e5726d0da2013da3c9.zip
Update to latest build infrastructure
-rw-r--r--.gitignore43
-rw-r--r--appveyor.cmd22
-rw-r--r--signing.json13
-rw-r--r--src/Directory.Build.props2
-rw-r--r--src/Directory.Build.targets87
-rw-r--r--src/Directory.csproj.props13
-rw-r--r--src/Directory.vcxproj.props (renamed from src/Cpp.Build.props)9
-rw-r--r--src/dutil/dutil.vcxproj21
-rw-r--r--src/dutil/packages.config3
-rw-r--r--src/test/DUtilUnitTest/DUtilUnitTest.vcxproj11
10 files changed, 154 insertions, 70 deletions
diff --git a/.gitignore b/.gitignore
index 3e8a1553..3a8542dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,6 +13,9 @@
13# User-specific files (MonoDevelop/Xamarin Studio) 13# User-specific files (MonoDevelop/Xamarin Studio)
14*.userprefs 14*.userprefs
15 15
16# Mono auto generated files
17mono_crash.*
18
16# Build results 19# Build results
17[Dd]ebug/ 20[Dd]ebug/
18[Dd]ebugPublic/ 21[Dd]ebugPublic/
@@ -20,12 +23,14 @@
20[Rr]eleases/ 23[Rr]eleases/
21x64/ 24x64/
22x86/ 25x86/
26[Ww][Ii][Nn]32/
23[Aa][Rr][Mm]/ 27[Aa][Rr][Mm]/
24[Aa][Rr][Mm]64/ 28[Aa][Rr][Mm]64/
25bld/ 29bld/
26[Bb]in/ 30[Bb]in/
27[Oo]bj/ 31[Oo]bj/
28[Ll]og/ 32[Ll]og/
33[Ll]ogs/
29 34
30# Visual Studio 2015/2017 cache/options directory 35# Visual Studio 2015/2017 cache/options directory
31.vs/ 36.vs/
@@ -39,9 +44,10 @@ Generated\ Files/
39[Tt]est[Rr]esult*/ 44[Tt]est[Rr]esult*/
40[Bb]uild[Ll]og.* 45[Bb]uild[Ll]og.*
41 46
42# NUNIT 47# NUnit
43*.VisualState.xml 48*.VisualState.xml
44TestResult.xml 49TestResult.xml
50nunit-*.xml
45 51
46# Build Results of an ATL Project 52# Build Results of an ATL Project
47[Dd]ebugPS/ 53[Dd]ebugPS/
@@ -56,6 +62,9 @@ project.lock.json
56project.fragment.lock.json 62project.fragment.lock.json
57artifacts/ 63artifacts/
58 64
65# ASP.NET Scaffolding
66ScaffoldingReadMe.txt
67
59# StyleCop 68# StyleCop
60StyleCopReport.xml 69StyleCopReport.xml
61 70
@@ -122,9 +131,6 @@ _ReSharper*/
122*.[Rr]e[Ss]harper 131*.[Rr]e[Ss]harper
123*.DotSettings.user 132*.DotSettings.user
124 133
125# JustCode is a .NET coding add-in
126.JustCode
127
128# TeamCity is a build add-in 134# TeamCity is a build add-in
129_TeamCity* 135_TeamCity*
130 136
@@ -135,6 +141,11 @@ _TeamCity*
135.axoCover/* 141.axoCover/*
136!.axoCover/settings.json 142!.axoCover/settings.json
137 143
144# Coverlet is a free, cross platform Code Coverage Tool
145coverage*.json
146coverage*.xml
147coverage*.info
148
138# Visual Studio code coverage results 149# Visual Studio code coverage results
139*.coverage 150*.coverage
140*.coveragexml 151*.coveragexml
@@ -182,6 +193,8 @@ PublishScripts/
182 193
183# NuGet Packages 194# NuGet Packages
184*.nupkg 195*.nupkg
196# NuGet Symbol Packages
197*.snupkg
185# The packages folder can be ignored because of Package Restore 198# The packages folder can be ignored because of Package Restore
186**/[Pp]ackages/* 199**/[Pp]ackages/*
187# except build/, which is used as an MSBuild target. 200# except build/, which is used as an MSBuild target.
@@ -206,6 +219,8 @@ BundleArtifacts/
206Package.StoreAssociation.xml 219Package.StoreAssociation.xml
207_pkginfo.txt 220_pkginfo.txt
208*.appx 221*.appx
222*.appxbundle
223*.appxupload
209 224
210# Visual Studio cache files 225# Visual Studio cache files
211# files ending in .cache can be ignored 226# files ending in .cache can be ignored
@@ -231,8 +246,6 @@ orleans.codegen.cs
231# Since there are multiple workflows, uncomment next line to ignore bower_components 246# Since there are multiple workflows, uncomment next line to ignore bower_components
232# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 247# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
233#bower_components/ 248#bower_components/
234# ASP.NET Core default setup: bower directory is configured as wwwroot/lib/ and bower restore is true
235**/wwwroot/lib/
236 249
237# RIA/Silverlight projects 250# RIA/Silverlight projects
238Generated_Code/ 251Generated_Code/
@@ -257,6 +270,9 @@ ServiceFabricBackup/
257*.bim.layout 270*.bim.layout
258*.bim_*.settings 271*.bim_*.settings
259*.rptproj.rsuser 272*.rptproj.rsuser
273*- [Bb]ackup.rdl
274*- [Bb]ackup ([0-9]).rdl
275*- [Bb]ackup ([0-9][0-9]).rdl
260 276
261# Microsoft Fakes 277# Microsoft Fakes
262FakesAssemblies/ 278FakesAssemblies/
@@ -292,10 +308,6 @@ paket-files/
292# FAKE - F# Make 308# FAKE - F# Make
293.fake/ 309.fake/
294 310
295# JetBrains Rider
296.idea/
297*.sln.iml
298
299# CodeRush personal settings 311# CodeRush personal settings
300.cr/personal 312.cr/personal
301 313
@@ -337,5 +349,14 @@ ASALocalRun/
337# Local History for Visual Studio 349# Local History for Visual Studio
338.localhistory/ 350.localhistory/
339 351
340# BeatPulse healthcheck temp database 352# BeatPulse healthcheck temp database
341healthchecksdb 353healthchecksdb
354
355# Backup folder for Package Reference Convert tool in Visual Studio 2017
356MigrationBackup/
357
358# Ionide (cross platform F# VS Code tools) working folder
359.ionide/
360
361# Fody - auto-generated XML schema
362FodyWeavers.xsd \ No newline at end of file
diff --git a/appveyor.cmd b/appveyor.cmd
index 9b6bc112..85476b8e 100644
--- a/appveyor.cmd
+++ b/appveyor.cmd
@@ -1,22 +1,24 @@
1@setlocal 1@setlocal
2@pushd %~dp0 2@pushd %~dp0
3@set _C=Release
4@if /i "%1"=="debug" set _C=Debug
3 5
4nuget restore || exit /b 6nuget restore || exit /b
5 7
6msbuild -t:Test -p:Configuration=Release src\test\DUtilUnitTest || exit /b 8msbuild -t:Test -p:Configuration=%_C% src\test\DUtilUnitTest || exit /b
7 9
8msbuild -p:Configuration=Release;Platform=x86;PlatformToolset=v140 || exit /b 10msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v140 || exit /b
9msbuild -p:Configuration=Release;Platform=x64;PlatformToolset=v140 || exit /b 11msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v140 || exit /b
10 12
11msbuild -p:Configuration=Release;Platform=x86;PlatformToolset=v141 || exit /b 13msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v141 || exit /b
12msbuild -p:Configuration=Release;Platform=x64;PlatformToolset=v141 || exit /b 14msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v141 || exit /b
13msbuild -p:Configuration=Release;Platform=ARM64;PlatformToolset=v141 || exit /b 15msbuild -p:Configuration=%_C%;Platform=ARM64;PlatformToolset=v141 || exit /b
14 16
15msbuild -p:Configuration=Release;Platform=x86;PlatformToolset=v142 || exit /b 17msbuild -p:Configuration=%_C%;Platform=x86;PlatformToolset=v142 || exit /b
16msbuild -p:Configuration=Release;Platform=x64;PlatformToolset=v142 || exit /b 18msbuild -p:Configuration=%_C%;Platform=x64;PlatformToolset=v142 || exit /b
17msbuild -p:Configuration=Release;Platform=ARM64;PlatformToolset=v142 || exit /b 19msbuild -p:Configuration=%_C%;Platform=ARM64;PlatformToolset=v142 || exit /b
18 20
19msbuild -p:Configuration=Release -t:PackNativeNuget src\dutil\dutil.vcxproj || exit /b 21msbuild -p:Configuration=%_C% -t:PackNative src\dutil\dutil.vcxproj || exit /b
20 22
21@popd 23@popd
22@endlocal \ No newline at end of file 24@endlocal \ No newline at end of file
diff --git a/signing.json b/signing.json
new file mode 100644
index 00000000..fe1c8c9b
--- /dev/null
+++ b/signing.json
@@ -0,0 +1,13 @@
1{
2 "SignClient": {
3 "AzureAd": {
4 "AADInstance": "https://login.microsoftonline.com/",
5 "ClientId": "c248d68a-ba6f-4aa9-8a68-71fe872063f8",
6 "TenantId": "16076fdc-fcc1-4a15-b1ca-32c9a255900e"
7 },
8 "Service": {
9 "Url": "https://codesign.dotnetfoundation.org/",
10 "ResourceId": "https://SignService/3c30251f-36f3-490b-a955-520addb85001"
11 }
12 }
13}
diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index e853e22d..fb34d54e 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -21,6 +21,6 @@
21 <Product>WiX Toolset</Product> 21 <Product>WiX Toolset</Product>
22 </PropertyGroup> 22 </PropertyGroup>
23 23
24 <Import Project="Cpp.Build.props" Condition=" '$(MSBuildProjectExtension)'=='.vcxproj' " /> 24 <Import Project="Directory$(MSBuildProjectExtension).props" Condition=" Exists('Directory$(MSBuildProjectExtension).props') " />
25 <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " /> 25 <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " />
26</Project> 26</Project>
diff --git a/src/Directory.Build.targets b/src/Directory.Build.targets
index dac7452a..44701fb6 100644
--- a/src/Directory.Build.targets
+++ b/src/Directory.Build.targets
@@ -4,45 +4,70 @@
4 Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.targets 4 Do NOT modify this file. Update the canonical version in Home\repo-template\src\Directory.Build.targets
5 then update all of the repos. 5 then update all of the repos.
6--> 6-->
7<!--
8 Replace PackageReferences with ProjectReferences when the projects can be found in .sln.
9 See the original here: https://github.com/dotnet/sdk/issues/1151#issuecomment-385133284
10-->
11<Project> 7<Project>
12 <PropertyGroup> 8 <PropertyGroup>
13 <ReplacePackageReferences>true</ReplacePackageReferences> 9 <SigningToolFolder>$(BaseOutputPath)obj\.tools</SigningToolFolder>
14 <TheSolutionPath Condition=" '$(NCrunch)'=='' ">$(SolutionPath)</TheSolutionPath> 10 <SigningToolExe>$(SigningToolFolder)\SignClient.exe</SigningToolExe>
15 <TheSolutionPath Condition=" '$(NCrunch)'=='1' ">$(NCrunchOriginalSolutionPath)</TheSolutionPath> 11 <SigningFilelist>$(SigningToolFolder)\empty-filelist.txt</SigningFilelist>
12 <SigningConfiguration>$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), signing.json))\signing.json</SigningConfiguration>
13 </PropertyGroup>
14
15 <PropertyGroup>
16 <CreateDocumentation Condition=" '$(CreateDocumentationFile)'!='true' ">false</CreateDocumentation>
17 <DocumentationFile Condition=" '$(CreateDocumentationFile)'=='true' ">$(OutputPath)\$(AssemblyName).xml</DocumentationFile>
16 </PropertyGroup> 18 </PropertyGroup>
17 19
18 <Choose> 20 <Target Name="SetNuspecProperties" DependsOnTargets="InitializeSourceControlInformation" AfterTargets="GetBuildVersion"
19 <When Condition="$(ReplacePackageReferences) AND '$(TheSolutionPath)' != '' AND '$(TheSolutionPath)' != '*undefined*' AND Exists('$(TheSolutionPath)')"> 21 Condition=" Exists('$(MSBuildProjectName).nuspec') ">
22 <PropertyGroup>
23 <ProjectUrl Condition=" '$(ProjectUrl)'=='' and '$(PrivateRepositoryUrl)'!='' ">$(PrivateRepositoryUrl.Replace('.git',''))</ProjectUrl>
24
25 <NuspecFile>$(MSBuildProjectName).nuspec</NuspecFile>
26 <NuspecBasePath Condition=" '$(NuspecBasePath)'=='' ">$(MSBuildProjectDirectory)</NuspecBasePath>
27 <NuspecProperties>$(NuspecProperties);Id=$(PackageId);Authors="$(Authors)";Configuration=$(Configuration);Copyright="$(Copyright)";Description="$(Description)";Title="$(Title)"</NuspecProperties>
28 <NuspecProperties>$(NuspecProperties);Version=$(NPMPackageVersion);RepositoryCommit=$(SourceRevisionId);RepositoryType=$(RepositoryType);RepositoryUrl=$(PrivateRepositoryUrl);ProjectFolder=$(MSBuildProjectDirectory)\;ProjectUrl=$(ProjectUrl)</NuspecProperties>
29 <PublishRepositoryUrl>true</PublishRepositoryUrl>
30 <SymbolPackageFormat>snupkg</SymbolPackageFormat>
31 </PropertyGroup>
32 </Target>
33
34 <Target Name="PackNative" DependsOnTargets="GetBuildVersion;SetNuspecProperties"
35 Condition=" Exists('$(MSBuildProjectName).nuspec') ">
36
37 <Exec Command='nuget pack $(NuspecFile) -OutputDirectory "$(BaseOutputPath)$(Configuration)" -BasePath "$(NuspecBasePath)" -Properties $(NuspecProperties)'
38 WorkingDirectory="$(MSBuildProjectDirectory)" />
39
40 <ItemGroup>
41 <NuGetPackOutput Include="$(BaseOutputPath)$(Configuration)\**\$(PackageId)*.nupkg" />
42 </ItemGroup>
43 </Target>
44
45 <Target Name="_GetSignClient"
46 Condition=" !Exists('$(SigningToolExe)') ">
47
48 <WriteLinesToFile File='$(SigningFilelist)' Lines='do-not-sign-files-in-nupkg' Overwrite='true' />
20 49
21 <PropertyGroup> 50 <Exec Command='dotnet.exe tool install --tool-path "$(SigningToolFolder)" SignClient' />
22 <SolutionFileContent>$([System.IO.File]::ReadAllText($(TheSolutionPath)))</SolutionFileContent> 51 </Target>
23 <SmartSolutionDir>$([System.IO.Path]::GetDirectoryName( $(TheSolutionPath) ))</SmartSolutionDir>
24 <RegexPattern>(?&lt;="[PackageName]", ")(.*)(?=", ")</RegexPattern>
25 </PropertyGroup>
26 52
27 <ItemGroup> 53 <Target Name="SignOutput" DependsOnTargets="_GetSignClient" AfterTargets="AfterBuild"
28 <!-- Keep the identity of the PackageReference --> 54 Condition=" '$(SigningUser)'!='' and '$(SignOutput)'!='false' and
29 <SmartPackageReference Include="@(PackageReference)"> 55 ('$(MSBuildProjectExtension)'=='.csproj' or ('$(MSBuildProjectExtension)'=='.vcxproj' and '$(ConfigurationType)'!='StaticLibrary'))">
30 <PackageName>%(Identity)</PackageName>
31 <InSolution>$(SolutionFileContent.Contains('\%(Identity).csproj'))</InSolution>
32 </SmartPackageReference>
33 56
34 <!-- Filter them by mapping them to another ItemGroup using the WithMetadataValue item function --> 57 <Exec Command='"$(SigningToolExe)" sign -i $(TargetPath) -c "$(SigningConfiguration)" -n "WiX Toolset" -d "WiX Toolset" -u https://wixtoolset.org/ -r "$(SigningUser)" -s "$(SigningSecret)"'
35 <PackageInSolution Include="@(SmartPackageReference->WithMetadataValue('InSolution', True))"> 58 WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
36 <Pattern>$(RegexPattern.Replace('[PackageName]','%(PackageName)') )</Pattern> 59 </Target>
37 <SmartPath>$([System.Text.RegularExpressions.Regex]::Match('$(SolutionFileContent)', '%(Pattern)'))</SmartPath>
38 </PackageInSolution>
39 60
40 <ProjectReference Include="@(PackageInSolution->'$(SmartSolutionDir)\%(SmartPath)' )"/> 61 <Target Name="SignNupkg" DependsOnTargets="_GetSignClient" AfterTargets="Pack;PackNative"
62 Condition=" '$(SigningUser)'!='' and '@(NuGetPackOutput)'!='' and '$(SignNupkg)'!='false' ">
63 <ItemGroup>
64 <SigningNupkgs Include="@(NuGetPackOutput)" Condition=" '%(Extension)'=='.nupkg' " />
65 </ItemGroup>
41 66
42 <!-- Remove the package references that are now referenced as projects --> 67 <Exec Command='"$(SigningToolExe)" sign -i "@(SigningNupkgs->&apos;%(Identity)&apos;)" -c "$(SigningConfiguration)" -f "$(SigningFilelist)" -n "WiX Toolset" -d "WiX Toolset" -u https://wixtoolset.org/ -r "$(SigningUser)" -s "$(SigningSecret)"'
43 <PackageReference Remove="@(PackageInSolution->'%(PackageName)' )"/> 68 WorkingDirectory="$(MSBuildProjectDirectory)" EchoOff="true" />
44 </ItemGroup> 69 </Target>
45 70
46 </When> 71 <Import Project="Directory$(MSBuildProjectExtension).targets" Condition=" Exists('Directory$(MSBuildProjectExtension).targets') " />
47 </Choose> 72 <Import Project="Custom.Build.targets" Condition=" Exists('Custom.Build.targets') " />
48</Project> 73</Project>
diff --git a/src/Directory.csproj.props b/src/Directory.csproj.props
new file mode 100644
index 00000000..81d24ad1
--- /dev/null
+++ b/src/Directory.csproj.props
@@ -0,0 +1,13 @@
1<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
2<!--
3 Do NOT modify this file. Update the canonical version in Home\repo-template\src\CSharp.Build.props
4 then update all of the repos.
5-->
6<Project>
7 <PropertyGroup>
8 <CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
9 <SignAssembly>true</SignAssembly>
10 <AssemblyOriginatorKeyFile>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)wix.snk))</AssemblyOriginatorKeyFile>
11 <NBGV_EmitThisAssemblyClass>false</NBGV_EmitThisAssemblyClass>
12 </PropertyGroup>
13</Project>
diff --git a/src/Cpp.Build.props b/src/Directory.vcxproj.props
index fb805b42..9ea7071b 100644
--- a/src/Cpp.Build.props
+++ b/src/Directory.vcxproj.props
@@ -6,6 +6,13 @@
6 <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform> 6 <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform>
7 <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir> 7 <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir>
8 <OutDir>$(OutputPath)$(Platform)\</OutDir> 8 <OutDir>$(OutputPath)$(Platform)\</OutDir>
9
10 <!-- NBGV properties -->
11 <AssemblyCompany>$(Company)</AssemblyCompany>
12 <AssemblyCopyright>$(Copyright)</AssemblyCopyright>
13
14 <RuntimeIdentifiers>win-x86;win-x64;win-arm64</RuntimeIdentifiers>
15 <NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
9 </PropertyGroup> 16 </PropertyGroup>
10 17
11 <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'"> 18 <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'">
@@ -13,7 +20,7 @@
13 </PropertyGroup> 20 </PropertyGroup>
14 21
15 <PropertyGroup> 22 <PropertyGroup>
16 <CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset</CodeAnalysisRuleSet> 23 <CodeAnalysisRuleSet Condition=" Exists('$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset') ">$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
17 </PropertyGroup> 24 </PropertyGroup>
18 25
19 <ItemDefinitionGroup> 26 <ItemDefinitionGroup>
diff --git a/src/dutil/dutil.vcxproj b/src/dutil/dutil.vcxproj
index b84fd80f..4e341438 100644
--- a/src/dutil/dutil.vcxproj
+++ b/src/dutil/dutil.vcxproj
@@ -37,15 +37,12 @@
37 <PlatformToolset>v142</PlatformToolset> 37 <PlatformToolset>v142</PlatformToolset>
38 <CharacterSet>MultiByte</CharacterSet> 38 <CharacterSet>MultiByte</CharacterSet>
39 <Description>WiX Toolset native library foundation</Description> 39 <Description>WiX Toolset native library foundation</Description>
40 <PackageId>WixToolset.DUtil</PackageId>
40 </PropertyGroup> 41 </PropertyGroup>
41 42
42 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 43 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
43 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 44 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
44 45
45 <ImportGroup Label="Shared">
46 <Import Project="..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" />
47 </ImportGroup>
48
49 <Import Project="..\NativeMultiTargeting.Build.props" /> 46 <Import Project="..\NativeMultiTargeting.Build.props" />
50 47
51 <ItemGroup> 48 <ItemGroup>
@@ -177,16 +174,10 @@
177 <None Include="xsd\thmutil.xsd" /> 174 <None Include="xsd\thmutil.xsd" />
178 </ItemGroup> 175 </ItemGroup>
179 176
180 <Target Name="PackNativeNuget" 177 <ItemGroup>
181 DependsOnTargets="GetBuildVersion"> 178 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
182 <Exec Command='nuget pack dutil.nuspec -OutputDirectory "$(BaseOutputPath)$(Configuration)" -Properties Configuration=$(Configuration);Id=WixToolset.DUtil;Version="$(BuildVersionSimple)";Authors="$(Authors)";Copyright="$(Copyright)";Description="$(Description)";Title="$(Title)"' /> 179 <PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" />
183 </Target> 180 </ItemGroup>
184 181
185 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> 182 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
186 <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 183</Project>
187 <PropertyGroup>
188 <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
189 </PropertyGroup>
190 <Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.3.3.37\build\Nerdbank.GitVersioning.targets'))" />
191 </Target>
192</Project> \ No newline at end of file
diff --git a/src/dutil/packages.config b/src/dutil/packages.config
index 1ffaa8df..5bbcd994 100644
--- a/src/dutil/packages.config
+++ b/src/dutil/packages.config
@@ -1,4 +1,7 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<packages> 2<packages>
3 <package id="Microsoft.Build.Tasks.Git" version="1.0.0" targetFramework="native" developmentDependency="true" />
4 <package id="Microsoft.SourceLink.Common" version="1.0.0" targetFramework="native" developmentDependency="true" />
5 <package id="Microsoft.SourceLink.GitHub" version="1.0.0" targetFramework="native" developmentDependency="true" />
3 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" /> 6 <package id="Nerdbank.GitVersioning" version="3.3.37" targetFramework="native" developmentDependency="true" />
4</packages> \ No newline at end of file 7</packages> \ No newline at end of file
diff --git a/src/test/DUtilUnitTest/DUtilUnitTest.vcxproj b/src/test/DUtilUnitTest/DUtilUnitTest.vcxproj
index 32463262..18410e5d 100644
--- a/src/test/DUtilUnitTest/DUtilUnitTest.vcxproj
+++ b/src/test/DUtilUnitTest/DUtilUnitTest.vcxproj
@@ -1,7 +1,6 @@
1<?xml version="1.0" encoding="utf-8"?> 1<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> 2<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3 3
4
5<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" /> 5 <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\build\WixBuildTools.TestSupport.Native.props')" />
7 <ItemGroup Label="ProjectConfigurations"> 6 <ItemGroup Label="ProjectConfigurations">
@@ -14,6 +13,7 @@
14 <Platform>Win32</Platform> 13 <Platform>Win32</Platform>
15 </ProjectConfiguration> 14 </ProjectConfiguration>
16 </ItemGroup> 15 </ItemGroup>
16
17 <PropertyGroup Label="Globals"> 17 <PropertyGroup Label="Globals">
18 <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes> 18 <ProjectTypes>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}</ProjectTypes>
19 <ProjectGuid>{AB7EE608-E5FB-42A5-831F-0DEEEA141223}</ProjectGuid> 19 <ProjectGuid>{AB7EE608-E5FB-42A5-831F-0DEEEA141223}</ProjectGuid>
@@ -22,13 +22,17 @@
22 <ConfigurationType>DynamicLibrary</ConfigurationType> 22 <ConfigurationType>DynamicLibrary</ConfigurationType>
23 <CharacterSet>Unicode</CharacterSet> 23 <CharacterSet>Unicode</CharacterSet>
24 <CLRSupport>true</CLRSupport> 24 <CLRSupport>true</CLRSupport>
25 <SignOutput>false</SignOutput>
25 </PropertyGroup> 26 </PropertyGroup>
27
26 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> 28 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
27 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 29 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
30
28 <PropertyGroup> 31 <PropertyGroup>
29 <ProjectAdditionalIncludeDirectories>..\..\dutil\inc</ProjectAdditionalIncludeDirectories> 32 <ProjectAdditionalIncludeDirectories>..\..\dutil\inc</ProjectAdditionalIncludeDirectories>
30 <ProjectAdditionalLinkLibraries>rpcrt4.lib;Mpr.lib;Ws2_32.lib;urlmon.lib;wininet.lib</ProjectAdditionalLinkLibraries> 33 <ProjectAdditionalLinkLibraries>rpcrt4.lib;Mpr.lib;Ws2_32.lib;urlmon.lib;wininet.lib</ProjectAdditionalLinkLibraries>
31 </PropertyGroup> 34 </PropertyGroup>
35
32 <ItemGroup> 36 <ItemGroup>
33 <ClCompile Include="ApupUtilTests.cpp" /> 37 <ClCompile Include="ApupUtilTests.cpp" />
34 <ClCompile Include="AssemblyInfo.cpp" /> 38 <ClCompile Include="AssemblyInfo.cpp" />
@@ -52,17 +56,21 @@
52 <ClCompile Include="UriUtilTest.cpp" /> 56 <ClCompile Include="UriUtilTest.cpp" />
53 <ClCompile Include="VerUtilTests.cpp" /> 57 <ClCompile Include="VerUtilTests.cpp" />
54 </ItemGroup> 58 </ItemGroup>
59
55 <ItemGroup> 60 <ItemGroup>
56 <ClInclude Include="precomp.h" /> 61 <ClInclude Include="precomp.h" />
57 <ClInclude Include="error.h" /> 62 <ClInclude Include="error.h" />
58 </ItemGroup> 63 </ItemGroup>
64
59 <ItemGroup> 65 <ItemGroup>
60 <None Include="packages.config" /> 66 <None Include="packages.config" />
61 <ResourceCompile Include="UnitTest.rc" /> 67 <ResourceCompile Include="UnitTest.rc" />
62 </ItemGroup> 68 </ItemGroup>
69
63 <ItemGroup> 70 <ItemGroup>
64 <None Include="TestData\ApupUtilTests\FeedBv2.0.xml" CopyToOutputDirectory="PreserveNewest" /> 71 <None Include="TestData\ApupUtilTests\FeedBv2.0.xml" CopyToOutputDirectory="PreserveNewest" />
65 </ItemGroup> 72 </ItemGroup>
73
66 <ItemGroup> 74 <ItemGroup>
67 <Reference Include="System" /> 75 <Reference Include="System" />
68 <Reference Include="System.Core" /> 76 <Reference Include="System.Core" />
@@ -73,6 +81,7 @@
73 <HintPath>..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\lib\net472\WixBuildTools.TestSupport.Native.dll</HintPath> 81 <HintPath>..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.47\lib\net472\WixBuildTools.TestSupport.Native.dll</HintPath>
74 </Reference> 82 </Reference>
75 </ItemGroup> 83 </ItemGroup>
84
76 <ItemGroup> 85 <ItemGroup>
77 <ProjectReference Include="..\..\dutil\dutil.vcxproj"> 86 <ProjectReference Include="..\..\dutil\dutil.vcxproj">
78 <Project>{1244E671-F108-4334-BA52-8A7517F26ECD}</Project> 87 <Project>{1244E671-F108-4334-BA52-8A7517F26ECD}</Project>