Skip to content
Open
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
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ indent_size = 2
tab_size = 2

[*.yml]
intent_style = space
indent_style = space
indent_size = 2

[*.{cs,vb}]
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ on:
types: [ published, prereleased ]

env:
DotNetVersion: "8.0.115"
DotNetVersion: "10.0.100"
BuildConfiguration: "Release"
BuildParameters: "build/Build.proj /v:Minimal /consoleLoggerParameters:NoSummary /p:Configuration=Release /p:BuildVersion=${{ github.run_id }} /p:BuildBranch=${{ github.ref }}"
BuildParameters: 'build/Build.proj /v:Minimal /consoleLoggerParameters:NoSummary /p:Configuration=Release "/p:BuildVersion=${{ github.run_id }}" "/p:BuildBranch=${{ github.ref }}"'

jobs:
build-windows:
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:

build-mac:

runs-on: macos-14
runs-on: macos-26

steps:
- uses: actions/checkout@v4
Expand All @@ -77,6 +77,9 @@ jobs:

- name: Create global.json
run: del global.json || echo '{"sdk":{"version":"${{ env.DotNetVersion }}"}}' > global.json

- name: Clear nuget cache
run: dotnet nuget locals all --clear

- name: Install macos workload
run: sudo dotnet workload install macos --from-rollback-file dotnet-workloads.json
Expand All @@ -97,6 +100,10 @@ jobs:
if: github.event_name != 'pull_request'
run: echo "BuildParameters=${{ env.BuildParameters }} /p:EnableCodeSignBuild=True" >> $GITHUB_ENV

- name: Disable code signing for PR builds
if: github.event_name == 'pull_request'
run: echo "BuildParameters=${{ env.BuildParameters }} /p:EnableCodeSigning=False" >> $GITHUB_ENV

