1
0
Форкнуть 0

build: consolidate signing in installer project.

Consolodate all signing operations in the Installer project. Signing take a long time, stretching builds which take a minute or two to complete into a build which takes tens of minutes to complete. The majority of the added time is due to signing request submission overhead. Therefore, batching requests for signing minimizes the additional time.

Correctly consolidating signing means adding a new Components sub-project to the Installer project. Given that signing submissions can only happen once per project, and that the individual binaries need to be signed prior to 'setup.exe' and 'gcmw-*.zip' files can be generated; a prior signing submission must happen - thus the Components project. Additionally, there is no longer a reason to retain the "MicroBuild" dependencies in the other projects, no a reason to include the "MicroBuild" targets and props.
This commit is contained in:
J Wyman ∞ 2018-07-05 14:04:07 -04:00 коммит произвёл J Wyman
Родитель 23368984f8
Коммит 328a919350
17 изменённых файлов: 314 добавлений и 223 удалений

Просмотреть файл

@ -29,8 +29,8 @@
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Threading.Tasks.Extensions, Version=4.1.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Threading.Tasks.Extensions.4.3.0\lib\portable-net45+win8+wp8+wpa81\System.Threading.Tasks.Extensions.dll</HintPath>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.1.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll</HintPath>
</Reference>
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath>
@ -73,6 +73,7 @@
<Link>xunit.runner.json</Link>
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />

Просмотреть файл

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Просмотреть файл

@ -3,7 +3,7 @@
<package id="Castle.Core" version="4.2.1" targetFramework="net462" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net462" developmentDependency="true" />
<package id="Moq" version="4.8.2" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net462" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net462" />
<package id="xunit" version="2.3.1" targetFramework="net452" />
<package id="xunit.abstractions" version="2.0.1" targetFramework="net452" />

Просмотреть файл

@ -1,14 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AssemblyName>git-askpass</AssemblyName>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<NuGetPackageImportStamp/>
<OutputType>Exe</OutputType>
<ProjectGuid>{19770407-B33A-4EBE-92B8-04C93F43CAE0}</ProjectGuid>
<ProjectName>Cli-Askpass</ProjectName>
@ -21,7 +19,6 @@
<ApplicationIcon>..\..\Assets\gcmicon.ico</ApplicationIcon>
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
<OutputPath>$(ProjectDir)$(OutputPath)</OutputPath>
<SigningTarget>$(OutputPath)\$(AssemblyName).exe</SigningTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
@ -68,12 +65,8 @@
<Compile Include="UserPromptKind.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<InProject>false</InProject>
</None>
<None Include="packages.config">
<InProject>false</InProject>
</None>
<None Include="app.config"/>
<None Include="packages.config"/>
</ItemGroup>
<ItemGroup>
<Page Include="UserPromptDialog.xaml">
@ -98,9 +91,6 @@
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props'))" />
</Target>
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets" Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MicroBuild.Core" version="0.3.0" targetFramework="net452" developmentDependency="true" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net452" developmentDependency="true" />
</packages>

Просмотреть файл

@ -1,13 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AssemblyName>git-credential-manager</AssemblyName>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<NuGetPackageImportStamp />
<NuGetPackageImportStamp/>
<OutputType>Exe</OutputType>
<ProjectGuid>{19770407-63D4-40A8-A9DF-F1C4B473308A}</ProjectGuid>
<ProjectName>Cli-Manager</ProjectName>
@ -20,7 +19,6 @@
<ApplicationIcon>..\..\Assets\gcmicon.ico</ApplicationIcon>
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
<OutputPath>$(ProjectDir)$(OutputPath)</OutputPath>
<SigningTarget>$(OutputPath)\$(AssemblyName).exe</SigningTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -56,15 +54,7 @@
<None Include="app.config">
<InProject>false</InProject>
</None>
<None Include="packages.config">
<InProject>false</InProject>
</None>
</ItemGroup>
<ItemGroup>
<FilesToSign Include="$(SigningTarget)">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\Shared\Cli\Cli-Shared.projitems" Label="Shared" />
@ -73,9 +63,6 @@
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props'))" />
</Target>
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MicroBuild.Core" version="0.3.0" targetFramework="net452" developmentDependency="true" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net452" developmentDependency="true" />
<package id="Pandoc.Windows" version="2.1.0" developmentDependency="true" />
<package id="Tools.InnoSetup" version="5.5.9" targetFramework="net452" />

Просмотреть файл

@ -46,8 +46,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GitHub.Authentication.Test"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GcmParentWindowTest", "GcmParentWindowTest\GcmParentWindowTest.csproj", "{2F110EEF-14BA-4324-9DA4-C7D16469B064}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Installer", "Installer\Installer.proj", "{19770407-3808-4B17-9EE0-21DD3468F875}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
Shared\Win32\Microsoft.Alm.Win32.projitems*{19770407-37cd-41ac-b50c-cf885bbce344}*SharedItemsImports = 13
@ -116,9 +114,6 @@ Global
{2F110EEF-14BA-4324-9DA4-C7D16469B064}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2F110EEF-14BA-4324-9DA4-C7D16469B064}.Release|Any CPU.ActiveCfg = Debug|Any CPU
{2F110EEF-14BA-4324-9DA4-C7D16469B064}.Release|Any CPU.Build.0 = Debug|Any CPU
{19770407-3808-4B17-9EE0-21DD3468F875}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{19770407-3808-4B17-9EE0-21DD3468F875}.Release|Any CPU.ActiveCfg = Release|Any CPU
{19770407-3808-4B17-9EE0-21DD3468F875}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

