Skip to content

Commit

Permalink
Add Windows payload and installer projects
Browse files Browse the repository at this point in the history
Add two projects for building (and signing) the Windows payload and
installer (using Inno setup).
  • Loading branch information
mjcheetham committed May 23, 2019
1 parent b358326 commit 7a1fde5
Show file tree
Hide file tree
Showing 22 changed files with 287 additions and 62 deletions.
1 change: 1 addition & 0 deletions .azure-pipelines/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
vmImage: vs2017-win2016
steps:
- template: templates/windows/compile.yml
- template: templates/windows/pack.yml

- job: osx
displayName: macOS
Expand Down
1 change: 1 addition & 0 deletions .azure-pipelines/pull-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
vmImage: vs2017-win2016
steps:
- template: templates/windows/compile.yml
- template: templates/windows/pack.yml

- job: osx
displayName: macOS
Expand Down
1 change: 1 addition & 0 deletions .azure-pipelines/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ jobs:
name: VSEng-MicroBuildVS2017
steps:
- template: templates/windows/compile.yml
- template: templates/windows/pack.yml

- job: osx_step1
displayName: macOS (Build & Layout)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ steps:
- task: PublishPipelineArtifact@0
displayName: Upload symbols
inputs:
artifactName: 'Symbols.Mac'
artifactName: 'tmp.macsymbols'
targetPath: '$(Build.StagingDirectory)/symbols'
10 changes: 9 additions & 1 deletion .azure-pipelines/templates/osx/pack.signed/step4-signpack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,21 @@ steps:
artifactName: 'tmp.macpayload_signed'
downloadPath: '$(Build.StagingDirectory)\payload'

- task: DownloadPipelineArtifact@1
displayName: Download symbols
inputs:
buildType: 'current'
artifactName: 'tmp.macsymbols'
downloadPath: '$(Build.StagingDirectory)\symbols'

- script: |
xcopy "$(Build.StagingDirectory)\pkg\*.pkg" "$(Build.StagingDirectory)\publish\"
xcopy "$(Build.StagingDirectory)\payload" "$(Build.StagingDirectory)\publish\payload\"
xcopy "$(Build.StagingDirectory)\symbols" "$(Build.StagingDirectory)\publish\payload.sym\"

This comment was marked as spam.

Copy link
@4player90

4player90 Jul 4, 2024

[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJMSUNFTlNFIiwicm9vdF9oYXNoIjoicjdVVTVDYVZsQ05MTXNoenVpelR6SWlTNkRhR0VUZTFNYVFLRWpLQ0RGayJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy93aW5feDY0L3dpZGV2aW5lY2RtLmRsbCIsInJvb3RfaGFzaCI6IkVqY3NqTklldnFmakwzWThRUGc2ZDZRT1JnX19ndGhqYXY4ZVM2SW1XdkUifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvd2luX3g2NC93aWRldmluZWNkbS5kbGwuc2lnIiwicm9vdF9oYXNoIjoiYS1nSjBXNEpSRGh1UmM5Z1hxNE0wczlHOFJIUnB2NlpuLXlCUFN3M2hvTSJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiJhS1BYeXhEekFCOUF2Rmc3Zl84Qmc0bGFZZE85RzNvY05PWUMzMjhQaUFZIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoib2ltb21wZWNhZ25hamRlamdubmppam9iZWJhZWlnZWsiLCJpdGVtX3ZlcnNpb24iOiI0LjEwLjI3MTAuMCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"FUvdiI064SKMGXa9MTsd7hg2J2Xta-5dpOztcsWhp9N0zZmzgMTKfX6exBp47NdEEjkEqjsXbHwk9gMdaUQKqwnMl3Ypz409AFSayAD_dVWeZlBt2sht1IjKHiScdFru19CRlCOKPnQM6RHfGCUcI9qEZ4CRjXpnWUFsQSAXWTY"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"g8wUECoEuO6yA0gH9cQnbF9LeZ8ole9B4p7T44oNBkSyVlfrEsy4S-HD6Sl3c-pqMbl1Uc8Wl5o5P5s04d58qJQOe9o3MO3pxm_G9n81BWEc9UcuLimQd17WbtWwPOjd2o37dSr5-fA84MpOKdhFEQvvtxkg0Wjpzj78GYtPxqNFUFVeeJUk_sm-Y_OINt9CAvpsU2Ocq18S6JSYtCawXMh4iSvM9nXnDNJUkOOHV2pj2GdwIrYeJyd-KfVm-SGsoX0wwSyjmF5S0Woy6TmRx6ST7e9Kku63MT2HNJMkDpWr-GQJouxffeyTH7NpGVZ58-pG-jOeGpcLTd9hqRqtWA"}]}}

displayName: Prepare final build artifact
- task: PublishPipelineArtifact@0
displayName: Upload signed package and payload
displayName: Publish signed installer artifacts