- name: Set notarization credentials
if: startsWith(github.ref, 'refs/tags/')
run: |
Expand Down
12 changes: 6 additions & 6 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-mac64",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Mac64/${config:var.configuration}/net8.0/Eto.Test.Mac64.app/Contents/MacOS/Eto.Test.Mac64",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Mac64/${config:var.configuration}/net10.0/Eto.Test.Mac64.app/Contents/MacOS/Eto.Test.Mac64",
// "targetArchitecture": "x86_64", // uncomment to test intel on M1
"args": [],
"console": "internalConsole",
Expand All @@ -30,7 +30,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-macos",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.macOS/${config:var.configuration}/net8.0-macos/Eto.Test.macOS.app/Contents/MacOS/Eto.Test.macOS",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.macOS/${config:var.configuration}/net10.0-macos/Eto.Test.macOS.app/Contents/MacOS/Eto.Test.macOS",
"args": [],
"console": "internalConsole",
"internalConsoleOptions": "openOnSessionStart",
Expand All @@ -41,7 +41,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-gtk",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Gtk/${config:var.configuration}/net8.0/Eto.Test.Gtk.dll",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Gtk/${config:var.configuration}/net10.0/Eto.Test.Gtk.dll",
"args": [],
"osx": {
"env": {
Expand Down Expand Up @@ -85,7 +85,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-wpf",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Wpf/${config:var.configuration}/net8.0-windows/Eto.Test.Wpf.exe",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Wpf/${config:var.configuration}/net10.0-windows/Eto.Test.Wpf.exe",
// "targetArchitecture": "x86_64",
"args": [],
"console": "internalConsole",
Expand All @@ -109,7 +109,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-winforms",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.WinForms/${config:var.configuration}/net8.0-windows/Eto.Test.WinForms.exe",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.WinForms/${config:var.configuration}/net10.0-windows/Eto.Test.WinForms.exe",
"args": [],
"console": "internalConsole",
"internalConsoleOptions": "openOnSessionStart",
Expand All @@ -131,7 +131,7 @@
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build-direct2d",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Direct2D/${config:var.configuration}/net8.0-windows/Eto.Test.Direct2D.exe",
"program": "${workspaceFolder}/artifacts/test/Eto.Test.Direct2D/${config:var.configuration}/net10.0-windows/Eto.Test.Direct2D.exe",
"args": [],
"console": "internalConsole",
"internalConsoleOptions": "openOnSessionStart",
Expand Down
30 changes: 24 additions & 6 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,9 @@
"label": "generate-templates",
"command": "dotnet msbuild ${workspaceFolder}/build/Build.proj /t:GenerateTemplates",
"type": "shell",
"dependsOn": [ "build-templates" ],
"dependsOn": [
"build-templates"
],
"problemMatcher": "$msCompile",
"group": "build",
"presentation": {
Expand Down Expand Up @@ -145,8 +147,8 @@
"type": "shell",
"problemMatcher": "$msCompile"
},
{
"label": "Git clean + submodule init (DANGEROUS!)",
{
"label": "Git clean + submodule init (DANGEROUS!)",
"type": "shell",
"command": "[ '${input:confirm}' = 'Yes' ] && git clean -dxff && git submodule foreach git clean -dxff && git submodule update --init --recursive",
"windows": {
Expand All @@ -172,10 +174,26 @@
"command": "sudo dotnet workload install macos --from-rollback-file dotnet-workloads.json",
"problemMatcher": "$msCompile",
"presentation": {
"clear": true,
"focus": true
"clear": true,
"focus": true
}
}
},
{
"label": "act-pull-request",
"type": "shell",
"osx": {
"command": "sudo act pull_request -P macos-14=-self-hosted"
},
"windows": {
// winget install gerardog.gsudo
"command": "gsudo act pull_request -P windows-2022=-self-hosted",
},
"problemMatcher": "$msCompile",
"presentation": {
"clear": true,
"focus": true
}
}
],
"inputs": [
{
Expand Down
2 changes: 1 addition & 1 deletion build/Build.proj
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@
<Combined Include="combined" Value="-c" />
<Combined Include="separate" Value="" />

<Framework Include="net80" Value="net8.0" />
<Framework Include="net100" Value="net10.0" />
<Framework Include="net48" Value="net48" />

<OtherOptions Include="none" Value="" />
Expand Down
4 changes: 2 additions & 2 deletions build/Common.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
<SkipGtkInstall>True</SkipGtkInstall>

<!-- Ignore errors/warnings about semver 2.0 when packing CI builds and lowercase aliases -->
<NoWarn>$(NoWarn);NU5105;CS8981;NETSDK1138;SYSLIB0050;SYSLIB0051</NoWarn>
<LangVersion Condition="$(MSBuildProjectExtension) == '.csproj'">10</LangVersion>
<NoWarn>$(NoWarn);NU5105;CS8981;NETSDK1138;SYSLIB0050;SYSLIB0051;NETSDK1202;NETSDK1135</NoWarn>
<LangVersion Condition="$(MSBuildProjectExtension) == '.csproj'">12</LangVersion>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<ValidateXcodeVersion>false</ValidateXcodeVersion>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion dotnet-workloads.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"microsoft.net.sdk.macos": "14.0.8478"
"microsoft.net.sdk.macos": "26.1.10494"
}
4 changes: 2 additions & 2 deletions samples/MacOS/EmbedEtoInMacOS/EmbedEtoInMacOS.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net8.0-macos</TargetFrameworks>
<TargetFrameworks>net10.0-macos</TargetFrameworks>
<CodeSigningKey>Mac Developer</CodeSigningKey>
<PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
<SupportedOSPlatformVersion>10.15</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
<EnableDefaultImageAssets>False</EnableDefaultImageAssets>
<TrimMode>partial</TrimMode>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion samples/MacOS/EmbedEtoInMacOS/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<string>12.0</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand Down
4 changes: 2 additions & 2 deletions samples/MacOS/EmbedMacOSInEto/EmbedMacOSInEto.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net8.0-macos</TargetFrameworks>
<TargetFrameworks>net10.0-macos</TargetFrameworks>
<CodeSigningKey>Mac Developer</CodeSigningKey>
<PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
<SupportedOSPlatformVersion>10.15</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
<TrimMode>partial</TrimMode>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion samples/MacOS/EmbedMacOSInEto/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<key>CFBundleVersion</key>
<string>1</string>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<string>12.0</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleInfoDictionaryVersion</key>
Expand Down
18 changes: 8 additions & 10 deletions src/Eto.Direct2D/2DConversions.cs
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -244,16 +244,14 @@ public static sd.CapStyle ToDx(this PenLineCap lineCap)

public static DashStyle ToEto(this sd.DashStyle d)
{
if (object.ReferenceEquals(d, sd.DashStyle.Dash))
return DashStyles.Dash;
else if (object.ReferenceEquals(d, sd.DashStyle.DashDot))
return DashStyles.DashDot;
else if (object.ReferenceEquals(d, sd.DashStyle.DashDotDot))
return DashStyles.DashDotDot;
else if (object.ReferenceEquals(d, sd.DashStyle.Dot))
return DashStyles.Dot;
else
return DashStyles.Solid;
return d switch
{
sd.DashStyle.Dash => DashStyles.Dash,
sd.DashStyle.DashDot => DashStyles.DashDot,
sd.DashStyle.DashDotDot => DashStyles.DashDotDot,
sd.DashStyle.Dot => DashStyles.Dot,
_ => DashStyles.Solid
};
}

public static FillMode ToEto(this sd.FillMode f)
Expand Down
2 changes: 1 addition & 1 deletion src/Eto.Direct2D/Eto.Direct2D.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">net6.0-windows;net462</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">net462;net6.0-windows;net8.0-windows;net10.0-windows</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFrameworks>
<OutputType>Library</OutputType>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
Expand Down
2 changes: 1 addition & 1 deletion src/Eto.Forms.Templates/Eto.Forms.Templates.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<EnableDefaultItems>false</EnableDefaultItems>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<NoBuild>True</NoBuild>
<!-- <NoBuild>True</NoBuild> -->
<IncludeBuildOutput>False</IncludeBuildOutput>
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<GenerateAssemblyVersion>False</GenerateAssemblyVersion>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
"type": "parameter",
"description": "Specify the framework(s) to support",
"dataType": "choice",
"defaultValue": "net8.0",
"defaultValue": "net10.0",
"replaces": "net6.0",
"choices": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net6.0-macos</TargetFramework>
<OutputType>Exe</OutputType>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">EtoApp._1</RootNamespace>
<SupportedOSPlatformVersion>10.15</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
<RuntimeIdentifiers>osx-x64;osx-arm64</RuntimeIdentifiers>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
"type": "parameter",
"description": "Specify the framework(s) to support",
"dataType": "choice",
"defaultValue": "net8.0",
"defaultValue": "net10.0",
"replaces": "net6.0",
"choices": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net6.0-macos</TargetFramework>
<OutputType>Exe</OutputType>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">EtoApp._1</RootNamespace>
<SupportedOSPlatformVersion>10.15</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
<RuntimeIdentifiers>osx-x64;osx-arm64</RuntimeIdentifiers>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@
"type": "parameter",
"description": "Specify the framework(s) to support",
"dataType": "choice",
"defaultValue": "net8.0",
"defaultValue": "net10.0",
"replaces": "net6.0",
"choices": [
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<TargetFramework>net6.0-macos</TargetFramework>
<OutputType>Exe</OutputType>
<RootNamespace Condition="'$(name)' != '$(name{-VALUE-FORMS-}safe_namespace)'">EtoApp._1</RootNamespace>
<SupportedOSPlatformVersion>10.15</SupportedOSPlatformVersion>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
<RuntimeIdentifiers>osx-x64;osx-arm64</RuntimeIdentifiers>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion src/Eto.Gtk/Eto.Gtk.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">netstandard2.0;net6.0</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">netstandard2.0;net6.0;net8.0;net10.0</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFrameworks>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<RootNamespace>Eto.GtkSharp</RootNamespace>
Expand Down
2 changes: 1 addition & 1 deletion src/Eto.Mac/Eto.Mac64.csproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">netstandard2.0;net6.0;net8.0;net10.0</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFrameworks>
<RootNamespace>Eto.Mac</RootNamespace>
<DefineConstants>$(DefineConstants);OSX;DESKTOP;MONOMAC;Mac64</DefineConstants>
Expand Down
5 changes: 3 additions & 2 deletions src/Eto.Mac/Eto.macOS.csproj
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework Condition="$(TargetFrameworkOverride) == ''">net8.0-macos14</TargetFramework>
<TargetFramework Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFramework>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">net9.0-macos15;net10.0-macos26.0</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFrameworks>
<RootNamespace>Eto.Mac</RootNamespace>
<DefineConstants>$(DefineConstants);OSX;DESKTOP;UNIFIED;MACOS_NET;USE_CFSTRING</DefineConstants>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<DefaultItemExcludes>$(DefaultItemExcludes);build\*</DefaultItemExcludes>
<NoWarn>$(NoWarn);CA1416;CS8981;NETSDK1202</NoWarn>
<SupportedOSPlatformVersion>12.0</SupportedOSPlatformVersion>
</PropertyGroup>
<ItemGroup>
<Using Include="AppKit" />
Expand Down
9 changes: 6 additions & 3 deletions src/Eto.WinForms/Eto.WinForms.csproj
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">net6.0-windows;net461</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) == ''">net461;net6.0-windows;net8.0-windows;net10.0-windows</TargetFrameworks>
<TargetFrameworks Condition="$(TargetFrameworkOverride) != ''">$(TargetFrameworkOverride)</TargetFrameworks>
<OutputType>Library</OutputType>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<DefineConstants>$(DefineConstants);WINFORMS</DefineConstants>
<NoWarn>MSB4011;$(NoWarn)</NoWarn>
<NoWarn>MSB4011;WFO1000;$(NoWarn)</NoWarn>
<UseWindowsForms>true</UseWindowsForms>
<GenerateResourceUsePreserializedResources>True</GenerateResourceUsePreserializedResources>
</PropertyGroup>
Expand Down Expand Up @@ -96,6 +96,9 @@ You do not need to use any of the classes of this assembly (unless customizing t
<Compile Include="..\Shared\OpenTypeFontInfo.cs">
<Link>Drawing\OpenTypeFontInfo.cs</Link>
</Compile>
<Compile Include="..\Shared\NetFxCompatibility.cs">
<Link>NetFxCompatibility.cs</Link>
</Compile>
<Compile Include="..\Eto.Wpf\Forms\TaskbarHandler.cs">
<Link>Forms\TaskbarHandler.cs</Link>
</Compile>
Expand Down Expand Up @@ -129,7 +132,7 @@ You do not need to use any of the classes of this assembly (unless customizing t

<ItemGroup>
<PackageReference Include="Microsoft-WindowsAPICodePack-Shell" Version="1.1.4" />
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1938.49" PrivateAssets="all" />
<PackageReference Include="Microsoft.Web.WebView2" Version="1.0.1938.49" PrivateAssets="all" />
<PackageReference Include="System.Resources.Extensions" Version="7.0.0" />
</ItemGroup>

Expand Down
Loading
Loading