Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 17 additions & 11 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ dotnet_naming_rule.public_static_readonly_all_upper.style = all_upper
#Formatting - indentation options
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = false
csharp_indent_labels = one_less_than_current
csharp_indent_labels = no_change
csharp_indent_switch_labels = true

#Formatting - new line options
Expand Down Expand Up @@ -155,19 +155,19 @@ csharp_style_expression_bodied_properties = true:warning
csharp_style_expression_bodied_local_functions = true:silent

#Style - expression preferences
dotnet_style_object_initializer = true:warning
dotnet_style_object_initializer = true:silent
dotnet_style_collection_initializer = true:warning
dotnet_style_prefer_inferred_anonymous_type_member_names = true:warning
dotnet_style_prefer_auto_properties = true:warning
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_prefer_compound_assignment = true:warning
dotnet_style_prefer_compound_assignment = true:silent

#Style - null/type checks
dotnet_style_coalesce_expression = true:warning
dotnet_style_null_propagation = true:warning
dotnet_style_coalesce_expression = true:silent
dotnet_style_null_propagation = true:silent
csharp_style_pattern_matching_over_is_with_cast_check = true:warning
csharp_style_pattern_matching_over_as_with_null_check = true:warning
csharp_style_pattern_matching_over_as_with_null_check = true:silent
csharp_style_throw_expression = true:silent
csharp_style_conditional_delegate_call = true:warning

Expand All @@ -178,8 +178,8 @@ csharp_style_unused_value_expression_statement_preference = discard_variable:sil
csharp_style_unused_value_assignment_preference = discard_variable:warning

#Style - variable declaration
csharp_style_inlined_variable_declaration = true:warning
csharp_style_deconstructed_variable_declaration = true:warning
csharp_style_inlined_variable_declaration = true:silent
csharp_style_deconstructed_variable_declaration = true:silent

#Style - other C# 7.x features
dotnet_style_prefer_inferred_tuple_names = true:warning
Expand All @@ -188,12 +188,18 @@ csharp_style_pattern_local_over_anonymous_function = true:warning
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent

#Style - C# 8 features
csharp_prefer_static_local_function = true:warning
csharp_prefer_static_local_function = true:silent
csharp_prefer_simple_using_statement = true:silent
csharp_style_prefer_index_operator = true:warning
csharp_style_prefer_range_operator = true:warning
csharp_style_prefer_index_operator = true:silent
csharp_style_prefer_range_operator = true:silent
csharp_style_prefer_switch_expression = false:none

#Style - C# 9 features
csharp_style_prefer_pattern_matching = false:none

#Style - C# 12 features
csharp_style_prefer_primary_constructors = false

csharp_style_namespace_declarations = block_scoped:warning

[*.{yaml,yml}]
Expand Down
24 changes: 11 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v6

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Restore Tools
run: dotnet tool restore
Expand Down Expand Up @@ -78,10 +78,10 @@ jobs:
- name: Checkout
uses: actions/checkout@v6

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Setup Go
uses: actions/setup-go@v6
Expand Down Expand Up @@ -125,10 +125,10 @@ jobs:
distribution: microsoft
java-version: 11

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Restore .NET workloads
run: dotnet workload install android
Expand All @@ -138,24 +138,22 @@ jobs:

build-only-ios:
name: Build only (iOS)
runs-on: macos-15
runs-on: macos-26
timeout-minutes: 60
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Restore .NET workloads
run: dotnet workload install ios

# https://github.com/dotnet/macios/issues/19157
# https://github.com/actions/runner-images/issues/12758
- name: Use Xcode 16.4
run: sudo xcode-select -switch /Applications/Xcode_16.4.app
- name: Use Xcode 26.5
run: sudo xcode-select -switch /Applications/Xcode_26.5.app

- name: Compile
run: dotnet build -c Debug osu-framework.iOS.slnf
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy-nativelibs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@ jobs:
id: artifactsPath
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}/artifacts"

- name: Setup .NET 8.0.x
- name: Setup .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Build NativeLibs
run: dotnet pack -c Release osu.Framework.NativeLibs /p:Configuration=Release /p:Version=${{needs.check-if-tag.outputs.version}} /p:GenerateDocumentationFile=true -o ${{steps.artifactsPath.outputs.nuget_artifacts}}
Expand Down
24 changes: 11 additions & 13 deletions .github/workflows/deploy-pack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ jobs:
id: artifactsPath
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}\artifacts"

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Pack (Framework)
run: dotnet pack -c Release osu.Framework /p:Version=${{ github.ref_name }} /p:GenerateDocumentationFile=true /p:IncludeSymbols=true /p:SymbolPackageFormat=snupkg -o ${{steps.artifactsPath.outputs.nuget_artifacts}}
Expand Down Expand Up @@ -84,10 +84,10 @@ jobs:
id: artifactsPath
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}/artifacts"

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Replace project references
run: osu.Framework.Templates/replace-references.sh ${{ github.ref_name }}
Expand Down Expand Up @@ -119,10 +119,10 @@ jobs:
id: artifactsPath
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}\artifacts"

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Setup JDK 11
uses: actions/setup-java@v5
Expand All @@ -147,7 +147,7 @@ jobs:

pack-ios:
name: Pack (iOS)
runs-on: macos-15
runs-on: macos-26
environment: production
defaults:
run:
Expand All @@ -160,18 +160,16 @@ jobs:
id: artifactsPath
run: echo "::set-output name=NUGET_ARTIFACTS::${{github.workspace}}/artifacts"

- name: Install .NET 8.0.x
- name: Install .NET 10.0.x
uses: actions/setup-dotnet@v5
with:
dotnet-version: "8.0.x"
dotnet-version: "10.0.x"