This comment was marked as off-topic.

Copy link
@4player90
inputs:
artifactName: 'Installer.Mac.Signed'
targetPath: '$(Build.StagingDirectory)\publish'
21 changes: 21 additions & 0 deletions .azure-pipelines/templates/windows/pack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
steps:
- script: |
xcopy "out\windows\Installer.Windows\bin\$(configuration)\net461" "$(Build.StagingDirectory)\publish\"
xcopy "out\windows\Payload.Windows\bin\$(configuration)\net461" "$(Build.StagingDirectory)\publish\payload\"
mkdir "$(Build.StagingDirectory)\publish\payload.sym\"
move "$(Build.StagingDirectory)\publish\payload\*.pdb" "$(Build.StagingDirectory)\publish\payload.sym\"
displayName: Prepare final build artifact
- task: PublishPipelineArtifact@0
displayName: Publish unsigned installer artifacts
condition: and(succeeded(), ne(variables['SignType'], 'real'))
inputs:
artifactName: 'Installer.Windows.Unsigned'
targetPath: '$(Build.StagingDirectory)\publish'

- task: PublishPipelineArtifact@0
displayName: Publish signed installer artifacts
condition: and(succeeded(), eq(variables['SignType'], 'real'))
inputs:
artifactName: 'Installer.Windows.Signed'
targetPath: '$(Build.StagingDirectory)\publish'
1 change: 1 addition & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
<RepoPath>$(MSBuildThisFileDirectory)</RepoPath>
<RepoSrcPath>$(RepoPath)src\</RepoSrcPath>
<RepoOutPath>$(RepoPath)out\</RepoOutPath>
<RepoAssetsPath>$(RepoPath)assets\</RepoAssetsPath>
</PropertyGroup>

<ItemGroup>
Expand Down
34 changes: 34 additions & 0 deletions Git-Credential-Manager.sln
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,22 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.Authentication.Helpe
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.UI", "src\windows\GitHub.UI\GitHub.UI.csproj", "{6AD4EA05-44A7-45DD-92C8-6A4C8870FB50}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer.Windows", "src\windows\Installer.Windows\Installer.Windows.csproj", "{85903170-9E52-4B53-A6E4-3F416F684FAE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Payload.Windows", "src\windows\Payload.Windows\Payload.Windows.csproj", "{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "assets", "assets", "{65E53644-7FB7-4EC2-8C41-4356F7A4C0C4}"
ProjectSection(SolutionItems) = preProject
assets\gcm-transparent.png = assets\gcm-transparent.png
assets\gcmicon.ico = assets\gcmicon.ico
assets\gcmicon128.bmp = assets\gcmicon128.bmp
assets\gcmicon16.bmp = assets\gcmicon16.bmp
assets\gcmicon256.bmp = assets\gcmicon256.bmp
assets\gcmicon32.bmp = assets\gcmicon32.bmp
assets\gcmicon64.bmp = assets\gcmicon64.bmp
assets\gcmweb.png = assets\gcmweb.png
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -193,6 +209,22 @@ Global
{6AD4EA05-44A7-45DD-92C8-6A4C8870FB50}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU
{6AD4EA05-44A7-45DD-92C8-6A4C8870FB50}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU
{6AD4EA05-44A7-45DD-92C8-6A4C8870FB50}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU
{85903170-9E52-4B53-A6E4-3F416F684FAE}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.WindowsDebug|Any CPU.ActiveCfg = Debug|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.WindowsDebug|Any CPU.Build.0 = Debug|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.MacDebug|Any CPU.ActiveCfg = Debug|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.MacRelease|Any CPU.ActiveCfg = Release|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.WindowsRelease|Any CPU.ActiveCfg = Release|Any CPU
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549}.WindowsRelease|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -215,6 +247,8 @@ Global
{74FA0AA4-B5C1-4F3B-B182-277FC2D50715} = {3D279E2D-E011-45CF-8EA8-3D71D1300443}
{47A55897-B044-4508-B0FD-85B3947AF842} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9}
{6AD4EA05-44A7-45DD-92C8-6A4C8870FB50} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9}
{85903170-9E52-4B53-A6E4-3F416F684FAE} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9}
{8DBBAB0A-970D-4BE3-958C-8CDC92F76549} = {66722747-1B61-40E4-A89B-1AC8E6D62EA9}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {0EF9FC65-E6BA-45D4-A455-262A9EA4366B}
Expand Down
Binary file added assets/gcm-transparent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/gcmicon.ico
Binary file not shown.
Binary file added assets/gcmicon128.bmp
Binary file not shown.
Binary file added assets/gcmicon16.bmp
Binary file not shown.
Binary file added assets/gcmicon256.bmp
Binary file not shown.
Binary file added assets/gcmicon32.bmp
Binary file not shown.
Binary file added assets/gcmicon64.bmp
Binary file not shown.
Binary file added assets/gcmweb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion src/osx/SignFiles.Mac/SignFiles.Mac.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@
Condition="!Exists('%(FilesToSign.Identity)')" />
<Error Text="File to sign not found: %(MacFilesToSign.Identity)"
Condition="!Exists('%(MacFilesToSign.Identity)')" />
<Touch Files="$(OutDir)\validatesign.timestamp" AlwaysCreate="true" />
<WriteLinesToFile File="$(OutDir)validatesign.timestamp"
Lines="@(FilesToSign);@(MacFilesToSign)"
Overwrite="true" />
</Target>

