-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix stylecop. add the filesystem publish profile
- Loading branch information
Michael Fourie
authored and
Michael Fourie
committed
Apr 20, 2016
1 parent
ad8d3bd
commit a7ac398
Showing
3 changed files
with
128 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
101 changes: 101 additions & 0 deletions
101
src/GitMonitor/Properties/PublishProfiles/FileSystem-publish.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,101 @@ | ||
[cmdletbinding(SupportsShouldProcess=$true)] | ||
param($publishProperties, $packOutput, $nugetUrl) | ||
|
||
# to learn more about this file visit http://go.microsoft.com/fwlink/?LinkId=524327 | ||
$publishModuleVersion = '1.0.1' | ||
function Get-VisualStudio2015InstallPath{ | ||
[cmdletbinding()] | ||
param() | ||
process{ | ||
$keysToCheck = @('hklm:\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0', | ||
'hklm:\SOFTWARE\Microsoft\VisualStudio\14.0', | ||
'hklm:\SOFTWARE\Wow6432Node\Microsoft\VWDExpress\14.0', | ||
'hklm:\SOFTWARE\Microsoft\VWDExpress\14.0' | ||
) | ||
[string]$vsInstallPath=$null | ||
|
||
foreach($keyToCheck in $keysToCheck){ | ||
if(Test-Path $keyToCheck){ | ||
$vsInstallPath = (Get-itemproperty $keyToCheck -Name InstallDir -ErrorAction SilentlyContinue | select -ExpandProperty InstallDir -ErrorAction SilentlyContinue) | ||
} | ||
|
||
if($vsInstallPath){ | ||
break; | ||
} | ||
} | ||
|
||
$vsInstallPath | ||
} | ||
} | ||
|
||
$vsInstallPath = Get-VisualStudio2015InstallPath | ||
$publishModulePath = "{0}Extensions\Microsoft\Web Tools\Publish\Scripts\{1}\" -f $vsInstallPath, $publishModuleVersion | ||
|
||
if(!(Test-Path $publishModulePath)){ | ||
$publishModulePath = "{0}VWDExpressExtensions\Microsoft\Web Tools\Publish\Scripts\{1}\" -f $vsInstallPath, $publishModuleVersion | ||
} | ||
|
||
$defaultPublishSettings = New-Object psobject -Property @{ | ||
LocalInstallDir = $publishModulePath | ||
} | ||
|
||
function Enable-PackageDownloader{ | ||
[cmdletbinding()] | ||
param( | ||
$toolsDir = "$env:LOCALAPPDATA\Microsoft\Web Tools\Publish\package-downloader-$publishModuleVersion\", | ||
$pkgDownloaderDownloadUrl = 'http://go.microsoft.com/fwlink/?LinkId=524325') # package-downloader.psm1 | ||
process{ | ||
if(get-module package-downloader){ | ||
remove-module package-downloader | Out-Null | ||
} | ||
|
||
if(!(get-module package-downloader)){ | ||
if(!(Test-Path $toolsDir)){ New-Item -Path $toolsDir -ItemType Directory -WhatIf:$false } | ||
|
||
$expectedPath = (Join-Path ($toolsDir) 'package-downloader.psm1') | ||
if(!(Test-Path $expectedPath)){ | ||
'Downloading [{0}] to [{1}]' -f $pkgDownloaderDownloadUrl,$expectedPath | Write-Verbose | ||
(New-Object System.Net.WebClient).DownloadFile($pkgDownloaderDownloadUrl, $expectedPath) | ||
} | ||
|
||
if(!$expectedPath){throw ('Unable to download package-downloader.psm1')} | ||
|
||
'importing module [{0}]' -f $expectedPath | Write-Output | ||
Import-Module $expectedPath -DisableNameChecking -Force | ||
} | ||
} | ||
} | ||
|
||
function Enable-PublishModule{ | ||
[cmdletbinding()] | ||
param() | ||
process{ | ||
if(get-module publish-module){ | ||
remove-module publish-module | Out-Null | ||
} | ||
|
||
if(!(get-module publish-module)){ | ||
$localpublishmodulepath = Join-Path $defaultPublishSettings.LocalInstallDir 'publish-module.psm1' | ||
if(Test-Path $localpublishmodulepath){ | ||
'importing module [publish-module="{0}"] from local install dir' -f $localpublishmodulepath | Write-Verbose | ||
Import-Module $localpublishmodulepath -DisableNameChecking -Force | ||
$true | ||
} | ||
} | ||
} | ||
} | ||
|
||
try{ | ||
|
||
if (!(Enable-PublishModule)){ | ||
Enable-PackageDownloader | ||
Enable-NuGetModule -name 'publish-module' -version $publishModuleVersion -nugetUrl $nugetUrl | ||
} | ||
|
||
'Calling Publish-AspNet' | Write-Verbose | ||
# call Publish-AspNet to perform the publish operation | ||
Publish-AspNet -publishProperties $publishProperties -packOutput $packOutput | ||
} | ||
catch{ | ||
"An error occurred during publish.`n{0}" -f $_.Exception.Message | Write-Error | ||
} |
26 changes: 26 additions & 0 deletions
26
src/GitMonitor/Properties/PublishProfiles/FileSystem.pubxml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- | ||
This file is used by the publish/package process of your Web project. You can customize the behavior of this process | ||
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. | ||
--> | ||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | ||
<PropertyGroup> | ||
<WebPublishMethod>FileSystem</WebPublishMethod> | ||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration> | ||
<LastUsedPlatform>Any CPU</LastUsedPlatform> | ||
<SiteUrlToLaunchAfterPublish /> | ||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish> | ||
<ExcludeApp_Data>False</ExcludeApp_Data> | ||
<CompileSource>False</CompileSource> | ||
<_DefaultDNXVersion>dnx-clr-win-x86.1.0.0-rc1-update1</_DefaultDNXVersion> | ||
<UsePowerShell>True</UsePowerShell> | ||
<IISCommand>web</IISCommand> | ||
<WebRoot>wwwroot</WebRoot> | ||
<WwwRootOut>wwwroot</WwwRootOut> | ||
<IncludeSymbols>False</IncludeSymbols> | ||
<Native>False</Native> | ||
<IgnoreDNXRuntime>False</IgnoreDNXRuntime> | ||
<publishUrl>..\..\artifacts\bin\GitMonitor\Release\PublishOutput</publishUrl> | ||
<DeleteExistingFiles>True</DeleteExistingFiles> | ||
</PropertyGroup> | ||
</Project> |