diff options
-rw-r--r-- | .gitignore | 43 | ||||
-rw-r--r-- | appveyor.cmd | 12 | ||||
-rw-r--r-- | appveyor.yml | 2 | ||||
-rw-r--r-- | nuget.config | 3 | ||||
-rw-r--r-- | signing.json | 13 | ||||
-rw-r--r-- | src/Directory.Build.props | 4 | ||||
-rw-r--r-- | src/Directory.Build.targets | 87 | ||||
-rw-r--r-- | src/Directory.Packages.props | 20 | ||||
-rw-r--r-- | src/Directory.csproj.props | 13 | ||||
-rw-r--r-- | src/Directory.vcxproj.props | 118 | ||||
-rw-r--r-- | src/NativeMultiTargeting.Build.props | 10 | ||||
-rw-r--r-- | src/engine/container.cpp | 4 | ||||
-rw-r--r-- | src/engine/container.h | 2 | ||||
-rw-r--r-- | src/stub/stub.nuspec | 25 | ||||
-rw-r--r-- | src/stub/stub.vcxproj | 8 | ||||
-rw-r--r-- | src/wix.snk | bin | 0 -> 596 bytes |
16 files changed, 307 insertions, 57 deletions
@@ -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 | ||
17 | mono_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/ |
21 | x64/ | 24 | x64/ |
22 | x86/ | 25 | x86/ |
26 | [Ww][Ii][Nn]32/ | ||
23 | [Aa][Rr][Mm]/ | 27 | [Aa][Rr][Mm]/ |
24 | [Aa][Rr][Mm]64/ | 28 | [Aa][Rr][Mm]64/ |
25 | bld/ | 29 | bld/ |
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 |
44 | TestResult.xml | 49 | TestResult.xml |
50 | nunit-*.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 | |||
56 | project.fragment.lock.json | 62 | project.fragment.lock.json |
57 | artifacts/ | 63 | artifacts/ |
58 | 64 | ||
65 | # ASP.NET Scaffolding | ||
66 | ScaffoldingReadMe.txt | ||
67 | |||
59 | # StyleCop | 68 | # StyleCop |
60 | StyleCopReport.xml | 69 | StyleCopReport.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 | ||
145 | coverage*.json | ||
146 | coverage*.xml | ||
147 | coverage*.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/ | |||
206 | Package.StoreAssociation.xml | 219 | Package.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 |
238 | Generated_Code/ | 251 | Generated_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 |
262 | FakesAssemblies/ | 278 | FakesAssemblies/ |
@@ -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 |
341 | healthchecksdb | 353 | healthchecksdb |
354 | |||
355 | # Backup folder for Package Reference Convert tool in Visual Studio 2017 | ||
356 | MigrationBackup/ | ||
357 | |||
358 | # Ionide (cross platform F# VS Code tools) working folder | ||
359 | .ionide/ | ||
360 | |||
361 | # Fody - auto-generated XML schema | ||
362 | FodyWeavers.xsd | ||
diff --git a/appveyor.cmd b/appveyor.cmd index 4f18fbee..a35e10d5 100644 --- a/appveyor.cmd +++ b/appveyor.cmd | |||
@@ -1,15 +1,17 @@ | |||
1 | @setlocal | 1 | @setlocal |
2 | @pushd %~dp0 | 2 | @pushd %~dp0 |
3 | @set _C=Release | ||
4 | @if /i "%1"=="debug" set _C=Debug | ||
3 | 5 | ||
4 | nuget restore || exit /b | 6 | nuget restore || exit /b |
5 | 7 | ||
6 | msbuild -t:Test -p:Configuration=Release src\test\BurnUnitTest || exit /b | 8 | msbuild -t:Test -p:Configuration=%_C% src\test\BurnUnitTest || exit /b |
7 | 9 | ||
8 | msbuild -p:Configuration=Release;Platform=x86 || exit /b | 10 | msbuild -p:Configuration=%_C%;Platform=x86 || exit /b |
9 | msbuild -p:Configuration=Release;Platform=x64 || exit /b | 11 | msbuild -p:Configuration=%_C%;Platform=x64 || exit /b |
10 | msbuild -p:Configuration=Release;Platform=arm64 || exit /b | 12 | msbuild -p:Configuration=%_C%;Platform=arm64 || exit /b |
11 | 13 | ||
12 | msbuild -p:Configuration=Release -t:Pack src\stub\stub.vcxproj || exit /b | 14 | msbuild -p:Configuration=%_C% -t:PackNative src\stub\stub.vcxproj || exit /b |
13 | 15 | ||
14 | @popd | 16 | @popd |
15 | @endlocal \ No newline at end of file | 17 | @endlocal \ No newline at end of file |
diff --git a/appveyor.yml b/appveyor.yml index e4d25586..364569cf 100644 --- a/appveyor.yml +++ b/appveyor.yml | |||
@@ -35,6 +35,8 @@ skip_tags: true | |||
35 | artifacts: | 35 | artifacts: |
36 | - path: build\Release\**\*.nupkg | 36 | - path: build\Release\**\*.nupkg |
37 | name: nuget | 37 | name: nuget |
38 | - path: build\Release\**\*.snupkg | ||
39 | name: snupkg | ||
38 | 40 | ||
39 | notifications: | 41 | notifications: |
40 | - provider: Slack | 42 | - provider: Slack |
diff --git a/nuget.config b/nuget.config index 405367b4..237c522e 100644 --- a/nuget.config +++ b/nuget.config | |||
@@ -4,6 +4,7 @@ | |||
4 | <clear /> | 4 | <clear /> |
5 | <add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" /> | 5 | <add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" /> |
6 | <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" /> | 6 | <add key="wixtoolset-dutil" value="https://ci.appveyor.com/nuget/wixtoolset-dutil" /> |
7 | <add key="wixtoolset-balutil" value="https://ci.appveyor.com/nuget/wixtoolset-balutil" /> | ||
7 | <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> | 8 | <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> |
8 | </packageSources> | 9 | </packageSources> |
9 | </configuration> \ No newline at end of file | 10 | </configuration> |
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 a22f4470..fb34d54e 100644 --- a/src/Directory.Build.props +++ b/src/Directory.Build.props | |||
@@ -8,7 +8,6 @@ | |||
8 | <PropertyGroup> | 8 | <PropertyGroup> |
9 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> | 9 | <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> |
10 | <EnableSourceLink Condition=" '$(NCrunch)' == '1' ">false</EnableSourceLink> | 10 | <EnableSourceLink Condition=" '$(NCrunch)' == '1' ">false</EnableSourceLink> |
11 | <MSBuildWarningsAsMessages>MSB3246</MSBuildWarningsAsMessages> | ||
12 | 11 | ||
13 | <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName> | 12 | <ProjectName Condition=" '$(ProjectName)' == '' ">$(MSBuildProjectName)</ProjectName> |
14 | <BaseOutputPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\build\))</BaseOutputPath> | 13 | <BaseOutputPath>$([System.IO.Path]::GetFullPath($(MSBuildThisFileDirectory)..\build\))</BaseOutputPath> |
@@ -22,7 +21,6 @@ | |||
22 | <Product>WiX Toolset</Product> | 21 | <Product>WiX Toolset</Product> |
23 | </PropertyGroup> | 22 | </PropertyGroup> |
24 | 23 | ||
25 | <Import Project="Cpp.Build.props" Condition=" Exists('Cpp.Build.props') And '$(MSBuildProjectExtension)'=='.vcxproj' " /> | 24 | <Import Project="Directory$(MSBuildProjectExtension).props" Condition=" Exists('Directory$(MSBuildProjectExtension).props') " /> |
26 | <Import Project="Wix.Build.props" Condition=" Exists('Wix.Build.props') And '$(MSBuildProjectExtension)'=='.wixproj' " /> | ||
27 | <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " /> | 25 | <Import Project="Custom.Build.props" Condition=" Exists('Custom.Build.props') " /> |
28 | </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>(?<="[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->'%(Identity)')" -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.Packages.props b/src/Directory.Packages.props new file mode 100644 index 00000000..369c51e7 --- /dev/null +++ b/src/Directory.Packages.props | |||
@@ -0,0 +1,20 @@ | |||
1 | <Project> | ||
2 | <ItemGroup> | ||
3 | <PackageVersion Include="WixBuildTools.TestSupport" Version="4.0.47" /> | ||
4 | <PackageVersion Include="WixBuildTools.TestSupport.Native" Version="4.0.47" /> | ||
5 | <PackageVersion Include="WixToolset.DUtil" Version="4.0.70" targetFramework="native" /> | ||
6 | <PackageVersion Include="WixToolset.BootstrapperCore.Native" Version="4.0.57" targetFramework="native" /> | ||
7 | <PackageVersion Include="xunit.abstractions" Version="2.0.3" /> | ||
8 | <PackageVersion Include="xunit.assert" Version="2.4.1" /> | ||
9 | <PackageVersion Include="xunit.core" Version="2.4.1" /> | ||
10 | <PackageVersion Include="xunit.extensibility.core" Version="2.4.1" /> | ||
11 | <PackageVersion Include="xunit.extensibility.execution" Version="2.4.1" /> | ||
12 | <PackageVersion Include="xunit.runner.msbuild" Version="2.4.1" /> | ||
13 | <PackageVersion Include="xunit.runner.visualstudio" Version="2.4.1" /> | ||
14 | |||
15 | <PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.0.0" /> | ||
16 | <PackageVersion Include="Nerdbank.GitVersioning" Version="3.3.37" /> | ||
17 | <PackageVersion Include="WixToolset.Dutil" Version="4.0.70" /> | ||
18 | <PackageVersion Include="WixToolset.BootstrapperCore.Native" Version="4.0.57" /> | ||
19 | </ItemGroup> | ||
20 | </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/Directory.vcxproj.props b/src/Directory.vcxproj.props new file mode 100644 index 00000000..63d73b36 --- /dev/null +++ b/src/Directory.vcxproj.props | |||
@@ -0,0 +1,118 @@ | |||
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. --> | ||
3 | |||
4 | <Project> | ||
5 | <PropertyGroup> | ||
6 | <Platform Condition=" '$(Platform)' == '' OR '$(Platform)' == 'AnyCPU' ">Win32</Platform> | ||
7 | <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(Platform)\</IntDir> | ||
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> | ||
16 | </PropertyGroup> | ||
17 | |||
18 | <PropertyGroup Condition="'$(WindowsTargetPlatformVersion)'=='' AND '$(VisualStudioVersion)'>='15.0'"> | ||
19 | <WindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0'))</WindowsTargetPlatformVersion> | ||
20 | </PropertyGroup> | ||
21 | |||
22 | <PropertyGroup> | ||
23 | <CodeAnalysisRuleSet Condition=" Exists('$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset') ">$(MSBuildThisFileDirectory)CustomizedNativeRecommendedRules.ruleset</CodeAnalysisRuleSet> | ||
24 | </PropertyGroup> | ||
25 | |||
26 | <ItemDefinitionGroup> | ||
27 | <ClCompile> | ||
28 | <DisableSpecificWarnings>$(DisableSpecificCompilerWarnings)</DisableSpecificWarnings> | ||
29 | <WarningLevel>Level4</WarningLevel> | ||
30 | <AdditionalIncludeDirectories>$(ProjectDir)inc;$(MSBuildProjectDirectory);$(IntDir);$(SqlCESdkIncludePath);$(ProjectAdditionalIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
31 | <PreprocessorDefinitions>WIN32;_WINDOWS;_WIN32_MSI=500;_WIN32_WINNT=0x0600;$(ArmPreprocessorDefinitions);$(UnicodePreprocessorDefinitions);_CRT_STDIO_LEGACY_WIDE_SPECIFIERS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
32 | <PrecompiledHeader>Use</PrecompiledHeader> | ||
33 | <PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile> | ||
34 | <CallingConvention Condition="'$(Platform)'=='Win32'">StdCall</CallingConvention> | ||
35 | <TreatWarningAsError>true</TreatWarningAsError> | ||
36 | <ExceptionHandling>false</ExceptionHandling> | ||
37 | <ControlFlowGuard>Guard</ControlFlowGuard> | ||
38 | <AdditionalOptions>-YlprecompDefine</AdditionalOptions> | ||
39 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/Zc:threadSafeInit- %(AdditionalOptions)</AdditionalOptions> | ||
40 | <MultiProcessorCompilation Condition=" $(NUMBER_OF_PROCESSORS) > 4 ">true</MultiProcessorCompilation> | ||
41 | </ClCompile> | ||
42 | <ResourceCompile> | ||
43 | <PreprocessorDefinitions>$(ArmPreprocessorDefinitions);%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
44 | <AdditionalIncludeDirectories>$(ProjectAdditionalResourceIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | ||
45 | </ResourceCompile> | ||
46 | <Lib> | ||
47 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ProjectAdditionalLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
48 | </Lib> | ||
49 | <Link> | ||
50 | <SubSystem>$(ProjectSubSystem)</SubSystem> | ||
51 | <ModuleDefinitionFile>$(ProjectModuleDefinitionFile)</ModuleDefinitionFile> | ||
52 | <NoEntryPoint>$(ResourceOnlyDll)</NoEntryPoint> | ||
53 | <GenerateDebugInformation>true</GenerateDebugInformation> | ||
54 | <AdditionalDependencies>$(ProjectAdditionalLinkLibraries);advapi32.lib;comdlg32.lib;user32.lib;oleaut32.lib;gdi32.lib;shell32.lib;ole32.lib;version.lib;%(AdditionalDependencies)</AdditionalDependencies> | ||
55 | <AdditionalLibraryDirectories>$(OutDir);$(AdditionalMultiTargetLibraryPath);$(ArmLibraryDirectories);$(ProjectAdditionalLinkLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||
56 | <AdditionalOptions Condition=" $(PlatformToolset.StartsWith('v14')) ">/IGNORE:4099 %(AdditionalOptions)</AdditionalOptions> | ||
57 | </Link> | ||
58 | </ItemDefinitionGroup> | ||
59 | |||
60 | <ItemDefinitionGroup Condition=" '$(Platform)'=='Win32' and '$(PlatformToolset)'!='v100'"> | ||
61 | <ClCompile> | ||
62 | <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet> | ||
63 | </ClCompile> | ||
64 | </ItemDefinitionGroup> | ||
65 | <ItemDefinitionGroup Condition=" '$(Platform)'=='arm' "> | ||
66 | <ClCompile> | ||
67 | <CallingConvention>CDecl</CallingConvention> | ||
68 | </ClCompile> | ||
69 | </ItemDefinitionGroup> | ||
70 | <ItemDefinitionGroup Condition=" '$(ConfigurationType)'=='StaticLibrary' "> | ||
71 | <ClCompile> | ||
72 | <DebugInformationFormat>OldStyle</DebugInformationFormat> | ||
73 | <OmitDefaultLibName>true</OmitDefaultLibName> | ||
74 | <IgnoreAllDefaultLibraries>true</IgnoreAllDefaultLibraries> | ||
75 | </ClCompile> | ||
76 | </ItemDefinitionGroup> | ||
77 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' "> | ||
78 | <ClCompile> | ||
79 | <Optimization>Disabled</Optimization> | ||
80 | <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> | ||
81 | <PreprocessorDefinitions>_DEBUG;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
82 | <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> | ||
83 | </ClCompile> | ||
84 | </ItemDefinitionGroup> | ||
85 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Debug' and '$(CLRSupport)'=='true' "> | ||
86 | <ClCompile> | ||
87 | <ControlFlowGuard></ControlFlowGuard> | ||
88 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
89 | <RuntimeLibrary>MultiThreadedDebugDll</RuntimeLibrary> | ||
90 | </ClCompile> | ||
91 | </ItemDefinitionGroup> | ||
92 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' "> | ||
93 | <ClCompile> | ||
94 | <Optimization>MinSpace</Optimization> | ||
95 | <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||
96 | <FunctionLevelLinking>true</FunctionLevelLinking> | ||
97 | <IntrinsicFunctions>true</IntrinsicFunctions> | ||
98 | <RuntimeLibrary>MultiThreaded</RuntimeLibrary> | ||
99 | </ClCompile> | ||
100 | <Link> | ||
101 | <EnableCOMDATFolding>true</EnableCOMDATFolding> | ||
102 | <OptimizeReferences>true</OptimizeReferences> | ||
103 | </Link> | ||
104 | </ItemDefinitionGroup> | ||
105 | <ItemDefinitionGroup Condition=" '$(Configuration)'=='Release' and '$(CLRSupport)'=='true' "> | ||
106 | <ClCompile> | ||
107 | <ControlFlowGuard></ControlFlowGuard> | ||
108 | <BasicRuntimeChecks></BasicRuntimeChecks> | ||
109 | <RuntimeLibrary>MultiThreadedDll</RuntimeLibrary> | ||
110 | </ClCompile> | ||
111 | </ItemDefinitionGroup> | ||
112 | <ItemDefinitionGroup Condition=" '$(CLRSupport)'=='true' "> | ||
113 | <Link> | ||
114 | <KeyFile>$(LinkKeyFile)</KeyFile> | ||
115 | <DelaySign>$(LinkDelaySign)</DelaySign> | ||
116 | </Link> | ||
117 | </ItemDefinitionGroup> | ||
118 | </Project> | ||
diff --git a/src/NativeMultiTargeting.Build.props b/src/NativeMultiTargeting.Build.props new file mode 100644 index 00000000..1ff46559 --- /dev/null +++ b/src/NativeMultiTargeting.Build.props | |||
@@ -0,0 +1,10 @@ | |||
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. --> | ||
3 | |||
4 | <Project> | ||
5 | <!-- Overrides the standard Cpp.Build.props to include the PlatformToolset in the output path. --> | ||
6 | <PropertyGroup> | ||
7 | <IntDir>$(BaseIntermediateOutputPath)$(Configuration)\$(PlatformToolset)\$(PlatformTarget)\</IntDir> | ||
8 | <OutDir>$(OutputPath)$(PlatformToolset)\$(PlatformTarget)\</OutDir> | ||
9 | </PropertyGroup> | ||
10 | </Project> | ||
diff --git a/src/engine/container.cpp b/src/engine/container.cpp index 2db2412c..0cce3131 100644 --- a/src/engine/container.cpp +++ b/src/engine/container.cpp | |||
@@ -318,6 +318,10 @@ extern "C" HRESULT ContainerStreamToBuffer( | |||
318 | case BURN_CONTAINER_TYPE_CABINET: | 318 | case BURN_CONTAINER_TYPE_CABINET: |
319 | hr = CabExtractStreamToBuffer(pContext, ppbBuffer, pcbBuffer); | 319 | hr = CabExtractStreamToBuffer(pContext, ppbBuffer, pcbBuffer); |
320 | break; | 320 | break; |
321 | |||
322 | default: | ||
323 | *ppbBuffer = NULL; | ||
324 | *pcbBuffer = 0; | ||
321 | } | 325 | } |
322 | 326 | ||
323 | //LExit: | 327 | //LExit: |
diff --git a/src/engine/container.h b/src/engine/container.h index 88fe48f1..c2c1c9a8 100644 --- a/src/engine/container.h +++ b/src/engine/container.h | |||
@@ -161,7 +161,7 @@ HRESULT ContainerOpen( | |||
161 | __in_z LPCWSTR wzFilePath | 161 | __in_z LPCWSTR wzFilePath |
162 | ); | 162 | ); |
163 | HRESULT ContainerNextStream( | 163 | HRESULT ContainerNextStream( |
164 | __inout BURN_CONTAINER_CONTEXT* pContext, | 164 | __in BURN_CONTAINER_CONTEXT* pContext, |
165 | __inout_z LPWSTR* psczStreamName | 165 | __inout_z LPWSTR* psczStreamName |
166 | ); | 166 | ); |
167 | HRESULT ContainerStreamToFile( | 167 | HRESULT ContainerStreamToFile( |
diff --git a/src/stub/stub.nuspec b/src/stub/stub.nuspec new file mode 100644 index 00000000..968feff3 --- /dev/null +++ b/src/stub/stub.nuspec | |||
@@ -0,0 +1,25 @@ | |||
1 | <?xml version="1.0"?> | ||
2 | <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd"> | ||
3 | <metadata minClientVersion="4.0"> | ||
4 | <id>$id$</id> | ||
5 | <version>$version$</version> | ||
6 | <title>$title$</title> | ||
7 | <description>$description$</description> | ||
8 | <authors>$authors$</authors> | ||
9 | <license type="expression">MS-RL</license> | ||
10 | <requireLicenseAcceptance>false</requireLicenseAcceptance> | ||
11 | <copyright>$copyright$</copyright> | ||
12 | <projectUrl>$projectUrl$</projectUrl> | ||
13 | <repository type="$repositorytype$" url="$repositoryurl$" commit="$repositorycommit$" /> | ||
14 | </metadata> | ||
15 | |||
16 | <files> | ||
17 | <file src="$projectFolder$$id$.props" target="buildTransitive" /> | ||
18 | <file src="..\..\build\$configuration$\Win32\burn.exe" target="tools\x86" /> | ||
19 | <file src="..\..\build\$configuration$\Win32\burn.pdb" target="tools\x86" /> | ||
20 | <file src="..\..\build\$configuration$\x64\burn.exe" target="tools\x64" /> | ||
21 | <file src="..\..\build\$configuration$\x64\burn.pdb" target="tools\x64" /> | ||
22 | <file src="..\..\build\$configuration$\arm64\burn.exe" target="tools\arm64" /> | ||
23 | <file src="..\..\build\$configuration$\arm64\burn.pdb" target="tools\arm64" /> | ||
24 | </files> | ||
25 | </package> | ||
diff --git a/src/stub/stub.vcxproj b/src/stub/stub.vcxproj index 38710865..97972848 100644 --- a/src/stub/stub.vcxproj +++ b/src/stub/stub.vcxproj | |||
@@ -46,6 +46,8 @@ | |||
46 | <!-- NBGV properties --> | 46 | <!-- NBGV properties --> |
47 | <AssemblyLanguage>1033</AssemblyLanguage> | 47 | <AssemblyLanguage>1033</AssemblyLanguage> |
48 | <AssemblyProduct>Burn</AssemblyProduct> | 48 | <AssemblyProduct>Burn</AssemblyProduct> |
49 | <PackageId>WixToolset.Burn</PackageId> | ||
50 | <SignOutput>false</SignOutput> | ||
49 | </PropertyGroup> | 51 | </PropertyGroup> |
50 | 52 | ||
51 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> | 53 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> |
@@ -101,10 +103,6 @@ | |||
101 | <None Include="packages.config" /> | 103 | <None Include="packages.config" /> |
102 | </ItemGroup> | 104 | </ItemGroup> |
103 | 105 | ||
104 | <Target Name="Pack" DependsOnTargets="GetBuildVersion"> | ||
105 | <Exec Command='nuget pack WixToolset.Burn.nuspec -Symbols -BasePath "$(BaseOutputPath)$(Configuration)" -OutputDirectory "$(BaseOutputPath)$(Configuration)" -Properties Id=WixToolset.Burn;Version="$(BuildVersionSimple)";ProjectFolder=$(MSBuildThisFileDirectory);Authors="$(Authors)";Copyright="$(Copyright)";Description="$(Description)"' /> | ||
106 | </Target> | ||
107 | |||
108 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | 106 | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> |
109 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> | 107 | <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> |
110 | <PropertyGroup> | 108 | <PropertyGroup> |
@@ -119,4 +117,4 @@ | |||
119 | <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'))" /> | 117 | <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'))" /> |
120 | <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props'))" /> | 118 | <Error Condition="!Exists('..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\WixToolset.DUtil.4.0.72\build\WixToolset.DUtil.props'))" /> |
121 | </Target> | 119 | </Target> |
122 | </Project> \ No newline at end of file | 120 | </Project> |
diff --git a/src/wix.snk b/src/wix.snk new file mode 100644 index 00000000..3908a66a --- /dev/null +++ b/src/wix.snk | |||
Binary files differ | |||