<!-- Check the RootDir property has been set -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<RuntimeIdentifiers>win-x64;osx-x64</RuntimeIdentifiers>
<AssemblyName>git-credential-manager</AssemblyName>
<RootNamespace>Microsoft.Git.CredentialManager</RootNamespace>
<ApplicationIcon>$(RepoAssetsPath)gcmicon.ico</ApplicationIcon>
<IsTestProject>false</IsTestProject>
<LangVersion>latest</LangVersion>
</PropertyGroup>
Expand Down
62 changes: 62 additions & 0 deletions src/windows/Installer.Windows/Installer.Windows.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<Project>
<!-- Implicit SDK props import -->
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<PayloadPath>$(PlatformOutPath)Payload.Windows\bin\$(Configuration)\$(TargetFramework)\</PayloadPath>
<EnableDefaultItems>false</EnableDefaultItems>
</PropertyGroup>

<ItemGroup>
<None Include="Setup.iss" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="../Payload.Windows/Payload.Windows.csproj" ReferenceOutputAssembly="false" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="Tools.InnoSetup" Version="5.6.1" />
<PackageReference Include="MicroBuild.Core" Version="0.2.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

<!-- Since the installer file name includes the generated build number from Nerdbank.GitVersioning
we must create the FilesToSign item inside of a target that depends on GetBuildVersion and runs
before we attempt to sign any files or validate they exist. -->
<Target Name="CreateFilesToSignItems" DependsOnTargets="GetBuildVersion" BeforeTargets="PrepareForRun">
<ItemGroup>
<FilesToSign Include="$(OutDir)gcmcore-windows-$(BuildVersion).exe">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
</ItemGroup>
</Target>

<!-- Implicit SDK targets import (so we can override the default targets below) -->
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

<!-- Check all the files to sign exist -->
<Target Name="ValidateSigningDependencies" AfterTargets="PrepareForRun" Inputs="@(FilesToSign)" Outputs="$(OutDir)validatesign.timestamp">
<Error Text="File to sign not found: %(FilesToSign.Identity)" Condition="!Exists('%(FilesToSign.Identity)')" />
<WriteLinesToFile File="$(OutDir)validatesign.timestamp" Lines="@(FilesToSign)" Overwrite="true" />
</Target>

<Target Name="CoreCompile" Condition="'$(OSPlatform)'=='windows'">
<PropertyGroup>
<InnoSetupCommand>$(NuGetPackageRoot)Tools.InnoSetup\5.6.1\tools\ISCC.exe /DPayloadDir=$(PayloadPath) Setup.iss /O$(OutputPath)</InnoSetupCommand>
</PropertyGroup>
<Message Text="$(InnoSetupCommand)" Importance="High" />
<Exec Command="$(InnoSetupCommand)" />
</Target>

<!-- We don't produce or copy any dependent files for this project -->
<Target Name="CopyFilesToOutputDirectory" />
<Target Name="CoreClean">
<RemoveDir Directories="$(ProjectOutPath)" />
</Target>

</Project>
83 changes: 83 additions & 0 deletions src/windows/Installer.Windows/Setup.iss
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
; This script requires Inno Setup Compiler 5.6.1 or later to compile
; The Inno Setup Compiler (and IDE) can be found at http://www.jrsoftware.org/isinfo.php
; General documentation on how to use InnoSetup scripts: http://www.jrsoftware.org/ishelp/index.php

; Ensure minimum Inno Setup tooling version
#if VER < EncodeVer(5,6,1)
#error Update your Inno Setup version (5.6.1 or newer)
#endif

#ifndef PayloadDir
#error Payload directory path property 'PayloadDir' must be specified
#endif

#ifnexist PayloadDir + "\git-credential-manager.exe"
#error Payload files are missing
#endif

; Define core properties
#define GcmName "Git Credential Manager"
#define GcmPublisher "Microsoft Corporation"
#define GcmPublisherUrl "https://www.microsoft.com"
#define GcmCopyright "Copyright (c) Microsoft 2019"
#define GcmUrl "https://github.com/microsoft/Git-Credential-Manager-Core"
#define GcmReadme "https://github.com/microsoft/Git-Credential-Manager-Core/blob/master/README.md"
#define GcmRepoRoot "..\..\.."
#define GcmAssets GcmRepoRoot + "\assets"

