Skip to content

Commit b68eb03

Browse files
authored
VMASharp rebase (#1253)
1 parent fb635ef commit b68eb03

File tree

6,956 files changed

+2524695
-242401
lines changed

Some content is hidden

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

6,956 files changed

+2524695
-242401
lines changed

.editorconfig

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11

22
[*]
33
charset = utf-8
4-
end_of_line = crlf
4+
end_of_line = lf
55
trim_trailing_whitespace = false
6-
insert_final_newline = false
6+
insert_final_newline = true
77
indent_style = space
88
indent_size = 4
99

@@ -35,6 +35,16 @@ dotnet_style_qualification_for_property = false:warning
3535
dotnet_style_require_accessibility_modifiers = for_non_interface_members:hint
3636
csharp_style_inlined_variable_declaration = true:hint
3737
dotnet_sort_system_directives_first = true
38+
dotnet_public_api_analyzer.require_api_files = true
39+
dotnet_diagnostic.RS0016.severity = error
40+
dotnet_diagnostic.RS0017.severity = error
41+
42+
# we should care more about this one day
43+
dotnet_diagnostic.RS0041.severity = warn
44+
45+
# public api warnings silk.net doesn't care about
46+
dotnet_diagnostic.RS0026.severity = none # Don't add multiple public overloads with optional parameters
47+
dotnet_diagnostic.RS0027.severity = none # Overloads w/ optional parameters should have the most parameters of all overloads
3848

3949
# ReSharper properties
4050
resharper_autodetect_indent_settings = true
@@ -73,4 +83,8 @@ silk_touch_compact_file_format = true
7383
[*.{appxmanifest,asax,ascx,aspx,build,config,cs,cshtml,csproj,dbml,discomap,dtd,fs,fsi,fsscript,fsx,htm,html,jsproj,lsproj,master,ml,mli,njsproj,nuspec,proj,props,razor,resw,resx,skin,StyleCop,targets,tasks,vb,vbproj,xaml,xamlx,xml,xoml,xsd}]
7484
indent_style = space
7585
indent_size = 4
76-
tab_width = 4
86+
tab_width = 4
87+
88+
# License header + warning generated if missing
89+
file_header_template=Licensed to the .NET Foundation under one or more agreements.\nThe .NET Foundation licenses this file to you under the MIT license.
90+
dotnet_diagnostic.IDE0073.severity = warning

.github/FUNDING.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
github: [HurricanKai, Perksey]
1+
github: [HurricanKai]

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: nuget
4+
target-branch: main
5+
directory: "/"
6+
schedule:
7+
interval: weekly
8+
day: thursday
9+
- package-ecosystem: nuget
10+
target-branch: develop/3.0
11+
directory: "/"
12+
schedule:
13+
interval: weekly
14+
day: thursday

.github/workflows/SwiftShader.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: SwiftShader
2+
on:
3+
push:
4+
paths:
5+
- build/submodules/SwiftShader
6+
- build/nuke/Build.Native.cs
7+
branches-ignore:
8+
- "ci/*"
9+
- "develop/*"
10+
- "main"
11+
jobs:
12+
Build:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
env:
17+
- os: ubuntu-latest
18+
name: Linux
19+
nuke_invoke: ./build.sh
20+
extras: |
21+
sudo apt-get update
22+
sudo apt-get install -y libx11-xcb-dev
23+
- os: windows-latest
24+
name: Windows
25+
nuke_invoke: ./build.cmd
26+
extras: ""
27+
- os: macos-latest
28+
name: Darwin
29+
nuke_invoke: ./build.sh
30+
extras: ""
31+
name: ${{ matrix.env.name }} Build
32+
runs-on: ${{ matrix.env.os }}
33+
steps:
34+
- uses: actions/checkout@v2
35+
with:
36+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
37+
- name: Checkout submodules, configure git
38+
run: |
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
40+
git config --local user.email "[email protected]"
41+
git config --local user.name "The Silk.NET Automaton"
42+
- name: Extra prerequisites
43+
run: |
44+
echo running extras
45+
${{ matrix.env.extras }}
46+
- name: Cache .tmp, ~/.nuget/packages
47+
uses: actions/cache@v2
48+
with:
49+
path: |
50+
.tmp
51+
~/.nuget/packages
52+
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
53+
- name: Setup .NET 6.0
54+
uses: actions/setup-dotnet@v1
55+
with:
56+
dotnet-version: 6.0.201
57+
- name: Build SwiftShader
58+
run: ${{ matrix.env.nuke_invoke }} SwiftShader
59+
env:
60+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/angle.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: ANGLE
2+
on:
3+
push:
4+
paths:
5+
- build/submodules/ANGLE
6+
- build/nuke/Build.Native.cs
7+
branches-ignore:
8+
- "ci/*"
9+
- "develop/*"
10+
- "main"
11+
jobs:
12+
Build:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
env:
17+
- os: ubuntu-latest
18+
name: Linux
19+
nuke_invoke: ./build.sh
20+
extras: |
21+
sudo apt-get update
22+
sudo apt-get remove php7.4-common
23+
sudo apt-get install -y libx11-xcb-dev libapache2-mod-php7.4
24+
- os: windows-latest
25+
name: Windows
26+
nuke_invoke: ./build.cmd
27+
extras: |
28+
pwsh build\Install-WindowsSDK.ps1
29+
- os: macos-latest
30+
name: Darwin
31+
nuke_invoke: ./build.sh
32+
extras: ""
33+
name: ${{ matrix.env.name }} Build
34+
runs-on: ${{ matrix.env.os }}
35+
steps:
36+
- uses: actions/checkout@v2
37+
with:
38+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
39+
- name: Checkout submodules, configure git
40+
run: |
41+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
42+
git config --local user.email "[email protected]"
43+
git config --local user.name "The Silk.NET Automaton"
44+
- name: Extra prerequisites
45+
run: |
46+
echo running extras
47+
${{ matrix.env.extras }}
48+
- name: Cache .tmp, ~/.nuget/packages
49+
uses: actions/cache@v2
50+
with:
51+
path: |
52+
.tmp
53+
~/.nuget/packages
54+
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }}
55+
- name: Setup .NET 6.0
56+
uses: actions/setup-dotnet@v1
57+
with:
58+
dotnet-version: 6.0.201
59+
- name: Build ANGLE
60+
run: ${{ matrix.env.nuke_invoke }} Angle
61+
env:
62+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/assimp.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Assimp
2+
on:
3+
push:
4+
branches-ignore:
5+
- "ci/*"
6+
- "develop/*"
7+
- "main"
8+
paths:
9+
- "build/submodules/Assimp"
10+
- "build/nuke/Build.Native.cs"
11+
jobs:
12+
Build:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
env:
17+
- os: ubuntu-latest
18+
name: Linux
19+
nuke_invoke: ./build.sh
20+
extras: |
21+
sudo apt-get update
22+
sudo apt-get install -y xorg-dev
23+
- os: windows-latest
24+
name: Windows
25+
nuke_invoke: ./build.cmd
26+
extras: ""
27+
- os: macos-latest
28+
name: Darwin
29+
nuke_invoke: ./build.sh
30+
extras: ""
31+
name: ${{ matrix.env.name }} Build
32+
runs-on: ${{ matrix.env.os }}
33+
steps:
34+
- uses: actions/checkout@v2
35+
with:
36+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
37+
- name: Checkout submodules, configure git.
38+
run: |
39+
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
40+
git config --local user.email "[email protected]"
41+
git config --local user.name "The Silk.NET Automaton"
42+
- name: Extra prerequisites
43+
run: |
44+
echo running extras
45+
${{ matrix.env.extras }}
46+
- name: Setup .NET 6.0
47+
uses: actions/setup-dotnet@v1
48+
with:
49+
dotnet-version: 6.0.201
50+
- name: Build Assimp
51+
run: ${{ matrix.env.nuke_invoke }} assimp
52+
env:
53+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
54+

