Skip to content

Commit

Permalink
Merge pull request #2 from Microsoft/develop
Browse files Browse the repository at this point in the history
Create initial release
  • Loading branch information
heaths authored Feb 23, 2017
2 parents 47b26d9 + 257e5c8 commit af4ee7f
Show file tree
Hide file tree
Showing 9 changed files with 164 additions and 0 deletions.
9 changes: 9 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,12 @@ To file issues or suggestions, please use the [Issues](https://github.com/Micros
## License

This project is licensed under the [MIT license](LICENSE.txt).

## Status

This project uses a Git flow model releasing from the `master` branch with development based on and stabilized in the `develop` branch.

Branch | AppVeyor | VSTS
------ | ------ | -------
master | [![build status: master](https://ci.appveyor.com/api/projects/status/yy3g7rggm2sx4nam/branch/master?svg=true)](https://ci.appveyor.com/project/heaths/vswhere/branch/master) | ![build status: master](https://devdiv.visualstudio.com/_apis/public/build/definitions/0bdbc590-a062-4c3f-b0f6-9383f67865ee/5581/badge)
develop | [![build status: develop](https://ci.appveyor.com/api/projects/status/yy3g7rggm2sx4nam/branch/develop?svg=true)](https://ci.appveyor.com/project/heaths/vswhere/branch/develop)
34 changes: 34 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
configuration:
- Debug
- Release

environment:
TreatWarningsAsErrors: true

branches:
only:
- master
- develop

skip_tags: true

notifications:
- provider: GitHubPullRequest
on_build_success: true
on_build_failure: true

cache:
- packages -> **\packages.config

before_build:
- nuget restore

test:
assemblies:
- bin\$(configuration)\*.test.dll

artifacts:
- path: bin\$(configuration)
type: zip

# vim: set ai et st=2 sts=2 sw=2:
1 change: 1 addition & 0 deletions src/vswhere.lib/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MicroBuild.Core" version="0.2.0" targetFramework="native" developmentDependency="true" />
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="1.7.13-rc" targetFramework="native" developmentDependency="true" />
</packages>
4 changes: 4 additions & 0 deletions src/vswhere.lib/vswhere.lib.vcxproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.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')" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
Expand Down Expand Up @@ -196,11 +197,14 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="Exists('..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
<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\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
<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>
1 change: 1 addition & 0 deletions src/vswhere/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="MicroBuild.Core" version="0.2.0" targetFramework="native" developmentDependency="true" />
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="1.7.13-rc" targetFramework="native" developmentDependency="true" />
<package id="Nerdbank.GitVersioning" version="1.5.97" targetFramework="native" developmentDependency="true" />
</packages>
10 changes: 10 additions & 0 deletions src/vswhere/vswhere.vcxproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.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')" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
Expand Down Expand Up @@ -106,17 +107,26 @@
<ItemGroup>
<ResourceCompile Include="vswhere.rc" />
</ItemGroup>
<ItemGroup>
<FilesToSign Include="$(TargetPath)">
<Authenticode>Microsoft</Authenticode>
<Visible>false</Visible>
</FilesToSign>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="..\..\inc\Common.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
<Import Project="..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="Exists('..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets')" />
<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\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets'))" />
<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>
1 change: 1 addition & 0 deletions test/vswhere.test/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="MicroBuild.Core" version="0.2.0" targetFramework="native" developmentDependency="true" />
<package id="Microsoft.VisualStudio.Setup.Configuration.Native" version="1.7.13-rc" targetFramework="native" developmentDependency="true" />
<package id="Nerdbank.GitVersioning" version="1.5.97" targetFramework="native" developmentDependency="true" />
</packages>
4 changes: 4 additions & 0 deletions test/vswhere.test/vswhere.test.vcxproj
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.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')" />
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
Expand Down Expand Up @@ -128,12 +129,15 @@
<ImportGroup Label="ExtensionTargets">
<Import Project="..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets" Condition="Exists('..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets')" />
<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\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.VisualStudio.Setup.Configuration.Native.1.7.13-rc\build\native\Microsoft.VisualStudio.Setup.Configuration.Native.targets'))" />
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.1.5.97\build\NerdBank.GitVersioning.targets'))" />
<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>
100 changes: 100 additions & 0 deletions tools/Publish-Release.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Copyright (C) Microsoft Corporation. All rights reserved.
# Licensed under the MIT license. See LICENSE.txt in the project root for license information.

[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[string] $Token,

[Parameter()]
[ValidateNotNullOrEmpty()]
[string] $Owner = 'Microsoft',

[Parameter(Mandatory = $true)]
[string] $Repository,

[Parameter()]
[ValidateNotNullOrEmpty()]
[string] $Tag = $env:BUILD_BUILDNUMBER,

[Parameter()]
[string] $Commit = $env:BUILD_SOURCEVERSION,

[Parameter()]
[string] $Name,

[Parameter()]
[string] $Description,

[Parameter()]
[switch] $Draft,

[Parameter()]
[switch] $Prerelease,

[Parameter(Mandatory = $true)]
[string] $Path,

[Parameter()]
[ValidateNotNullOrEmpty()]
[string] $ContentType = 'application/octet-stream',

[Parameter()]
[string] $ContentName,

[Parameter()]
[string] $ContentLabel
)

$ErrorActionPreference = 'Stop'

if (-not $Tag) {
throw '$Tag is required (default value not available)'
}

$uri = "https://api.github.com/repos/$Owner/$Repository/releases"
$values = @{
tag_name = $Tag
draft = $Draft.ToBool()
prerelease = $Prerelease.ToBool()
}

if ($Commit) {
$values.target_commitish = $Commit
}

if ($Name) {
$values.name = $Name
}

if ($Description) {
$values.body = $Description
}

$request = ConvertTo-Json $values
$headers = @{
Authorization = "token $Token"
Accept = 'application/vnd.github.v3+json'
}

$release = Invoke-RestMethod -Uri $uri -Method Post -Body $request -Headers $headers
$upload_url = $release.upload_url -replace '\{\?.*$', ''

Write-Verbose "Release '$($release.id)' created; upload URI: $upload_url"

$Path = Resolve-Path $Path | Convert-Path

$headers.Add('Content-Type', $ContentType)
if (-not $ContentName) {
$ContentName = [System.IO.Path]::GetFileName($Path)
}

$uri = $upload_url + "?name=$ContentName"
if ($ContentLabel) {
$uri += "&label=$ContentLabel"
}

$asset = Invoke-RestMethod -Uri $uri -Method Post -InFile $Path -Headers $headers
if ($asset.state -eq 'uploaded') {
Write-Verbose "Successfully uploaded: $($asset.browser_download_url)"
}

0 comments on commit af4ee7f

Please sign in to comment.