Skip to content

Commit

Permalink
加入 nuget restore - nuget版本3.5
Browse files Browse the repository at this point in the history
  • Loading branch information
alantsai committed Jul 30, 2017
1 parent b00fb86 commit 798546d
Show file tree
Hide file tree
Showing 4 changed files with 59 additions and 19 deletions.
6 changes: 6 additions & 0 deletions src/BuildProject/BuildProject.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,12 @@
<None Include="helper.ps1" />
<None Include="MSBuildTargets\ApplicationBuild.targets" />
<None Include="packages.config" />
<None Include="Tool\psake.psd1" />
<None Include="Tool\psake.psm1" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Content Include="Tool\nuget.exe" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down
Binary file added src/BuildProject/Tool/nuget.exe
Binary file not shown.
3 changes: 3 additions & 0 deletions src/BuildProject/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ $solutionFile = (Get-ChildItem(Join-Path $sciptCurrentDir "..\*.sln")).FullName
$psakeModulePath = (Get-ChildItem( Join-Path $sciptCurrentDir ".\Tool\psake.psm1")).FullName |
Sort-Object $_ | select -Last 1

$nugetExePath = Join-Path $sciptCurrentDir .\Tool\nuget.exe

function LoadPsakePackage {

[CmdletBinding()]
Expand All @@ -37,6 +39,7 @@ Invoke-psake -buildFile $buildFile -taskList Test `
-framework "4.6" `
-parameters @{
"solutionFile" = $solutionFile
"nugetExePath" = $nugetExePath
}`
-properties @{
"testMsg"="測試訊息"
Expand Down
69 changes: 50 additions & 19 deletions src/BuildProject/default.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -14,30 +14,25 @@ Properties{
$packageDirectoryPath = "$solutionDirectory\packages\"

$xunitTestResultDirectory = "$buildTestResultDirectory\Xunit"
$xunitExe = (Get-PackagePath $packageDirectoryPath "xunit.runner.console") +
"\tools\xunit.console.exe"
$script:xunitExe = ""

$nunitExe = (Get-PackagePath $packageDirectoryPath "NUnit.ConsoleRunner") +
"\tools\nunit3-console.exe"
$script:nunitExe = ""

$nunitTestResultDirectory = "$buildTestResultDirectory\Nunit"

$msTestExe = ((Get-ChildItem("C:\Program Files (x86)\Microsoft Visual Studio*\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe")).FullName |
Sort-Object $_ | select -Last 1)
$script:msTestExe = ""

$msTestResultDirectory= "$buildTestResultDirectory\MSTest"

$openCoverExe = (Get-PackagePath $packageDirectoryPath "OpenCover") +
"\tools\OpenCover.Console.exe"
$script:openCoverExe = ""

$openCoverResult = "$buildTestCoverageDirectory\openCover.xml"
$openCoverFilter = "+[*]* -[xunit.*]* -[*.NunitTest]* -[*.Tests]* -[*.XunitTest]*"
$openCoverExcludeAttribute = "System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute"
$openCoverExcludeFie = "*\*Designer.cs;*\*.g.cs;*\*.g.i.cs"


$reportGeneratorExe = (Get-PackagePath $packageDirectoryPath "ReportGenerator") +
"\tools\ReportGenerator.exe"
$script:reportGeneratorExe = ""

$buildConfiguration = "Release"
$buildTarget = "Any CPU"
Expand All @@ -48,6 +43,36 @@ Properties{

FormatTaskName ("`r`n`r`n" + ("-"*25) + "[{0}]" + ("-"*25))

function InitExePath{
Write-Host a1

if([string]::IsNullOrEmpty($script:xunitExe)){
$script:xunitExe = (Get-PackagePath $packageDirectoryPath "xunit.runner.console") +
"\tools\xunit.console.exe"
}
Write-Host b1

if([string]::IsNullOrEmpty($script:nunitExe)){
$script:nunitExe = (Get-PackagePath $packageDirectoryPath "NUnit.ConsoleRunner") +
"\tools\nunit3-console.exe"
}

if([string]::IsNullOrEmpty($script:msTestExe)){
$script:msTestExe = ((Get-ChildItem("C:\Program Files (x86)\Microsoft Visual Studio*\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe")).FullName |
Sort-Object $_ | select -Last 1)
}

if([string]::IsNullOrEmpty($script:openCoverExe)){
$script:openCoverExe = (Get-PackagePath $packageDirectoryPath "OpenCover") +
"\tools\OpenCover.Console.exe"
}

if([string]::IsNullOrEmpty($script:reportGeneratorExe)){
$script:reportGeneratorExe = (Get-PackagePath $packageDirectoryPath "ReportGenerator") +
"\tools\ReportGenerator.exe"
}
}

function InitDirectory{
Write-Host "建立建制結果的資料夾 $buildDirectory"
New-Item $buildDirectory -ItemType Directory | Out-Null
Expand All @@ -67,11 +92,17 @@ function InitDirectory{

task default -depends Test

task Init -depends Clean -description "初始化建制所需要的設定"{
task NugetRestore -description "nuget restore" {
exec {& $nugetExePath restore $solutionFile}
}

task Init -depends NugetRestore -description "初始化建制所需要的設定"{
InitExePath

InitDirectory

# 檢查test framework runner
Assert (Test-Path $xunitExe) "xunit console runner 找不到"
Assert (Test-Path $script:xunitExe) "xunit console runner 找不到"
}

task XunitTest -depends Compile -description "執行Xunit測試" `
Expand All @@ -86,9 +117,9 @@ task XunitTest -depends Compile -description "執行Xunit測試" `

$targetArg = "$testAssembly -xml $xmlResult -html $htmlResult -nologo -noshadow"

Run-TestWithOpenCover -testRunnerExe $xunitExe `
Run-TestWithOpenCover -testRunnerExe $script:xunitExe `
-testRunnerArg $targetArg `
-openCoverExe $openCoverExe `
-openCoverExe $script:openCoverExe `
-openCoverResult $openCoverResult `
-filter $openCoverFilter `
-excludeAttribute $openCoverExcludeAttribute `
Expand All @@ -104,9 +135,9 @@ task NunitTest -depends Compile -description "執行Nunit測試" `
if(Test-Path $testAssembly){
$targetArg = "$testAssembly --result=$nunitTestResultDirectory\nUnit.xml"

Run-TestWithOpenCover -testRunnerExe $nunitExe `
Run-TestWithOpenCover -testRunnerExe $script:nunitExe `
-testRunnerArg $targetArg `
-openCoverExe $openCoverExe `
-openCoverExe $script:openCoverExe `
-openCoverResult $openCoverResult `
-filter $openCoverFilter `
-excludeAttribute $openCoverExcludeAttribute `
Expand All @@ -125,9 +156,9 @@ task MSTest -depends Compile -description "執行MSTest測試" `
Push-Location $msTestResultDirectory
$targetArg = "$testAssembly /Logger:trx"

Run-TestWithOpenCover -testRunnerExe $msTestExe `
Run-TestWithOpenCover -testRunnerExe $script:msTestExe `
-testRunnerArg $targetArg `
-openCoverExe $openCoverExe `
-openCoverExe $script:openCoverExe `
-openCoverResult $openCoverResult `
-filter $openCoverFilter `
-excludeAttribute $openCoverExcludeAttribute `
Expand All @@ -149,7 +180,7 @@ task Test -depends XunitTest, NunitTest, MSTest -description "執行Test" {

if(Test-Path $openCoverResult){
Write-Host "`r`n產生測試涵蓋率報告 html 格式"
exec{ &$reportGeneratorExe $openCoverResult $buildTestCoverageDirectory}
exec{ &$script:reportGeneratorExe $openCoverResult $buildTestCoverageDirectory}
} else {
Write-Host "`r`n沒有產生測試涵蓋率報告"
}
Expand Down

0 comments on commit 798546d

Please sign in to comment.