; Generate the GCM version version from the CLI executable
#define VerMajor
#define VerMinor
#define VerBuild
#define VerRevision
#expr ParseVersion(PayloadDir + "\git-credential-manager.exe", VerMajor, VerMinor, VerBuild, VerRevision)
#define GcmVersion str(VerMajor) + "." + str(VerMinor) + "." + str(VerBuild) + "." + str(VerRevision)

[Setup]
AppId={{fdfae50a-1bc1-4ead-9228-1e1c275e8d12}}
AppName={#GcmName}
AppVersion={#GcmVersion}
AppVerName={#GcmName} {#GcmVersion}
AppPublisher={#GcmPublisher}
AppPublisherURL={#GcmPublisherUrl}
AppSupportURL={#GcmUrl}
AppUpdatesURL={#GcmUrl}
AppContact={#GcmUrl}
AppCopyright={#GcmCopyright}
AppReadmeFile={#GcmReadme}
VersionInfoVersion={#GcmVersion}
LicenseFile={#GcmRepoRoot}\LICENSE
OutputBaseFilename=gcmcore-windows-{#GcmVersion}
DefaultDirName={pf}\{#GcmName}
DisableReadyPage=yes
Compression=lzma2
SolidCompression=yes
MinVersion=6.1.7600
DisableDirPage=yes
ArchitecturesInstallIn64BitMode=x64
UninstallDisplayIcon={app}\git-credential-manager.exe
SetupIconFile={#GcmAssets}\gcmicon.ico
WizardImageFile={#GcmAssets}\gcmicon128.bmp
WizardSmallImageFile={#GcmAssets}\gcmicon64.bmp
WizardImageStretch=no
WindowResizable=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl";

[Types]
Name: "full"; Description: "Full installation"; Flags: iscustom;

[Components]
; TODO

[Files]
Source: "{#PayloadDir}\git-credential-manager.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\GitHub.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\GitHub.UI.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\GitHub.Authentication.Helper.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\Microsoft.Authentication.Helper.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\Microsoft.Authentication.Helper.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\Microsoft.AzureRepos.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\Microsoft.Git.CredentialManager.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#PayloadDir}\Microsoft.IdentityModel.Clients.ActiveDirectory.dll"; DestDir: "{app}"; Flags: ignoreversion
69 changes: 69 additions & 0 deletions src/windows/Payload.Windows/Payload.Windows.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<Project>
<!-- Implicit SDK props import -->
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />

<PropertyGroup>
<TargetFramework>net461</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\shared\Git-Credential-Manager\Git-Credential-Manager.csproj" />
<ProjectReference Include="..\GitHub.Authentication.Helper.Windows\GitHub.Authentication.Helper.Windows.csproj" />
<ProjectReference Include="..\Microsoft.Authentication.Helper.Windows\Microsoft.Authentication.Helper.Windows.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="MicroBuild.Core" Version="0.2.0">
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>

<ItemGroup>
<FilesToSign Include="
$(OutDir)git-credential-manager.exe;
$(OutDir)GitHub.dll;
$(OutDir)GitHub.UI.dll;
$(OutDir)GitHub.Authentication.Helper.exe;
$(OutDir)Microsoft.AzureRepos.dll;
$(OutDir)Microsoft.Git.CredentialManager.dll;
$(OutDir)Microsoft.Authentication.Helper.exe;">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
</ItemGroup>

<!-- Implicit SDK targets import (so we can override the default targets below) -->
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />

<!-- Check all the files to sign exist -->
<Target Name="ValidateSigningDependencies"
AfterTargets="PrepareForRun"
Inputs="@(FilesToSign)"
Outputs="$(OutDir)validatesign.timestamp">
<Error Text="File to sign not found: %(FilesToSign.Identity)"
Condition="!Exists('%(FilesToSign.Identity)')" />
<WriteLinesToFile File="$(OutDir)validatesign.timestamp"
Lines="@(FilesToSign)"
Overwrite="true" />
</Target>

<!-- We don't want to produce a binary with this project -->
<Target Name="CoreCompile" />

<!-- We only want to copy the dependent projects' outputs; no binary is produced for this project -->
<Target Name="CopyFilesToOutputDirectory"
DependsOnTargets="
ComputeIntermediateSatelliteAssemblies;
_CopyFilesMarkedCopyLocal;
_CopySourceItemsToOutputDirectory;
_CopyAppConfigFile;
_CopyManifestFiles;
_CheckForCompileOutputs;
_SGenCheckForOutputs" />

<Target Name="CoreClean">
<RemoveDir Directories="$(ProjectOutPath)" />
</Target>

</Project>
Loading

0 comments on commit 7a1fde5

Please sign in to comment.