Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/PrismLibrary/Prism
Browse files Browse the repository at this point in the history
  • Loading branch information
brianlagunas committed Sep 20, 2018
2 parents 1841320 + e5e9fd8 commit 2a89100
Show file tree
Hide file tree
Showing 12 changed files with 263 additions and 24 deletions.
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ There are certain things that cannot be added directly into Prism for various re

| | Status |
| -------- | ------ |
| Prism | [![AppVeyor](https://img.shields.io/appveyor/ci/brianlagunas/prism/master.svg?label=appveyor)](https://ci.appveyor.com/project/brianlagunas/prism/branch/master) |
| Prism.Wpf | [![AppVeyor](https://img.shields.io/appveyor/ci/brianlagunas/prism-jy368/master.svg?label=appveyor)](https://ci.appveyor.com/project/brianlagunas/prism-jy368/branch/master) |
| Prism.Windows | [![AppVeyor](https://img.shields.io/appveyor/ci/brianlagunas/prism-gv1t3/master.svg?label=appveyor)](https://ci.appveyor.com/project/brianlagunas/prism-gv1t3/branch/master) |
| Prism.Forms | [![AppVeyor](https://img.shields.io/appveyor/ci/brianlagunas/prism-bvely/master.svg?label=appveyor)](https://ci.appveyor.com/project/brianlagunas/prism-bvely/branch/master) |
| Prism.Core | [![Build Status](https://dev.azure.com/prismlibrary/Prism/_apis/build/status/Prism.Core-CI)](https://dev.azure.com/prismlibrary/Prism/_build/latest?definitionId=10) |
| Prism.Wpf | [![Build Status](https://dev.azure.com/prismlibrary/Prism/_apis/build/status/Prism.WPF-CI)](https://dev.azure.com/prismlibrary/Prism/_build/latest?definitionId=12) |
| Prism.Windows | [![Build Status](https://dev.azure.com/prismlibrary/Prism/_apis/build/status/Prism.UWP-CI)](https://dev.azure.com/prismlibrary/Prism/_build/latest?definitionId=13) |
| Prism.Forms | [![Build Status](https://dev.azure.com/prismlibrary/Prism/_apis/build/status/Prism.Forms-CI)](https://dev.azure.com/prismlibrary/Prism/_build/latest?definitionId=11) |

## Support

Expand All @@ -39,7 +39,7 @@ As most of you know, it takes a lot of time and effort for our small team to man
By becoming a [Patron and subscribing](https://www.patreon.com/prismlibrary) to the Prism Library, you will receive a number of benefits depending on your level of support.

**Basic** - $1+ per month
- Receive all Prism Library news and announcements, such as new release information and blogs posts.
- Receive all Prism Library news and announcements, such as new release information and blogs posts.
- Gives you access to our community Slack channel where you can ask questions and get help from the community and the Prism Library project maintainers (when available).

**Premium** - $5+ per month
Expand Down Expand Up @@ -130,9 +130,7 @@ The Prism Template Pack is available on the [Visual Studio Gallery](https://visu

### Visual Studio for Mac Addin

Due to the deprecation of the Mono Addin site, Prism now offers a direct Addin feed for the Prism Template Pack. Simply go to `Visual Studio` -> `Extensions...` and add the Prism Addins feed, then you can simply search for **Prism** in the Gallery and install the Template Pack.

![Visual Studio for Mac Addin Manager](images/prism-vs4mac-addin-templatepack.png)
The Prism Template Studio and Developer Toolkit is available from the Visual Studio Mac Extensions Gallery.

## Samples

Expand Down
33 changes: 33 additions & 0 deletions Source/CodeCoverage.runsettings
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- File name extension must be .runsettings -->
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>

<!--
About include/exclude lists:
Empty "Include" clauses imply all; empty "Exclude" clauses imply none.
Each element in the list is a regular expression (ECMAScript syntax). See http://msdn.microsoft.com/library/2k3te2cs.aspx.
An item must first match at least one entry in the include list to be included.
Included items must then not match any entries in the exclude list to remain included.
-->

<!-- Match assembly file paths: -->
<ModulePaths>
<Include>
<ModulePath>.*Prism.*\.dll$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*Tests.*</ModulePath>
</Exclude>
</ModulePaths>

</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
22 changes: 19 additions & 3 deletions Source/build/Sign-Packages.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,28 @@ dotnet tool install --tool-path . SignClient
$appSettings = "$currentDirectory\appsettings.json"
$fileList = "$currentDirectory\filelist.txt"

$nupkgs = gci $env:BUILD_ARTIFACTSTAGINGDIRECTORY\*.nupkg -recurse | Select-Object -ExpandProperty FullName
$azureAd = @{
SignClient = @{
AzureAd = @{
AADInstance = $env:SignClientAADInstance
ClientId = $env:SignClientClientId
TenantId = $env:SignClientTenantId
}
Service = @{
Url = $env:SignServiceUrl
ResourceId = $env:SignServiceResourceId
}
}
}

$azureAd | ConvertTo-Json -Compress | Out-File $appSettings

$nupkgs = Get-ChildItem $env:BUILD_ARTIFACTSTAGINGDIRECTORY\*.nupkg -recurse | Select-Object -ExpandProperty FullName

foreach ($nupkg in $nupkgs){
Write-Host "Submitting $nupkg for signing"
Write-Host "Submitting $nupkg for signing"

.\SignClient 'sign' -c $appSettings -i $nupkg -f $fileList -r $env:SignClientUser -s $env:SignClientSecret -n 'Prism' -d 'Prism' -u 'https://github.com/PrismLibrary/Prism'
.\SignClient 'sign' -c $appSettings -i $nupkg -f $fileList -r $env:SignClientUser -s $env:SignClientSecret -n 'Prism' -d 'Prism' -u 'https://github.com/PrismLibrary/Prism'

Write-Host "Finished signing $nupkg"
}
Expand Down
13 changes: 0 additions & 13 deletions Source/build/appsettings.json

This file was deleted.

23 changes: 23 additions & 0 deletions Source/build/azure-pipelines.core.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
trigger:
- master

name: $(Build.BuildId)

pool:
vmImage: vs2017-win2016

variables:
BuildPlatform: 'Any CPU'
BuildConfiguration: 'Release'

steps:
- template: steps/build.yml
parameters:
solution: Source/PrismLibrary_Core.sln
solutionName: Build Prism Core

- template: steps/core-test.yml
parameters:
displayName: Test Prism.Core
projectName: Prism.Core
projectsPath: $(System.DefaultWorkingDirectory)\Source\Prism.Tests\Prism.Tests.csproj
17 changes: 17 additions & 0 deletions Source/build/azure-pipelines.uwp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
trigger:
- master

name: $(Build.BuildId)

pool:
vmImage: vs2017-win2016

variables:
BuildPlatform: 'Any CPU'
BuildConfiguration: 'Release'

steps:
- template: steps/build.yml
parameters:
solution: Source/PrismLibrary_Win10.sln
solutionName: Build Prism UWP
26 changes: 26 additions & 0 deletions Source/build/azure-pipelines.wpf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
trigger:
- master

name: $(Build.BuildId)

pool:
vmImage: vs2017-win2016

variables:
BuildPlatform: 'Any CPU'
BuildConfiguration: 'Release'

steps:
- template: steps/build.yml
parameters:
solution: Source/PrismLibrary_Wpf.sln
solutionName: Build Prism.WPF

- template: steps/vstest.yml
parameters:
displayName: Test Prism.WPF
projectName: Prism.WPF
projectsPath: |
$(System.DefaultWorkingDirectory)\Source\Wpf\**\*test*.dll
!**/obj/*
25 changes: 25 additions & 0 deletions Source/build/azure-pipelines.xf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
trigger:
- master

name: $(Build.BuildId)

pool:
vmImage: vs2017-win2016

variables:
BuildPlatform: 'Any CPU'
BuildConfiguration: 'Release'

steps:
- template: steps/build.yml
parameters:
solution: Source/PrismLibrary_XF.sln
solutionName: Build Prism.Forms

- template: steps/core-test.yml
parameters:
displayName: Test Prism.Forms
projectName: Prism.Forms
projectsPath: |
Source/Xamarin/**/*.Tests.csproj
!**/*Ninject*.csproj
67 changes: 67 additions & 0 deletions Source/build/azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
trigger:
- master
- rel/*
- devops

name: $(Build.BuildId)

pool:
vmImage: vs2017-win2016

variables:
BuildPlatform: 'Any CPU'
BuildConfiguration: 'Release'

steps:
- template: steps/build.yml
parameters:
solution: Source/PrismLibrary.sln
solutionName: Build full Prism Library

- task: PublishBuildArtifacts@1
displayName: 'Publish Assembly Artifacts'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)/$(BuildConfiguration)'
ArtifactName: '$(BuildConfiguration)'
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))

- powershell: ./Sign-Packages.ps1
workingDirectory: Source/build
displayName: 'Authenticode Sign Artifacts'
env:
SignClientUser: $(SignClientUser)
SignClientSecret: $(SignClientSecret)
SignClientClientId: $(SignClientClientId)
SignClientTenantId: $(SignClientTenantId)
SignServiceResourceId: $(SignServiceResourceId)
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))

- task: PublishBuildArtifacts@1
displayName: 'Publish Package Artifacts'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)/NuGet'
ArtifactName: NuGet
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))

- template: steps/core-test.yml
parameters:
displayName: Test Prism.Core
projectName: Prism.Core
projectsPath: Source/Prism.Tests/Prism.Tests.csproj

- template: steps/core-test.yml
parameters:
displayName: Test Prism.Forms
projectName: Prism.Forms
projectsPath: |
Source/Xamarin/**/*.Tests.csproj
!**/*Ninject*.csproj
- template: steps/vstest.yml
parameters:
displayName: Test Prism.WPF
projectName: Prism.WPF
projectsPath: |
$(System.DefaultWorkingDirectory)\Source\Wpf\**\*test*.dll
!**/obj/*
22 changes: 22 additions & 0 deletions Source/build/steps/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
parameters:
solution: '**/*.sln'
solutionName: 'Build Solution'

steps:
- task: NuGetToolInstaller@0
displayName: Use NuGet 4.7.1
inputs:
versionSpec: 4.7.1

- task: NuGetCommand@2
displayName: 'NuGet restore'
inputs:
restoreSolution: ${{ parameters.solution }}
noCache: true

- task: MSBuild@1
displayName: ${{ parameters.solutionName }}
inputs:
solution: ${{ parameters.solution }}
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'
12 changes: 12 additions & 0 deletions Source/build/steps/core-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
parameters:
displayName: 'Test Project'
projectName: '**/*.sln'
projectsPath: '**/*.Tests.csproj'

steps:
- task: DotNetCoreCLI@2
displayName: ${{ parameters.displayName }}
inputs:
command: test
projects: ${{ parameters.projectsPath }}
arguments: -c $(BuildConfiguration) --collect:"Code Coverage" -s $(System.DefaultWorkingDirectory)/Source/CodeCoverage.runsettings --no-build
13 changes: 13 additions & 0 deletions Source/build/steps/vstest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
parameters:
displayName: 'Test Project'
projectName: '**/*.sln'
projectsPath: '**/*.Tests.csproj'

steps:
- task: VSTest@2
displayName: ${{ parameters.displayName }}
inputs:
testAssemblyVer2: ${{ parameters.projectsPath }}
testRunTitle: '${{ parameters.projectName }}'
platform: '$(BuildPlatform)'
configuration: '$(BuildConfiguration)'

0 comments on commit 2a89100

Please sign in to comment.