.github/workflows/bindings-regeneration.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ name: Bindings Regeneration
33
on:
44
schedule:
55
- cron: '0 0 * * Fri'
6+
workflow_dispatch:
67

78
jobs:
89
build:
@@ -17,8 +18,34 @@ jobs:
1718
uses: actions/setup-dotnet@v1
1819
with:
1920
dotnet-version: 3.1.302
21+
- name: Setup Java JDK 11
22+
uses: actions/[email protected]
23+
with:
24+
java-version: 11
25+
distribution: "temurin"
26+
- name: Setup .NET 6.0
27+
uses: actions/setup-dotnet@v1
28+
with:
29+
dotnet-version: 6.0.201
30+
- name: Setup .NET 5.0
31+
uses: actions/setup-dotnet@v1
32+
with:
33+
dotnet-version: 5.0.201
34+
- name: Setup .NET Core 3.1
35+
uses: actions/setup-dotnet@v1
36+
with:
37+
dotnet-version: 3.1.404
38+
- name: Setup NUKE
39+
run: dotnet tool install Nuke.GlobalTool --global
40+
- name: Install Workloads
41+
# TODO: This is slow. Maybe we can make a docker container with this already done?
42+
run: dotnet workload install android ios maccatalyst maui
43+
- uses: GuillaumeFalourd/[email protected]
44+
name: Setup Windows 11 SDK
45+
with:
46+
sdk-version: 22621
2047
- name: Run a full run of BuildTools
21-
run: dotnet run --project "src/Core/BuildTools/BuildTools.csproj" -- build/binder_scripts/fullrun.json
48+
run: dotnet run -c Release --project src/Core/Silk.NET.BuildTools/Silk.NET.BuildTools.csproj -- --no-parallel
2249
- name: Get current date
2350
id: date
2451
run: echo "::set-output name=date::$(date +'%d-%m-%Y')"
@@ -30,5 +57,5 @@ jobs:
3057
title: Binding and specification updates
3158
body: Regenerates the bindings and the cached specifications with the latest upstream specifications.
3259
branch: patch/spec-updates
33-
author: "Ultz Limited <31213871+UltzLtd@users.noreply.github.com>"
60+
author: "Team Silk.NET <9011267+dotnet-bot@users.noreply.github.com>"
3461
commit-message: Latest bindings as of ${{ steps.date.outputs.date }}

