Skip to content

Commit dc3fcfa

Browse files
authored
Merge branch 'main' into development
2 parents 500f985 + 0fc9208 commit dc3fcfa

File tree

488 files changed

+8107
-13462
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

488 files changed

+8107
-13462
lines changed

.devcontainer/devcontainer.json

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"name": "WPF UI Docs Dev Container",
3+
"image": "mcr.microsoft.com/dotnet/sdk:9.0",
4+
"features": {
5+
"ghcr.io/devcontainers/features/node:1": {
6+
"version": "20"
7+
}
8+
},
9+
"postCreateCommand": "./.devcontainer/post-create.sh",
10+
"forwardPorts": [
11+
8080
12+
],
13+
"remoteEnv": {
14+
"NODE_ENV": "development"
15+
}
16+
}

.devcontainer/post-create.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#!/bin/sh
2+
3+
apt-get update
4+
apt-get install -y openssh-client
5+
6+
cd docs/templates
7+
npm ci
8+
npm run build
9+
dotnet tool install -g docfx
10+
11+
export PATH="$PATH:/root/.dotnet/tools"
12+
13+
cd ../
14+
docfx docfx.json --serve

.editorconfig

+23-7
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ file_header_template = This Source Code Form is subject to the terms of the MIT
5050
#### .NET Coding Conventions ####
5151

5252
# this. and Me. preferences
53-
dotnet_style_qualification_for_event = false:warning
54-
dotnet_style_qualification_for_field = false:warning
55-
dotnet_style_qualification_for_method = false:warning
56-
dotnet_style_qualification_for_property = false:warning
53+
dotnet_style_qualification_for_event = false:silent
54+
dotnet_style_qualification_for_field = false:silent
55+
dotnet_style_qualification_for_method = false:silent
56+
dotnet_style_qualification_for_property = false:silent
5757

5858
# Language keywords vs BCL types preferences
5959
dotnet_style_predefined_type_for_locals_parameters_members = true:warning
@@ -95,8 +95,8 @@ dotnet_style_readonly_field = true:warning
9595

9696
# var preferences
9797
csharp_style_var_elsewhere = false:warning
98-
csharp_style_var_for_built_in_types = false:warning
99-
csharp_style_var_when_type_is_apparent = false:warning
98+
csharp_style_var_for_built_in_types = false:none
99+
csharp_style_var_when_type_is_apparent = false:none
100100

101101
# Expression-bodied members
102102
csharp_style_expression_bodied_accessors = false:silent
@@ -388,7 +388,7 @@ dotnet_diagnostic.SA1633.severity = none
388388
dotnet_diagnostic.SA1634.severity = none
389389
dotnet_diagnostic.SA1652.severity = none
390390

391-
dotnet_diagnostic.IDE0009.severity = none
391+
392392

393393
# Additional Stylecop Analyzers
394394
dotnet_diagnostic.SA1111.severity = none
@@ -397,3 +397,19 @@ dotnet_diagnostic.SA1204.severity = none
397397
dotnet_diagnostic.SA1208.severity = none
398398
dotnet_diagnostic.SA1518.severity = none
399399
dotnet_diagnostic.SA1615.severity = none
400+
dotnet_diagnostic.SA1502.severity = none
401+
dotnet_diagnostic.SA1010.severity = none # Opening square brackets should not be preceded by a space
402+
# conflicts with collection expressions and IDE0028
403+
404+
# Suppress some ValueConverter warnings
405+
dotnet_diagnostic.WPF0073.severity = none # Add ValueConversion attribute (unknown types)
406+
dotnet_diagnostic.WPF0071.severity = none # Add ValueConversion attribute
407+
dotnet_diagnostic.WPF0070.severity = none # Add default field to converter
408+
409+
# Suppress some IDE warnings
410+
dotnet_diagnostic.IDE0290.severity = none # Use primary constructor
411+
dotnet_diagnostic.CS1591.severity = none # Missing XML comment for publicly visible type or member
412+
# 15000+ warnings in the solution
413+
dotnet_diagnostic.CA1510.severity = none # Use ArgumentNullException throw helper
414+
# doesn't work with older versions of .NET
415+

.github/labeler.yml

+4
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ themes:
3636
- changed-files:
3737
- any-glob-to-any-file: 'src/Wpf.Ui/Appearance/**'
3838

