Skip to content

Commit

Permalink
Enable NuGet package signing for MicroBuild
Browse files Browse the repository at this point in the history
Also switch to YAML build definition.
  • Loading branch information
heaths committed Mar 8, 2018
1 parent a7c4537 commit 5c43903
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 1 deletion.
1 change: 1 addition & 0 deletions .nuget/packages.config
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="chocolatey" version="0.10.8" />
<package id="MicroBuild.Core" version="0.2.0" />
<package id="vswhere" version="1.0.62" />
</packages>
75 changes: 75 additions & 0 deletions .vsts-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
queue:
name: VSEng-MicroBuildVS2017
timeoutInMinutes: 120
demands:
- msbuild
- visualstudio
- vstest
- Cmd

variables:
solution: '**\*.sln'
vsVersion: 15.0

steps:
- task: NuGetInstaller@0
inputs:
solution: $(solution)
versionSpec: 4.1.0

- task: MicroBuildSigningPlugin@1
inputs:
signType: $(SignType)
esrpSigning: true

- task: VSBuild@1
inputs:
solution: $(solution)
vsVersion: $(vsVersion)
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)
maximumCpuCount: true

- task: VSTest@2
inputs:
testAssemblyVer2: |
**\*test*.dll
!**\obj\**
searchFolder: $(Build.SourcesDirectory)\bin\$(BuildConfiguration)
vsTestVersion: $(vsVersion)
runInParallel: true
codeCoverageEnabled: true
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)

- task: BatchScript@1
inputs:
filename: tools/choco.cmd
arguments: pack pkg\vswhere\vswhere.nuspec --out "bin\$(BuildConfiguration)" --version "%GitBuildVersionSimple%" "Configuration=$(BuildConfiguration)" "CommitId=$(Build.SourceVersion)"
workingFolder: $(Build.SourcesDirectory)

- task: VSBuild@1
inputs:
solution: pkg\vswhere\vswhere.signproj
vsVersion: $(vsVersion)
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)

- task: CopyFiles@2
inputs:
SourceFolder: $(Build.SourcesDirectory)
Contents: |
bin\$(BuildConfiguration)\**
tools\**
TargetFolder: $(Build.ArtifactStagingDirectory)\out

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)\out
ArtifactName: drop
publishLocation: Container

- task: MicroBuildCleanup@1
condition: succeededOrFailed()

# vim: set ai et st=2 sts=2 sw=2:
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ Visual Studio Locator
=====================

[![build status: master](https://ci.appveyor.com/api/projects/status/yy3g7rggm2sx4nam/branch/master?svg=true)](https://ci.appveyor.com/project/VisualStudioSetup/vswhere)
![build status: master](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5581/badge)
[![github release](https://img.shields.io/github/release/Microsoft/vswhere.svg?logo=github)](https://github.com/Microsoft/vswhere/releases/latest)
[![github releases: all](https://img.shields.io/github/downloads/Microsoft/vswhere/total.svg?logo=github&label=github)](https://github.com/Microsoft/vswhere/releases)
[![chocolatey: all](https://img.shields.io/chocolatey/dt/vswhere.svg)](https://chocolatey.org/packages/vswhere)
Expand Down
36 changes: 36 additions & 0 deletions pkg/vswhere/vswhere.signproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Sign" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.props" Condition="Exists('..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.props')" />
<PropertyGroup>
<BuildConfiguration Condition="'$(BuildConfiguration)'==''">Debug</BuildConfiguration>
<SolutionDir Condition="'$(SolutionDir)'==''">..\..\</SolutionDir>
<SolutionDir Condition="!HasTrailingSlash('$(SolutionDir)')">$(SolutionDir)\</SolutionDir>
<OutDir Condition="'$(OutDir)'==''">$(SolutionDir)bin\$(BuildConfiguration)\</OutDir>
<OutDir Condition="!HasTrailingSlash('$(OutDir)')">$(OutDir)\</OutDir>
<IntermediateOutputPath Condition="'$(IntermediateOutputPath)'==''">$(SolutionDir)obj\$(BuildConfiguration)\</IntermediateOutputPath>
<IntermediateOutputPath Condition="!HasTrailingSlash('$(IntermediateOutputPath)')">$(IntermediateOutputPath)\</IntermediateOutputPath>
<SignDependsOn>
PrepareForBuild;
$(SignDependsOn);
</SignDependsOn>
</PropertyGroup>
<Target Name="PrepareForBuild" />
<Target Name="Sign" DependsOnTargets="$(SignDependsOn)">
<ItemGroup>
<FilesToSign Include="$(OutDir)**\*.nupkg">
<Authenticode>NuGet</Authenticode>
</FilesToSign>
</ItemGroup>
</Target>
<Target Name="AfterBuild" AfterTargets="Sign" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.targets" Condition="Exists('..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.targets')" />
</ImportGroup>
<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\MicroBuild.Core.0.2.0\build\MicroBuild.Core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.props'))" />
<Error Condition="!Exists('..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\MicroBuild.Core.0.2.0\build\MicroBuild.Core.targets'))" />
</Target>
</Project>

0 comments on commit 5c43903

Please sign in to comment.