.github/workflows/build.yml

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,30 @@ on:
44
branches:
55
- 'main'
66
- 'release/*'
7+
paths-ignore:
8+
- 'documentation/**'
9+
tags:
10+
- '*'
711
pull_request:
8-
# none
12+
# all branches
13+
paths-ignore:
14+
- 'documentation/**'
915
jobs:
1016
Build:
1117
runs-on: windows-latest
1218
steps:
1319
- uses: actions/checkout@v2
1420
with:
1521
submodules: 'true'
22+
- name: Setup Java JDK 11
23+
uses: actions/[email protected]
24+
with:
25+
java-version: 11
26+
distribution: "temurin"
1627
- name: Setup .NET 6.0
1728
uses: actions/setup-dotnet@v1
1829
with:
19-
dotnet-version: 6.0.100-preview.7.21379.14
30+
dotnet-version: 6.0.201
2031
- name: Setup .NET 5.0
2132
uses: actions/setup-dotnet@v1
2233
with:
@@ -29,19 +40,47 @@ jobs:
2940
run: dotnet tool install Nuke.GlobalTool --global
3041
- name: Install Workloads
3142
# TODO: This is slow. Maybe we can make a docker container with this already done?
32-
run: dotnet workload install android android-aot ios maccatalyst maui
43+
run: dotnet workload install android ios maccatalyst maui
3344
- name: Test
45+
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }}
3446
# skip Clean, Restore, and Compile as this will build the affect the whole solution.
3547
# dotnet test will compile the necessary projects for testing only.
3648
run: nuke Test --skip Clean Restore Compile
3749
- name: Validation Checks
50+
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }}
3851
run: nuke ValidateSolution
39-
- name: Pack
52+
- name: Pack (CI)
53+
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }}
4054
# TODO build native mixins such as BuildLibSilkDroid
41-
run: nuke Pack --configuration Release --msbuild-properties VersionSuffix=build${{ github.run_number }}.0 ContinuousIntegrationBuild=true --feature-sets Legacy-Android Legacy-iOS
42-
- name: Push to NuGet
55+
run: nuke Pack --configuration Release --msbuild-properties VersionSuffix=build${{ github.run_number }}.0 ContinuousIntegrationBuild=true
56+
- name: Pack (CD)
57+
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
58+
# TODO build native mixins such as BuildLibSilkDroid
59+
run: nuke Pack --configuration Release --msbuild-properties ContinuousIntegrationBuild=true
60+
- name: Upload Unsigned Artifacts to Actions
61+
uses: actions/[email protected]
62+
with:
63+
name: unsigned_nupkgs
64+
path: "build/output_packages/*.nupkg"
65+
if-no-files-found: warn
66+
retention-days: 1
67+
- name: Sign Packages
68+
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
69+
run: nuke SignPackages --sign-username "${{ secrets.SIGN_USERNAME }}" --sign-password "${{ secrets.SIGN_PASSWORD }}"
70+
- name: Push to Azure Experimental Feed
4371
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
4472
run: nuke PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://pkgs.dev.azure.com/UltzOS/Silk.NET/_packaging/Experimental/nuget/v3/index.json --nuget-username ${{ secrets.AZDO_ARTIFACTS_USERNAME }} --nuget-password ${{ secrets.AZDO_ARTIFACTS_TOKEN }} --nuget-api-key az
4573
- name: Push to GitHub Packages
4674
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
4775
run: nuke PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://nuget.pkg.github.com/dotnet/index.json --nuget-api-key ${{ secrets.GITHUB_TOKEN }}
76+
- name: Upload Signed Artifacts to Actions
77+
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
78+
uses: actions/[email protected]
79+
with:
80+
name: signed_nupkgs
81+
path: "build/output_packages/*.nupkg"
82+
if-no-files-found: warn
83+
- name: Push to NuGet
84+
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
85+
run: nuke PushToNuGet --skip Clean Restore Pack --nuget-api-key ${{ secrets.NUGET_TOKEN }}
86+

.github/workflows/codeowners.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Codeowners
2+
on:
3+
push:
4+
paths:
5+
- "CODEOWNERS"
6+
pull_request:
7+
paths:
8+
- "CODEOWNERS"
9+
jobs:
10+
Validate:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
- uses: mszostok/[email protected]
15+
with:
16+
checks: "files,duppatterns"
17+
experimental_checks: "notowned"

0 commit comments

Comments
 (0)