39+
titlebar:
40+
- changed-files:
41+
- any-glob-to-any-file: 'src/Wpf.Ui/Controls/TitleBar/**'
42+
3943
tray:
4044
- changed-files:
4145
- any-glob-to-any-file: 'src/Wpf.Ui.Tray/**'
+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: wpf-ui-top-issues-dashboard
2+
on:
3+
schedule:
4+
- cron: '0 0 */1 * *'
5+
6+
jobs:
7+
ShowAndLabelTopIssues:
8+
name: Display and label top issues.
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Top Issues action
12+
uses: rickstaa/[email protected]
13+
env:
14+
github_token: ${{ secrets.GITHUB_TOKEN }}
15+
with:
16+
top_list_size: 10
17+
label: true
18+
dashboard: true
19+
dashboard_show_total_reactions: true
20+
top_issues: true
21+
top_bugs: true
22+
top_features: true
23+
feature_label: feature
24+
top_pull_requests: true

.github/workflows/wpf-ui-cd-docs.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ jobs:
2828
- name: Checkout
2929
uses: actions/checkout@v4
3030
- name: Setup Pages
31-
uses: actions/configure-pages@v4
31+
uses: actions/configure-pages@v5
3232
- name: Use Node.js 18.x
3333
uses: actions/setup-node@v4
3434
with:
3535
node-version: 18.x
36-
- name: Setup .NET Core SDK 8.x
36+
- name: Setup .NET Core SDK 9.x
3737
uses: actions/setup-dotnet@v4
3838
with:
39-
dotnet-version: 8.x
39+
dotnet-version: 9.x
4040

4141
- name: Install docfx
4242
run: dotnet tool update -g docfx

.github/workflows/wpf-ui-cd-extension.yaml

+13-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ name: wpf-ui-cd-extension
33
on:
44
push:
55
branches: [main]
6+
paths:
7+
- 'src/Wpf.Ui.Extension**'
68

79
workflow_dispatch:
810

@@ -11,7 +13,7 @@ jobs:
1113
runs-on: windows-latest
1214
steps:
1315
- uses: actions/checkout@v4
14-
- uses: microsoft/setup-msbuild@v1.3
16+
- uses: microsoft/setup-msbuild@v2
1517
with:
1618
msbuild-architecture: x64
1719
- uses: nuget/setup-nuget@v2
@@ -22,9 +24,17 @@ jobs:
2224
run: nuget restore Wpf.Ui.sln
2325

2426
- name: Build the solution
25-
run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:GITHUB_ACTIONS=True
27+
run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="x64" -p:ProductArchitecture="amd64" -p:GITHUB_ACTIONS=True
28+
29+
- name: Build the solution
30+
run: msbuild src\Wpf.Ui.Extension\Wpf.Ui.Extension.csproj /t:Rebuild -p:Configuration=Release -p:RestorePackages=false -p:Platform="arm64" -p:ProductArchitecture="arm64" -p:GITHUB_ACTIONS=True
2631

2732
- uses: actions/upload-artifact@v4
2833
with:
29-
name: wpf-ui-vs22-extension
34+
name: wpf-ui-vs22-extension-x64
3035
path: src\Wpf.Ui.Extension\bin\x64\Release\Wpf.Ui.Extension.vsix
36+
37+
- uses: actions/upload-artifact@v4
38+
with:
39+
name: wpf-ui-vs22-extension-arm64
40+
path: src\Wpf.Ui.Extension\bin\arm64\Release\Wpf.Ui.Extension.vsix

.github/workflows/wpf-ui-cd-nuget.yaml

+29-6
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@ name: wpf-ui-cd-nuget
22