- name: Restore .NET Workloads
run: dotnet workload install ios

# https://github.com/dotnet/macios/issues/19157
# https://github.com/actions/runner-images/issues/12758
- name: Use Xcode 16.4
run: sudo xcode-select -switch /Applications/Xcode_16.4.app
- name: Use Xcode 26.5
run: sudo xcode-select -switch /Applications/Xcode_26.5.app

- name: Pack (iOS Framework)
run: dotnet pack -c Release osu.Framework.iOS /p:Version=${{ github.ref_name }} /p:GenerateDocumentationFile=true -o ${{steps.artifactsPath.outputs.nuget_artifacts}}
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 10 additions & 10 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@
"request": "launch",
"program": "dotnet",
"args": [
"${workspaceRoot}/osu.Framework.Tests/bin/Debug/net8.0/osu.Framework.Tests.dll",
"${workspaceRoot}/osu.Framework.Tests/bin/Debug/net10.0/osu.Framework.Tests.dll",
],
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build (Debug)",
"linux": {
"env": {
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Tests/bin/Debug/net8.0:${env:LD_LIBRARY_PATH}"
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Tests/bin/Debug/net10.0:${env:LD_LIBRARY_PATH}"
}
},
"console": "internalConsole"
Expand All @@ -38,13 +38,13 @@
"request": "launch",
"program": "dotnet",
"args": [
"${workspaceRoot}/osu.Framework.Tests/bin/Release/net8.0/osu.Framework.Tests.dll",
"${workspaceRoot}/osu.Framework.Tests/bin/Release/net10.0/osu.Framework.Tests.dll",
],
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build (Release)",
"linux": {
"env": {
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Tests/bin/Release/net8.0:${env:LD_LIBRARY_PATH}"
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Tests/bin/Release/net10.0:${env:LD_LIBRARY_PATH}"
}
},
"console": "internalConsole"
Expand All @@ -55,13 +55,13 @@
"request": "launch",
"program": "dotnet",
"args": [
"${workspaceRoot}/SampleGame.Desktop/bin/Debug/net8.0/SampleGame.Desktop.dll",
"${workspaceRoot}/SampleGame.Desktop/bin/Debug/net10.0/SampleGame.Desktop.dll",
],
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build SampleGame (Debug)",
"linux": {
"env": {
"LD_LIBRARY_PATH": "${workspaceRoot}/SampleGame.Desktop/bin/Debug/net8.0:${env:LD_LIBRARY_PATH}"
"LD_LIBRARY_PATH": "${workspaceRoot}/SampleGame.Desktop/bin/Debug/net10.0:${env:LD_LIBRARY_PATH}"
}
},
"console": "internalConsole"
Expand All @@ -72,13 +72,13 @@
"request": "launch",
"program": "dotnet",
"args": [
"${workspaceRoot}/SampleGame.Desktop/bin/Release/net8.0/SampleGame.Desktop.dll",
"${workspaceRoot}/SampleGame.Desktop/bin/Release/net10.0/SampleGame.Desktop.dll",
],
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build SampleGame (Release)",
"linux": {
"env": {
"LD_LIBRARY_PATH": "${workspaceRoot}/SampleGame.Desktop/bin/Release/net8.0:${env:LD_LIBRARY_PATH}"
"LD_LIBRARY_PATH": "${workspaceRoot}/SampleGame.Desktop/bin/Release/net10.0:${env:LD_LIBRARY_PATH}"
}
},
"console": "internalConsole"
Expand All @@ -89,15 +89,15 @@
"request": "launch",
"program": "dotnet",
"args": [
"${workspaceRoot}/osu.Framework.Benchmarks/bin/Release/net8.0/osu.Framework.Benchmarks.dll",
"${workspaceRoot}/osu.Framework.Benchmarks/bin/Release/net10.0/osu.Framework.Benchmarks.dll",
"--filter",
"*",
],
"cwd": "${workspaceRoot}",
"preLaunchTask": "Build Benchmarks",
"linux": {
"env": {
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Benchmarks/bin/Release/net8.0:${env:LD_LIBRARY_PATH}"
"LD_LIBRARY_PATH": "${workspaceRoot}/osu.Framework.Benchmarks/bin/Release/net10.0:${env:LD_LIBRARY_PATH}"
}
},
}
Expand Down
4 changes: 2 additions & 2 deletions SampleGame.Android/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="SampleGame.Android" android:installLocation="auto">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="36" />
<application />
</manifest>
</manifest>
2 changes: 1 addition & 1 deletion SampleGame.Android/SampleGame.Android.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\osu.Framework.Android.props" />
<PropertyGroup>
<TargetFramework>net8.0-android</TargetFramework>
<TargetFramework>net10.0-android</TargetFramework>
<OutputType>Exe</OutputType>
<RootNamespace>SampleGame.Android</RootNamespace>
<AssemblyName>SampleGame.Android</AssemblyName>
Expand Down
2 changes: 1 addition & 1 deletion SampleGame.Desktop/SampleGame.Desktop.csproj
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup Label="Project">
<TargetFramework>net8.0</TargetFramework>
<TargetFramework>net10.0</TargetFramework>
<OutputType>WinExe</OutputType>
</PropertyGroup>
<ItemGroup Label="Project References">
Expand Down
2 changes: 1 addition & 1 deletion SampleGame.iOS/SampleGame.iOS.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0-ios</TargetFramework>
<TargetFramework>net10.0-ios</TargetFramework>
<SupportedOSPlatformVersion>13.4</SupportedOSPlatformVersion>
</PropertyGroup>
<Import Project="..\osu.Framework.iOS.props" />
Expand Down
Loading
Loading