154
Installer/Components.proj Normal file
Просмотреть файл

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props"
Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup Label="Globals">
<NuGetPackageImportStamp />
<ProjectGuid>{19770407-1214-0415-1230-21DD3468F875}</ProjectGuid>
<ProjectDir Condition=" '$(ProjectDir)' == '' Or '$(ProjectDir)' == '*Undefined*' ">$(MSBuildProjectDirectory)</ProjectDir>
<RootNamespace>GCMW-Components</RootNamespace>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' Or '$(Configuration)' == '*Undefined*' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' " >Any CPU</Platform>
<SolutionDir Condition=" '$(SolutionDir)' == '' Or '$(SolutionDir)' == '*Undefined*' ">$([System.IO.Directory]::GetParent($(ProjectDir)))</SolutionDir>
<AssetsDir Condition=" '$(AssetsDir)' == '' Or '$(AssetDir)' == '*Undefined*' ">$(SolutionDir)\Assets</AssetsDir>
<DocsDir Condition=" '$(DocsDir)' == '' Or '$(DocsDir)' == '*Undefined*' ">$(SolutionDir)\Docs</DocsDir>
</PropertyGroup>
<PropertyGroup>
<InputPath Condition=" '$(Configuration)' == 'Debug' ">bin\Debug</InputPath>
<InputPath Condition=" '$(Configuration)' == 'Release' ">bin\Release</InputPath>
<IntermediateOutputPath>$(ProjectDir)\obj</IntermediateOutputPath>
<!-- MicroBuild signing requires `OutDir` to be defined -->
<OutDir>$(IntermediateOutputPath)</OutDir>
</PropertyGroup>
<!-- Compile a list of dependencies -->
<ItemGroup>
<ProjectReference Include="..\Cli\Askpass\Cli-Askpass.csproj">
<Project>{19770407-B33A-4EBE-92B8-04C93F43CAE0}</Project>
<Name>Cli-Askpass</Name>
</ProjectReference>
<ProjectReference Include="..\Cli\Manager\Cli-Manager.csproj">
<Project>{19770407-63D4-40A8-A9DF-F1C4B473308A}</Project>
<Name>Cli-Manager</Name>
</ProjectReference>
<ProjectReference Include="..\Bitbucket.Authentication\Src\Bitbucket.Authentication.csproj">
<Project>{EE663736-5BAD-4CA6-A4F8-99978925AD8A}</Project>
<Name>Bitbucket.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\GitHub.Authentication\Src\GitHub.Authentication.csproj">
<Project>{CF306116-BBF0-4CC7-AFCE-A506AC4752CB}</Project>
<Name>GitHub.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\Microsoft.Alm.Authentication\Src\Microsoft.Alm.Authentication.csproj">
<Project>{19770407-B493-459D-BB4F-04FBEFB1BA13}</Project>
<Name>Microsoft.Alm.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\VisualStudioTeamServices.Authentication\Src\VisualStudioTeamServices.Authentication.csproj">
<Project>{19770407-D7D8-4A37-914C-F552FF4B90D4}</Project>
<Name>VisualStudioTeamServices.Authentication</Name>
</ProjectReference>
</ItemGroup>
<!-- Compile the list of files to sign with MicroBuild -->
<ItemGroup>
<FilesToSign Include="$(IntermediateOutputPath)\Microsoft.Alm.Authentication.dll">
<Authenticode>Microsoft</Authenticode>
</FilesToSign>
<FilesToSign Include="$(IntermediateOutputPath)\VisualStudioTeamServices.Authentication.dll">
<Authenticode>Microsoft</Authenticode>
</FilesToSign>
<FilesToSign Include="$(IntermediateOutputPath)\git-credential-manager.exe">
<Authenticode>Microsoft</Authenticode>
</FilesToSign>
<FilesToSign Include="$(IntermediateOutputPath)\git-askpass.exe">
<Authenticode>Microsoft</Authenticode>
</FilesToSign>
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Target Name="AfterBuild" AfterTargets="Build" />
<Target Name="BeforeBuild" BeforeTargets="Build" />
<Target Name="Build">
<Error Condition=" '$(Configuration)' != 'Debug' And '$(Configuration)' != 'Release' "
Text="The 'Configuration' property must be set to 'Debug' or 'Release'." />
<Error Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' "
Text="The 'Platform' property cannot be empty of undefined." />
<!-- Ensure all dependencies are built -->
<MSBuild Projects="@(ProjectReference)" Targets="Build" />
</Target>
<Target Name="GenerateDocuments" AfterTargets="Build" BeforeTargets="AfterBuild">
<!-- Compile the list of files to copy to the intermediate directory -->
<ItemGroup>
<FilesToCopy Include="$(SolutionDir)\Microsoft.Alm.Authentication\Src\$(InputPath)\Microsoft.Alm.Authentication.dll" />
<FilesToCopy Include="$(SolutionDir)\Microsoft.Alm.Authentication\Src\$(InputPath)\Microsoft.Alm.Authentication.pdb" />
<FilesToCopy Include="$(SolutionDir)\VisualStudioTeamServices.Authentication\Src\$(InputPath)\VisualStudioTeamServices.Authentication.dll" />
<FilesToCopy Include="$(SolutionDir)\VisualStudioTeamServices.Authentication\Src\$(InputPath)\VisualStudioTeamServices.Authentication.pdb" />
<FilesToCopy Include="$(SolutionDir)\Bitbucket.Authentication\Src\$(InputPath)\Bitbucket.Authentication.dll" />
<FilesToCopy Include="$(SolutionDir)\GitHub.Authentication\Src\$(InputPath)\GitHub.Authentication.exe" />
<FilesToCopy Include="$(SolutionDir)\Cli\Manager\$(InputPath)\git-credential-manager.exe" />
<FilesToCopy Include="$(SolutionDir)\Cli\Askpass\$(InputPath)\git-askpass.exe" />
<FilesToCopy Include="$(SolutionDir)\VisualStudioTeamServices.Authentication\Src\$(InputPath)\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" />
<FilesToCopy Include="$(SolutionDir)\LICENSE.TXT" />
<FilesToCopy Include="$(SolutionDir)\README.md" />
<FilesToCopy Include="$(ProjectDir)\Setup.iss" />
<FilesToCopy Include="$(ProjectDir)\VisualStudioTeamServices.Authentication.nuspec" />
</ItemGroup>
<!-- Ensure the intermediate output path exists -->
<MakeDir Condition="!Exists('$(IntermediateOutputPath)')"
Directories="$(IntermediateOutputPath)" />
<!-- Copy all important files to the intermediate output destination -->
<Message Text="Copying files to '(IntermediateOutputPath)'" />
<Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(IntermediateOutputPath)" />
<!-- Generate documentation -->
<Exec Command="&quot;$(SolutionDir)\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe&quot; --from=markdown --to=html5 --self-contained --standalone --include-in-header=&quot;$(AssetsDir)\head_css.html&quot; --title=&quot;Git Credential Manager for Windows&quot; --output=&quot;$(IntermediateOutputPath)\git-credential-manager.html&quot; &quot;$(DocsDir)\CredentialManager.md&quot; &quot;$(DocsDir)\Configuration.md&quot; &quot;$(DocsDir)\Faq.md&quot; &quot;$(DocsDir)\Automation.md&quot; &quot;$(DocsDir)\Development.md&quot;"
IgnoreExitCode="false" />
<Exec Command="&quot;$(SolutionDir)\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe&quot; --from=markdown --to=html5 --self-contained --standalone --include-in-header=&quot;$(AssetsDir)\head_css.html&quot; --title=&quot;Git Askpass Helper for Windows&quot; --output=&quot;$(IntermediateOutputPath)\git-askpass.html&quot; &quot;$(DocsDir)\Askpass.md&quot; &quot;$(DocsDir)\Configuration.md&quot; &quot;$(DocsDir)\Faq.md&quot; &quot;$(DocsDir)\Automation.md&quot; &quot;$(DocsDir)\Development.md&quot;"
IgnoreExitCode="false" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(IntermediateOutputPath);" />
<RemoveDir Directories="$(SolutionDir)\TestResults" />
</Target>
<Target Name="Rebuild" AfterTargets="Clean" BeforeTargets="Build" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')"
Text="$([System.String]::Format('$(ErrorText)', 'MSBuildTasks'))" />
<Error Condition="!Exists('..\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
</Target>
<Import Project="..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets"
Condition="Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" />
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets"
Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -1,8 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props" Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<Project ToolsVersion="15.0" DefaultTargets="Build;Package" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props"
Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props"
Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup Label="Globals">
<NuGetPackageImportStamp />
<ProjectGuid>{19770407-3808-4B17-9EE0-21DD3468F875}</ProjectGuid>
@ -10,13 +13,15 @@
<RootNamespace>Installer</RootNamespace>
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' Or '$(Configuration)' == '*Undefined*' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' " >Any CPU</Platform>
<Platform Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' ">Any CPU</Platform>
<SolutionDir Condition=" '$(SolutionDir)' == '' Or '$(SolutionDir)' == '*Undefined*' ">$([System.IO.Directory]::GetParent($(ProjectDir)))</SolutionDir>
<AssetsDir Condition=" '$(AssetsDir)' == '' Or '$(AssetDir)' == '*Undefined*' ">$(SolutionDir)\Assets</AssetsDir>
<DocsDir Condition=" '$(DocsDir)' == '' Or '$(DocsDir)' == '*Undefined*' ">$(SolutionDir)\Docs</DocsDir>
</PropertyGroup>
<PropertyGroup>
<InputPath Condition=" '$(Configuration)' == 'Debug' ">bin\Debug</InputPath>
<InputPath Condition=" '$(Configuration)' == 'Release' ">bin\Release</InputPath>
@ -24,154 +29,158 @@
<OutputPath>$(SolutionDir)\Deploy</OutputPath>
<OutDir>$(OutputPath)</OutDir>
</PropertyGroup>
<PropertyGroup>
<GcmProps>$([System.IO.File]::ReadAllText($(SolutionDir)\Cli\Manager\Properties\AssemblyInfo.cs))</GcmProps>
<PkgProps>$([System.IO.File]::ReadAllText($(SolutionDir)\VisualStudioTeamServices.Authentication\Src\Properties\AssemblyInfo.cs))</PkgProps>
<Pattern>^\s*\[assembly\s*:\s*AssemblyVersion\s*\(\s*\s*"(\d+\.\d+\.\d+)\.?\d*\s*"\s*\)</Pattern>
<GcmVersion>$([System.Text.RegularExpressions.Regex]::Match($(GcmProps), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</GcmVersion>
<PkgVersion>$([System.Text.RegularExpressions.Regex]::Match($(PkgProps), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</PkgVersion>
<PkgName>VisualStudioTeamServices.Authentication</PkgName>
<!-- Read the nupkg meta data from the AssemblyInfo.cs file copied from VisualStudioTeamServicesAuthentication -->
<Pattern>^\s*\[assembly: AssemblyDescription\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<PkgDescription>$([System.Text.RegularExpressions.Regex]::Match($(PkgProps), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</PkgDescription>
<Pattern>^\s*\[assembly: AssemblyProduct\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<PkgProduct>$([System.Text.RegularExpressions.Regex]::Match($(PkgProps), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</PkgProduct>
<Pattern>^\s*\[assembly: AssemblyTitle\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<PkgTitle>$([System.Text.RegularExpressions.Regex]::Match($(PkgProps), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</PkgTitle>
</PropertyGroup>
<PropertyGroup>
<GcmExePath>$(OutputPath)\GCMW-$(GcmVersion).exe</GcmExePath>
<GcmPkgPath>$(OutputPath)\VisualStudioTeamServices.Authentication.$(PkgVersion).nupkg</GcmPkgPath>
<GcmZipPath>$(OutputPath)\gcmw-v$(GcmVersion).zip</GcmZipPath>
</PropertyGroup>
<!-- Compile a list of dependencies -->
<ItemGroup>
<ProjectReference Include="..\Cli\Askpass\Cli-Askpass.csproj">
<Project>{19770407-B33A-4EBE-92B8-04C93F43CAE0}</Project>
<Name>Cli-Askpass</Name>
</ProjectReference>
<ProjectReference Include="..\Cli\Manager\Cli-Manager.csproj">
<Project>{19770407-63D4-40A8-A9DF-F1C4B473308A}</Project>
<Name>Cli-Manager</Name>
</ProjectReference>
<ProjectReference Include="..\Bitbucket.Authentication\Src\Bitbucket.Authentication.csproj">
<Project>{EE663736-5BAD-4CA6-A4F8-99978925AD8A}</Project>
<Name>Bitbucket.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\GitHub.Authentication\Src\GitHub.Authentication.csproj">
<Project>{CF306116-BBF0-4CC7-AFCE-A506AC4752CB}</Project>
<Name>GitHub.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\Microsoft.Alm.Authentication\Src\Microsoft.Alm.Authentication.csproj">
<Project>{19770407-B493-459D-BB4F-04FBEFB1BA13}</Project>
<Name>Microsoft.Alm.Authentication</Name>
</ProjectReference>
<ProjectReference Include="..\VisualStudioTeamServices.Authentication\Src\VisualStudioTeamServices.Authentication.csproj">
<Project>{19770407-D7D8-4A37-914C-F552FF4B90D4}</Project>
<Name>VisualStudioTeamServices.Authentication</Name>
<ProjectReference Include="Components.proj">
<Project>{19770407-1214-0415-1230-21DD3468F875}</Project>
<Name>GCMW-Components</Name>
</ProjectReference>
</ItemGroup>
<!-- Compile the list of files to sign with MicroBuild -->
<ItemGroup>
<MicrosoftFiles Include="$(IntermediateOutputPath)\Microsoft.Alm.Authentication.dll">
<InProject>false</InProject>
</MicrosoftFiles>
<MicrosoftFiles Include="$(IntermediateOutputPath)\VisualStudioTeamServices.Authentication.dll">
<InProject>false</InProject>
</MicrosoftFiles>
<MicrosoftFiles Include="$(IntermediateOutputPath)\git-credential-manager.exe">
<InProject>false</InProject>
</MicrosoftFiles>
<MicrosoftFiles Include="$(IntermediateOutputPath)\git-askpass.exe">
<InProject>false</InProject>
</MicrosoftFiles>
</ItemGroup>
<ItemGroup>
<ZipContents Include="$(IntermediateOutputPath)\Bitbucket.Authentication.dll">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(IntermediateOutputPath)\git-askpass.html">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(IntermediateOutputPath)\git-credential-manager.html">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(IntermediateOutputPath)\GitHub.Authentication.exe">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(ProjectDir)\install.cmd">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(SolutionDir)\LICENSE.TXT">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(IntermediateOutputPath)\Microsoft.IdentityModel.Clients.ActiveDirectory.dll">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="$(SolutionDir)\README.md">
<InProject>false</InProject>
</ZipContents>
<ZipContents Include="@(MicrosoftFiles)">
<InProject>false</InProject>
</ZipContents>
</ItemGroup>
<ItemGroup>
<FilesToSign Include="@(MicrosoftFiles)">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
<FilesToSign Include="$(GcmExePath)">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
<FilesToSign Include="$(GcmPkgPath)">
<Authenticode>Nuget</Authenticode>
<InProject>false</InProject>
</FilesToSign>
</ItemGroup>
<ItemGroup>
<None Include="packages.config">
<InProject>false</InProject>
</None>
<None Include="packages.config" />
</ItemGroup>
<Target Name="AfterBuild" AfterTargets="Build" />
<Target Name="Build" BeforeTargets="AfterBuild">
<Error Condition=" '$(Condition)' != 'Debug' And '$(Condition)' == 'Release' " Text="The 'Condition' property must be set to 'Debug' or 'Release'." />
<Error Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' " Text="The 'Platform' property cannot be empty of undefined." />
<Target Name="BeforeBuild" BeforeTargets="Build" />
<Target Name="Build">
<Error Condition=" '$(Configuration)' != 'Debug' And '$(Configuration)' != 'Release' "
Text="The 'Configuration' property must be set to 'Debug' or 'Release'." />
<Error Condition=" '$(Platform)' == '' Or '$(Platform)' == '*Undefined*' "
Text="The 'Platform' property cannot be empty of undefined." />
<!-- Ensure all dependencies are built -->
<MSBuild Projects="@(ProjectReference)" Targets="Build" />
<!-- need to declare the items after dependencies have built, so that glob enumeration happens after the files are produced -->
</Target>
<Target Name="Package" AfterTargets="Build" BeforeTargets="AfterBuild">
<!-- Echo current package state information -->
<Message Text="GcmVersion = $(GcmVersion)" />
<Message Text="PkgVersion = $(PkgVersion)" />
<Message Text="GcmExePath = $(GcmExePath)" />
<Message Text="GcmZipPath = $(GcmZipPath)" />
<Message Text="GcmPkgPath = $(GcmPkgPath)" />
<Message Text="PkgDescription = $(PkgDescription)" />
<Message Text="PkgProduct = $(PkgProduct)" />
<Message Text="PkgTitle = $(PkgTitle)" />
<!-- Only download a new copy of nuget.exe if we don't have a copy available -->
<PropertyGroup>
<NugetPath>nuget.exe</NugetPath>
<IsSigned>
</IsSigned>
<IsSigned Condition=" '$(SignType)' == '' Or '$(SignType)' == '*Undefined*' ">-unsigned</IsSigned>
<NugetWorkDir>$(OutputPath.TrimEnd('\'))</NugetWorkDir>
</PropertyGroup>
<PropertyGroup Condition="!Exists($(NugetPath))">
<NugetPath>..\packages\NuGet.CommandLine.4.6.2\tools\NuGet.exe</NugetPath>
</PropertyGroup>
<!-- Need to declare the items after dependencies have built, so that glob enumeration happens after the files are produced -->
<ItemGroup>
<FilesToCopy Include="$(SolutionDir)\Cli\Manager\$(InputPath)\*.*">
<InProject>false</InProject>
</FilesToCopy>
<FilesToCopy Include="$(SolutionDir)\Cli\Askpass\$(InputPath)\git-askpass.exe">
<InProject>false</InProject>
</FilesToCopy>
<FilesToCopy Include="$(SolutionDir)\LICENSE.TXT">
<InProject>false</InProject>
</FilesToCopy>
<FilesToCopy Include="$(SolutionDir)\README.md">
<InProject>false</InProject>
</FilesToCopy>
<FilesToCopy Include="$(ProjectDir)\Setup.iss" />
<ZipContents Include="$(IntermediateOutputPath)\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" />
<ZipContents Include="$(IntermediateOutputPath)\VisualStudioTeamServices.Authentication.dll" />
<ZipContents Include="$(IntermediateOutputPath)\Microsoft.Alm.Authentication.dll" />
<ZipContents Include="$(IntermediateOutputPath)\Bitbucket.Authentication.dll" />
<ZipContents Include="$(IntermediateOutputPath)\git-credential-manager.html" />
<ZipContents Include="$(IntermediateOutputPath)\git-credential-manager.exe" />
<ZipContents Include="$(IntermediateOutputPath)\GitHub.Authentication.exe" />
<ZipContents Include="$(IntermediateOutputPath)\git-askpass.html" />
<ZipContents Include="$(IntermediateOutputPath)\git-askpass.exe" />
<ZipContents Include="$(SolutionDir)\LICENSE.TXT" />
<ZipContents Include="$(ProjectDir)\install.cmd" />
<ZipContents Include="$(SolutionDir)\README.md" />
</ItemGroup>
<MakeDir Directories="$(IntermediateOutputPath)" />
<MakeDir Directories="$(OutputPath)" />
<Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(IntermediateOutputPath)" />
<Exec Command="&quot;$(SolutionDir)\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe&quot; --from=markdown --to=html5 --self-contained --standalone --include-in-header=&quot;$(AssetsDir)\head_css.html&quot; --title=&quot;Git Credential Manager for Windows&quot; --output=&quot;$(IntermediateOutputPath)\git-credential-manager.html&quot; &quot;$(DocsDir)\CredentialManager.md&quot; &quot;$(DocsDir)\Configuration.md&quot; &quot;$(DocsDir)\Faq.md&quot; &quot;$(DocsDir)\Automation.md&quot; &quot;$(DocsDir)\Development.md&quot;" IgnoreExitCode="false" />
<Exec Command="&quot;$(SolutionDir)\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe&quot; --from=markdown --to=html5 --self-contained --standalone --include-in-header=&quot;$(AssetsDir)\head_css.html&quot; --title=&quot;Git Askpass Helper for Windows&quot; --output=&quot;$(IntermediateOutputPath)\git-askpass.html&quot; &quot;$(DocsDir)\Askpass.md&quot; &quot;$(DocsDir)\Configuration.md&quot; &quot;$(DocsDir)\Faq.md&quot; &quot;$(DocsDir)\Automation.md&quot; &quot;$(DocsDir)\Development.md&quot;" IgnoreExitCode="false" />
<Exec Command="&quot;$(SolutionDir)\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe&quot; &quot;/O$(OutputPath)&quot; &quot;$(IntermediateOutputPath)\Setup.iss&quot;" IgnoreStandardErrorWarningFormat="true" WorkingDirectory="$(IntermediateOutputPath)" />
<Zip Files="@(ZipContents)" Flatten="True" ZipFileName="$(OutputPath)\gcmw-v$(GcmVersion).zip" WorkingDirectory="$(IntermediateOutputPath)ZipContents" ZipLevel="9" />
<!-- Generate 'GCMW-${version}.exe' -->
<Exec Command="&quot;$(SolutionDir)\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe&quot; &quot;/O$(OutputPath)&quot; &quot;$(IntermediateOutputPath)\Setup.iss&quot;"
IgnoreStandardErrorWarningFormat="true"
WorkingDirectory="$(IntermediateOutputPath)" />
<!-- Generate 'gcmw-v{version}.zip' -->
<Zip Files="@(ZipContents)"
Flatten="True"
ZipFileName="$(GcmZipPath)"
WorkingDirectory="$(IntermediateOutputPath)ZipContents"
ZipLevel="9" />
<!-- Create the output path -->
<MakeDir Condition="!Exists('$(OutputPath)')"
Directories="$(OutputPath)" />
<!-- Generate isualStudioTeamServices.Authentication-{version}.nupkg -->
<Exec Command="&quot;$(NugetPath)&quot; pack &quot;$(IntermediateOutputPath)\VisualStudioTeamServices.Authentication.nuspec&quot; -BasePath &quot;$(IntermediateOutputPath)&quot; -IncludeReferencedProjects -Properties Configuration=&quot;$(Configuration)&quot;;Version=&quot;$(PkgVersion)$(IsSigned)&quot;;Id=&quot;$(PkgName)&quot;;Title=&quot;$(PkgTitle)&quot;;Description=&quot;$(PkgDescription)&quot; -OutputDirectory &quot;$(NugetWorkDir)&quot;" />
</Target>
<Target Name="Clean">
<RemoveDir Directories="$(IntermediateOutputPath);$(OutputPath)" />
<RemoveDir Directories="$(SolutionDir)\TestResults" />
<RemoveDir Directories="$(IntermediateOutputPath)" />
<RemoveDir Directories="$(OutputPath)" />
</Target>
<Target Name="Rebuild" AfterTargets="Clean" BeforeTargets="Build" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" Text="$([System.String]::Format('$(ErrorText)', 'MSBuildTasks'))" />
<Error Condition="!Exists('..\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Pandoc.Windows.2.1.0\tools\Pandoc\pandoc.exe'))" />
<Error Condition="!Exists('..\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe'))" />
<Error Condition="!Exists('..\packages\Tools.InnoSetup.Download.1.5.1\tools\InnoDownload\idp.iss')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Tools.InnoSetup.Download.1.5.1\tools\InnoDownload\idp.iss'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props'))" />
<Error Condition="!Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')"
Text="$([System.String]::Format('$(ErrorText)', 'MSBuildTasks'))" />
<Error Condition="!Exists('..\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\Tools.InnoSetup.5.5.9\tools\iscc.exe'))" />
<Error Condition="!Exists('..\packages\Tools.InnoSetup.Download.1.5.1\tools\InnoDownload\idp.iss')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\Tools.InnoSetup.Download.1.5.1\tools\InnoDownload\idp.iss'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')"
Text="$([System.String]::Format('$(ErrorText)', '..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
</Target>
<Target Name="EnsureResourcesExist" BeforeTargets="PrepareForBuild">
<Error Condition="!Exists('$(SolutionDir)\Cli\Manager\Properties\AssemblyInfo.cs)')" Text="File not found: '$(SolutionDir)\Cli\Manager\Properties\AssemblyInfo.cs)'." />
<Error Condition="!Exists('$(SolutionDir)\Cli\Manager\Properties\AssemblyInfo.cs')"
Text="File not found: '$(SolutionDir)\Cli\Manager\Properties\AssemblyInfo.cs'." />
<Error Condition="!Exists('$(SolutionDir)\VisualStudioTeamServices.Authentication\Src\Properties\AssemblyInfo.cs)')"
Text="File not found: '$(SolutionDir)\VisualStudioTeamServices.Authentication\Src\Properties\AssemblyInfo.cs)'." />
</Target>
<Import Project="..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets" Condition="Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" />
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets" Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
<Import Project="..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets"
Condition="Exists('..\packages\MSBuildTasks.1.5.0.235\build\MSBuildTasks.targets')" />
<Import Project="..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets"
Condition="Exists('..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -23,7 +23,7 @@
<file src="VisualStudioTeamServices.Authentication.dll" target="lib\net451\VisualStudioTeamServices.Authentication.dll" />
<file src="Microsoft.Alm.Authentication.pdb" target="lib\net451\Microsoft.Alm.Authentication.pdb" />
<file src="VisualStudioTeamServices.Authentication.pdb" target="lib\net451\VisualStudioTeamServices.Authentication.pdb" />
<file src="..\..\..\..\Microsoft.Alm.Authentication\**\*.cs" target="src\Microsoft.Alm.Authentication" exclude="**\bin\**\.cs;**\obj\**\*.cs" />
<file src="..\..\..\..\VisualStudioTeamServices.Authentication\**\*.cs" target="src\VisualStudioTeamServices.Authentication" exclude="**\bin\**\.cs;**\obj\**\*.cs" />
<file src="..\..\Microsoft.Alm.Authentication\**\*.cs" target="src\Microsoft.Alm.Authentication" exclude="**\bin\**\.cs;**\obj\**\*.cs" />
<file src="..\..\VisualStudioTeamServices.Authentication\**\*.cs" target="src\VisualStudioTeamServices.Authentication" exclude="**\bin\**\.cs;**\obj\**\*.cs" />
</files>
</package>

Просмотреть файл

@ -3,6 +3,7 @@
<package id="MicroBuild.Core" version="0.3.0" targetFramework="net462" developmentDependency="true" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net462" developmentDependency="true" />
<package id="MSBuildTasks" version="1.5.0.235" targetFramework="net452" developmentDependency="true" />
<package id="NuGet.CommandLine" version="4.6.2" targetFramework="net462" developmentDependency="true" />
<package id="Pandoc.Windows" version="2.1.0" developmentDependency="true" />
<package id="Tools.InnoSetup" version="5.5.9" targetFramework="net452" />
<package id="Tools.InnoSetup.Download" version="1.5.1" targetFramework="net452" />

Просмотреть файл

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
@ -17,7 +16,6 @@
<PropertyGroup>
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
<OutputPath>$(ProjectDir)$(OutputPath)</OutputPath>
<SigningTarget>$(OutputPath)\$(AssemblyName).dll</SigningTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
@ -64,15 +62,7 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config">
<InProject>false</InProject>
</None>
</ItemGroup>
<ItemGroup>
<FilesToSign Include="$(SigningTarget)">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
<None Include="packages.config"/>
</ItemGroup>
<Import Project="..\..\Shared\Win32\Microsoft.Alm.Win32.projitems" Label="Shared" />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
@ -81,9 +71,6 @@
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props'))" />
</Target>
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MicroBuild.Core" version="0.3.0" targetFramework="net451" developmentDependency="true" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net451" developmentDependency="true" />
</packages>

Просмотреть файл

@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" />
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<AppDesignerFolder>Properties</AppDesignerFolder>
<AssemblyName>VisualStudioTeamServices.Authentication</AssemblyName>
<NuGetPackageImportStamp />
<NuGetPackageImportStamp/>
<OutputType>Library</OutputType>
<ProjectGuid>{19770407-D7D8-4A37-914C-F552FF4B90D4}</ProjectGuid>
<ProjectName>VisualStudioTeamServices.Authentication</ProjectName>
@ -17,7 +16,6 @@
<PropertyGroup>
<ProjectDir>$(MSBuildThisFileDirectory)</ProjectDir>
<OutputPath>$(ProjectDir)$(OutputPath)</OutputPath>
<SigningTarget>$(OutputPath)\$(AssemblyName).dll</SigningTarget>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.IdentityModel.Clients.ActiveDirectory, Version=3.19.4.11002, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@ -57,57 +55,14 @@
<Compile Include="TokenScope.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config">
<InProject>false</InProject>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<FilesToSign Include="$(SigningTarget)">
<Authenticode>Microsoft</Authenticode>
<InProject>false</InProject>
</FilesToSign>
</ItemGroup>
<Target Name="BuildNupkg" AfterTargets="CopyFilesToOutputDirectory;SignFiles">
<!-- Read the nupkg meta data from the AssemblyInfo.cs file copied from VisualStudioTeamServicesAuthentication -->
<PropertyGroup>
<In>$([System.IO.File]::ReadAllText('$(ProjectDir)\Properties\AssemblyInfo.cs'))</In>
<Pattern>^\s*\[assembly:\s*AssemblyVersion\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<AssemblyVersion>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</AssemblyVersion>
<Pattern>^\s*\[assembly: AssemblyDescription\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<AssemblyDescription>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</AssemblyDescription>
<Pattern>^\s*\[assembly: AssemblyProduct\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<AssemblyProduct>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</AssemblyProduct>
<Pattern>^\s*\[assembly: AssemblyTitle\s*\(\s*"\s*([^"]+)\s*"\s*\)</Pattern>
<AssemblyTitle>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern), System.Text.RegularExpressions.RegexOptions.Multiline).Groups[1].Value)</AssemblyTitle>
</PropertyGroup>
<!-- Only download a new copy of nuget.exe if we don't have a copy available -->
<PropertyGroup>
<NugetPath>nuget.exe</NugetPath>
<IsSigned></IsSigned>
<IsSigned Condition=" '$(SignType)' == '' Or '$(SignType)' == '*Undefined*' ">-unsigned</IsSigned>
<NugetWorkDir>$(OutputPath.TrimEnd('\'))</NugetWorkDir>
</PropertyGroup>
<PropertyGroup Condition="!Exists($(NugetPath))">
<NugetPath>..\..\packages\NuGet.CommandLine.4.6.2\tools\NuGet.exe</NugetPath>
</PropertyGroup>
<Exec Command="&quot;$(NugetPath)&quot; pack &quot;$(ProjectDir)\VisualStudioTeamServices.Authentication.nuspec&quot; -BasePath &quot;$(NugetWorkDir)&quot; -IncludeReferencedProjects -Properties Configuration=&quot;$(Configuration)&quot;;Version=&quot;$(AssemblyVersion)$(IsSigned)&quot;;Id=&quot;$(AssemblyName)&quot;;Title=&quot;$(AssemblyTitle)&quot;;Description=&quot;$(AssemblyDescription)&quot; -OutputDirectory &quot;$(NugetWorkDir)&quot;" />
</Target>
<Target Name="CopyNupkgToOut" AfterTargets="BuildNupkg">
<ItemGroup>
<FilesToCopy Include="$(OutputPath)\*.nupkg" />
</ItemGroup>
<Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(SolutionDir)\Deploy" />
</Target>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<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>
</PropertyGroup>
<Error Condition="!Exists('..\..\packages\NuGet.CommandLine.4.6.2\tools\NuGet.exe')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\NuGet.CommandLine.4.6.2\tools\NuGet.exe'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets'))" />
<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.2.8.0\build\Microsoft.Net.Compilers.props'))" />
</Target>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="..\..\build.targets" />
<Import Project="..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets" Condition="Exists('..\..\packages\MicroBuild.Core.0.3.0\build\MicroBuild.Core.targets')" />
</Project>

Просмотреть файл

@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MicroBuild.Core" version="0.3.0" targetFramework="net451" developmentDependency="true" />
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.19.4" targetFramework="net451" />
<package id="Microsoft.Net.Compilers" version="2.8.0" targetFramework="net451" developmentDependency="true" />
<package id="NuGet.CommandLine" version="4.6.2" targetFramework="net451" developmentDependency="true" />
</packages>

Просмотреть файл

@ -24,6 +24,12 @@ phases:
restoreSolution: '$(Build.Solution)'
verbosityRestore: 'quiet'
- task: NuGetCommand@2
displayName: NuGet restore
inputs:
command: custom
arguments: restore '$(Build.SourcesDirectory)\$(Build.Target)' '-SolutionDirectory $(Build.SourcesDirectory)'
- ${{ parameters.MicrobuildSetup }}
- task: MSBuild@1
@ -53,19 +59,19 @@ phases:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Binary Log'
continueOnError: true
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
condition: eq(variables['system.pullrequest.isfork'], false)
inputs:
pathtoPublish: '$(Build.SourcesDirectory)\gcmw-$(build.buildNumber).binlog'
artifactName: '$(build.buildNumber).binlog'
publishLocation: Container
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: Deploy Folder'
displayName: 'Publish Artifact: Binaries'
continueOnError: true
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
inputs:
pathtoPublish: '$(Build.SourcesDirectory)\Deploy\'
artifactName: '$(Build.BuildNumber)-Artifacts'
artifactName: '$(Build.BuildNumber).output'
publishLocation: Container
- task: DeleteFiles@1