33
on:
44
push:
5-
branches: [main]
5+
branches:
6+
- main
7+
- release/*
8+
paths:
9+
- 'src/**'
610

711
workflow_dispatch:
812

@@ -11,28 +15,47 @@ jobs:
1115
runs-on: windows-latest
1216
steps:
1317
- uses: actions/checkout@v4
14-
- uses: microsoft/setup-msbuild@v1.3
18+
- uses: microsoft/setup-msbuild@v2
1519
with:
1620
msbuild-architecture: x64
1721
- uses: nuget/setup-nuget@v2
1822
with:
1923
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
20-
- name: Setup .NET Core SDK 8.x
24+
- name: Setup .NET Core SDK 9.x
2125
uses: actions/setup-dotnet@v4
2226
with:
23-
dotnet-version: 8.x
27+
dotnet-version: 9.x
28+
29+
- name: Fetch the certificate
30+
run: |
31+
$signing_keys_payload = [System.Convert]::FromBase64String("${{ secrets.STRONG_NAME_KEY }}")
32+
$currentDirectory = Get-Location
33+
$certificatePath = Join-Path -Path $currentDirectory -ChildPath "src/lepo.snk"
34+
[IO.File]::WriteAllBytes("$certificatePath", $signing_keys_payload)
2435
2536
- name: Install dependencies
2637
run: dotnet restore
2738

2839
- name: Build
29-
run: dotnet build src\Wpf.Ui\Wpf.Ui.csproj --configuration Release --no-restore
40+
run: dotnet build src\Wpf.Ui\Wpf.Ui.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
41+
42+
- name: Build
43+
run: dotnet build src\Wpf.Ui.Abstractions\Wpf.Ui.Abstractions.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
3044

3145
- name: Build
32-
run: dotnet build src\Wpf.Ui.Tray\Wpf.Ui.Tray.csproj --configuration Release --no-restore
46+
run: dotnet build src\Wpf.Ui.DependencyInjection\Wpf.Ui.DependencyInjection.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
47+
48+
- name: Build
49+
run: dotnet build src\Wpf.Ui.Tray\Wpf.Ui.Tray.csproj --configuration Release --no-restore -p:SourceLinkEnabled=true
3350

3451
- name: Publish the package to NuGet.org
3552
run: nuget push **\*.nupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json'
3653

3754
- name: Publish the symbols to NuGet.org
3855
run: nuget push **\*.snupkg -NonInteractive -SkipDuplicate -Source 'https://api.nuget.org/v3/index.json'
56+
57+
- name: Upload NuGet packages as artifacts
58+
uses: actions/upload-artifact@v4
59+
with:
60+
name: nuget-packages
61+
path: '**\*.nupkg'

.github/workflows/wpf-ui-lock.yml

+11-11
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ name: wpf-ui-lock
22

33
on:
44
schedule:
5-
- cron: "0 0 * * *"
5+
- cron: '0 0 * * 0'
6+
workflow_dispatch:
7+
8+
permissions:
9+
issues: write
10+
pull-requests: write
11+
discussions: write
12+
13+
concurrency:
14+
group: lock-threads
615

716
jobs:
8-
lock:
17+
action:
918
runs-on: ubuntu-latest
1019
steps:
1120
- uses: dessant/lock-threads@v5
12-
with:
13-
# https://github.com/dessant/lock-threads
14-
github-token: ${{ github.token }}
15-
issue-inactive-days: "90"
16-
exclude-issue-created-before: ""
17-
exclude-any-issue-labels: "keep-unlocked, status:awaiting response"
18-
add-issue-labels: "locked-due-to-inactivity"
19-
issue-comment: ""
20-
issue-lock-reason: "resolved"

.github/workflows/wpf-ui-pr-validator.yaml

+4-6
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@ name: wpf-ui-pr-validator
22

33
on:
44
pull_request:
5-
branches: [development]
6-
push:
7-
branches: [development]
5+
branches: [main]
86

97
workflow_dispatch:
108

@@ -13,16 +11,16 @@ jobs:
1311
runs-on: windows-latest
1412
steps:
1513
- uses: actions/checkout@v4
16-
- uses: microsoft/setup-msbuild@v1.3
14+
- uses: microsoft/setup-msbuild@v2
1715
with:
1816
msbuild-architecture: x64
1917
- uses: nuget/setup-nuget@v2
2018
with:
2119
nuget-api-key: ${{ secrets.NUGET_API_KEY }}
22-
- name: Setup .NET Core SDK 8.x
20+
- name: Setup .NET Core SDK 9.x
2321
uses: actions/setup-dotnet@v4
2422
with:
25-
dotnet-version: 8.x
23+
dotnet-version: 9.x
2624

2725
- name: Install dependencies
2826
run: dotnet restore

.gitignore

+6
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22
## files generated by popular Visual Studio add-ons.
33
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
44

5+
# Strong Name Key files
6+
src/lepo.snk
7+
58
# DocFX
69
docs/api/
710

11+
# Desktop service store
12+
.DS_Store
13+
814
# User-specific files
915
*.rsuser
1016
*.suo

0 commit comments

Comments
 (0)