Skip to content

Commit

Permalink
Publish release
Browse files Browse the repository at this point in the history
  • Loading branch information
heaths committed Feb 17, 2020
2 parents fa9880b + a7f9edb commit 8054ce9
Show file tree
Hide file tree
Showing 13 changed files with 127 additions and 136 deletions.
8 changes: 4 additions & 4 deletions README.md
@@ -1,11 +1,11 @@
# Windows Installer PowerShell Module

[![build status: master](https://ci.appveyor.com/api/projects/status/github/heaths/psmsi?branch=master&svg=true)](https://ci.appveyor.com/project/heaths/psmsi/branch/master)
[![github release: latest](https://img.shields.io/github/release/heaths/psmsi.svg?logo=github)](https://github.com/heaths/psmsi/releases/latest)
[![github releases: all](https://img.shields.io/github/downloads/heaths/psmsi/total.svg?logo=github&label=github)](https://github.com/heaths/psmsi/releases)
[![Build Status: develop](https://dev.azure.com/heaths/public/_apis/build/status/psmsi-CI?branchName=develop)](https://dev.azure.com/heaths/public/_build/latest?definitionId=14)
[![GitHub Release: Latest](https://img.shields.io/github/release/heaths/psmsi.svg?logo=github)](https://github.com/heaths/psmsi/releases/latest)
[![GitHub Releases: All](https://img.shields.io/github/downloads/heaths/psmsi/total.svg?logo=github&label=github)](https://github.com/heaths/psmsi/releases)
[![PowerShell Gallery](https://img.shields.io/powershellgallery/dt/MSI.svg)](https://powershellgallery.com/packages/MSI)

Exposes Windows Installer functionality to PowerShell, providing means to query installed product and patch information and to query views on packages.
Exposes Windows Installer functionality to PowerShell, providing means to query installed product and patch information, and to query views on packages.

## Description

Expand Down
86 changes: 0 additions & 86 deletions appveyor.yml

This file was deleted.

66 changes: 66 additions & 0 deletions azure-pipelines.yml
@@ -0,0 +1,66 @@
trigger:
- master
- develop

pr:
- master
- develop

variables:
BuildConfiguration: Release
BuildPlatform: Any CPU

jobs:
- job: Build
pool:
vmImage: vs2017-win2016

steps:
- checkout: self
clean: true
lfs: true

- task: VisualStudioTestPlatformInstaller@1
displayName: Install VSTest

- task: NuGetCommand@2
displayName: Restore packages

- powershell: |
$ErrorActionPreference = 'Stop'
$VerbosePreference = 'Continue'
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name platyPS -Repository PSGallery -SkipPublisherCheck -Force
New-ExternalHelp -Path "${env:BUILD_SOURCESDIRECTORY}\docs" -OutputPath "${env:BUILD_SOURCESDIRECTORY}\src\PowerShell\bin\${env:BuildConfiguration}" -Force
displayName: Compile documentation
- task: VSBuild@1
displayName: Build solution
inputs:
configuration: $(BuildConfiguration)
maximumCpuCount: true
platform: $(BuildPlatform)
env:
RunCodeAnalysis: true
TreatWarningsAsErrors: true

- task: VSTest@2
displayName: Test solution
inputs:
codeCoverageEnabled: true
configuration: $(BuildConfiguration)
platform: $(BuildPlatform)
runInParallel: true

- task: CopyFiles@2
displayName: Copy files
inputs:
SourceFolder: $(System.DefaultWorkingDirectory)
Contents: |
src\**\bin\$(BuildConfiguration)\**
TargetFolder: $(Build.ArtifactStagingDirectory)

- task: PublishBuildArtifacts@1
displayName: Publish artifact
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
4 changes: 2 additions & 2 deletions inc/Common.props
Expand Up @@ -5,10 +5,10 @@
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
<AssemblyName>Microsoft.Tools.WindowsInstaller.$(MSBuildProjectName)</AssemblyName>
<RootNamespace>Microsoft.Tools.WindowsInstaller</RootNamespace>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
<AppDesignerFolder>Properties</AppDesignerFolder>
<FileAlignment>512</FileAlignment>
<RestorePackages>true</RestorePackages>
<RestorePackages>false</RestorePackages>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
Expand Down
21 changes: 9 additions & 12 deletions src/PowerShell/PowerShell.csproj
Expand Up @@ -156,9 +156,7 @@
<Sign>True</Sign>
<SubType>Designer</SubType>
</Content>
<None Include="packages.config">
<SubType>Designer</SubType>
</None>
<None Include="packages.config" />
<None Include="PowerShell.nuspec" />
</ItemGroup>
<ItemGroup>
Expand All @@ -185,9 +183,8 @@
</Content>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\Newtonsoft.Json.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\StyleCop.Analyzers.CodeFixes.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\StyleCop.Analyzers.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.2\analyzers\dotnet\cs\StyleCop.Analyzers.CodeFixes.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.2\analyzers\dotnet\cs\StyleCop.Analyzers.dll" />
</ItemGroup>
<Import Project="$(IncludeDir)Common.targets" />
<Import Project="$(IncludeDir)TextTemplating.targets" />
Expand All @@ -212,22 +209,22 @@
</T4ParameterValues>
</ItemGroup>
</Target>
<Target Name="BuildPackage" DependsOnTargets="CalculateVersion" Inputs="$(TargetPath);$(MSBuildProjectName).nuspec" Outputs="$(OutputPath)MSI.$(BuildVersionSimple).nupkg">
<Target Name="BuildPackage" DependsOnTargets="CalculateVersion" Inputs="$(TargetPath);$(MSBuildProjectName).nuspec" Outputs="$(OutputPath)MSI.$(NuGetPackageVersion).nupkg">
<PropertyGroup>
<ProjectPath>$(MSBuildProjectDirectory)\$(MSBuildProjectName).nuspec</ProjectPath>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "SolutionDir=$(SolutionDir);Configuration=$(Configuration);Platform=$(Platform);Version=$(BuildVersionSimple)" -OutputDirectory "$(OutputPath.TrimEnd('\'))" -Symbols -NonInteractive -NoPackageAnalysis</BuildCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "SolutionDir=$(SolutionDir);Configuration=$(Configuration);Platform=$(Platform);Version=$(NuGetPackageVersion)" -OutputDirectory "$(OutputPath.TrimEnd('\'))" -Symbols -NonInteractive -NoPackageAnalysis</BuildCommand>
</PropertyGroup>
<Exec Command="$(BuildCommand)" Outputs="$(OutputPath)MSI.$(BuildVersionSimple).nupkg">
<Exec Command="$(BuildCommand)" Outputs="$(OutputPath)MSI.$(NuGetPackageVersion).nupkg">
<Output TaskParameter="Outputs" ItemName="FileWrites" />
</Exec>
</Target>
<Target Name="AfterBuild" DependsOnTargets="BuildPackage" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.1.5.46\build\portable-net+win+wpa+wp+sl+netmf+MonoAndroid+MonoTouch+Xamarin.iOS\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.1.5.46\build\portable-net+win+wpa+wp+sl+netmf+MonoAndroid+MonoTouch+Xamarin.iOS\Nerdbank.GitVersioning.targets')" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets')" />
<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\Nerdbank.GitVersioning.1.5.46\build\portable-net+win+wpa+wp+sl+netmf+MonoAndroid+MonoTouch+Xamarin.iOS\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.1.5.46\build\portable-net+win+wpa+wp+sl+netmf+MonoAndroid+MonoTouch+Xamarin.iOS\Nerdbank.GitVersioning.targets'))" />
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets'))" />
</Target>
<!-- vim: set sw=2 ts=2 sts=2 ft=xml: -->
</Project>
</Project>
4 changes: 3 additions & 1 deletion src/PowerShell/PowerShell.nuspec
Expand Up @@ -52,7 +52,9 @@
<dependencies />
</metadata>
<files>
<file src="bin\$Configuration$\*.*" exclude="**\*.nupkg;**\Microsoft.Tools.WindowsInstaller.PowerShell.xml" />
<file src="bin\$Configuration$\*.dll" />
<file src="bin\$Configuration$\*.xml" exclude="**\Microsoft.Tools.WindowsInstaller.PowerShell.xml" />
<file src="bin\$Configuration$\MSI.*" />
<file src="$SolutionDir$LICENSE.txt" />
<file src="$SolutionDir$lib\wix\LICENSE.txt" target="Licenses\WIX.txt" />
</files>
Expand Down
4 changes: 4 additions & 0 deletions src/PowerShell/PowerShell/Commands/GetSummaryInfoCommand.cs
Expand Up @@ -32,6 +32,10 @@ namespace Microsoft.Tools.WindowsInstaller.PowerShell.Commands
[OutputType(typeof(SummaryInfo), typeof(TransformInfo))]
public sealed class GetSummaryInfoCommand : ItemCommandBase
{
/// <inheritdoc/>
[Parameter(ParameterSetName = ParameterSet.Path, Mandatory = true, Position = 0, ValueFromPipeline = true, ValueFromPipelineByPropertyName = true)]
public override string[] Path { get; set; }

/// <summary>
/// Gets or sets whether transforms within a patch should be enumerated.
/// </summary>
Expand Down
6 changes: 3 additions & 3 deletions src/PowerShell/packages.config
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Nerdbank.GitVersioning" version="1.5.46" targetFramework="net40" developmentDependency="true" />
<package id="StyleCop.Analyzers" version="1.0.0" targetFramework="net40" developmentDependency="true" />
</packages>
<package id="Nerdbank.GitVersioning" version="2.2.33" targetFramework="net35" developmentDependency="true" />
<package id="StyleCop.Analyzers" version="1.0.2" targetFramework="net35" developmentDependency="true" />
</packages>
17 changes: 8 additions & 9 deletions test/PowerShell.Test/PowerShell.Test.csproj
Expand Up @@ -129,26 +129,25 @@
<Content Include="Data\return.exe" />
<Content Include="Data\test.cub" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<AdditionalFiles Include="$(SolutionDir)inc\stylecop.json">
<Visible>false</Visible>
</AdditionalFiles>
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\Newtonsoft.Json.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\StyleCop.Analyzers.CodeFixes.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.0\analyzers\dotnet\cs\StyleCop.Analyzers.dll" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.2\analyzers\dotnet\cs\StyleCop.Analyzers.CodeFixes.dll" />
<Analyzer Include="..\..\packages\StyleCop.Analyzers.1.0.2\analyzers\dotnet\cs\StyleCop.Analyzers.dll" />
</ItemGroup>
<Import Project="$(IncludeDir)Common.targets" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.1.5.46\build\dotnet\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.1.5.46\build\dotnet\Nerdbank.GitVersioning.targets')" />
<Import Project="..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets" Condition="Exists('..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets')" />
<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\Nerdbank.GitVersioning.1.5.46\build\dotnet\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.1.5.46\build\dotnet\Nerdbank.GitVersioning.targets'))" />
<Error Condition="!Exists('..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Nerdbank.GitVersioning.2.2.33\build\Nerdbank.GitVersioning.targets'))" />
</Target>
<!-- vim: set sw=2 ts=2 sts=2 ft=xml: -->
</Project>
</Project>
Expand Up @@ -22,6 +22,7 @@

using System;
using System.IO;
using System.Management.Automation;
using Microsoft.Deployment.WindowsInstaller;
using Microsoft.VisualStudio.TestTools.UnitTesting;

Expand Down Expand Up @@ -128,5 +129,27 @@ public void GetSummaryInfoFromMst()
Assert.AreEqual<Version>(new Version(2, 0), info.GetPropertyValue<Version>("MinimumVersion"));
}
}

[TestMethod]
public void RequiresPath()
{
// Test fix for https://github.com/heaths/psmsi/issues/39
using (var p = CreatePipeline("get-msisummaryinfo"))
{
try
{
p.Invoke();

Assert.Fail("Expected ParameterBindingException");
}
catch (ParameterBindingException ex)
{
Assert.IsTrue(p.HadErrors);

// Trimming parameter name since in 5.1 it was " Path".
Assert.AreEqual("Path", ex.ParameterName?.Trim());
}
}
}
}
}
Expand Up @@ -53,11 +53,6 @@ public void MeasureProductOnSystemDrive()
Assert.IsTrue(0 < drive.GetPropertyValue<int>("MSISpaceRequired"));
Assert.IsTrue(0 < drive.GetPropertyValue<int>("MSITemporarySpaceRequired"));
}
else
{
Assert.IsTrue(0 == drive.GetPropertyValue<int>("MSISpaceRequired"));
Assert.IsTrue(0 == drive.GetPropertyValue<int>("MSITemporarySpaceRequired"));
}
}
}
}
Expand Down Expand Up @@ -89,11 +84,6 @@ public void MeasureProductOnOtherDrive()
Assert.IsTrue(0 < drive.GetPropertyValue<int>("MSISpaceRequired"));
Assert.IsTrue(0 <= drive.GetPropertyValue<int>("MSITemporarySpaceRequired"));
}
else
{
Assert.IsTrue(0 == drive.GetPropertyValue<int>("MSISpaceRequired"));
Assert.IsTrue(0 == drive.GetPropertyValue<int>("MSITemporarySpaceRequired"));
}
}
}
}
Expand Down
6 changes: 3 additions & 3 deletions test/PowerShell.Test/packages.config
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Nerdbank.GitVersioning" version="1.5.46" targetFramework="net45" developmentDependency="true" />
<package id="StyleCop.Analyzers" version="1.0.0" targetFramework="net45" developmentDependency="true" />
</packages>
<package id="Nerdbank.GitVersioning" version="2.2.33" targetFramework="net45" developmentDependency="true" />
<package id="StyleCop.Analyzers" version="1.0.2" targetFramework="net45" developmentDependency="true" />
</packages>
8 changes: 2 additions & 6 deletions version.json
@@ -1,16 +1,12 @@
{
"$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json",
"version": "3.2.0",
"version": "3.3",
"publicReleaseRefSpec": [
"^refs/heads/master$"
],
"cloudBuild": {
"buildNumber": {
"enabled": true,
"includeCommitId": {
"when": "nonPublicReleaseOnly",
"where": "buildMetadata"
}
"enabled": true
},
"setVersionVariables": true
}
Expand Down

0 comments on commit 8054ce9

Please sign in to comment.