Add net6.0-* for the binding projects (#1707)

This commit is contained in:
Matthew Leibowitz 2021-06-16 08:23:56 +02:00 коммит произвёл GitHub
Родитель fe7f7a861e
Коммит d2bdc0b3ed
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
91 изменённых файлов: 1291 добавлений и 279 удалений

Просмотреть файл

@ -36,3 +36,14 @@ using System.Runtime.CompilerServices;
"3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fd" +
"dafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef00" +
"65d016df")]
[assembly: AssemblyMetadata("IsTrimmable", "True")]
#if __IOS__ || __TVOS__ || __WATCHOS__ || __MACOS__
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
#pragma warning disable CS0618 // Type or member is obsolete
[assembly: Foundation.LinkerSafe]
#pragma warning restore CS0618 // Type or member is obsolete
#endif

Просмотреть файл

@ -8,13 +8,13 @@
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\android\x86\libHarfBuzzSharp.so" Link="nuget\build\$(PackagingPlatform)\x86\libHarfBuzzSharp.so" />
<None Include="..\..\output\native\android\x86_64\libHarfBuzzSharp.so" Link="nuget\build\$(PackagingPlatform)\x64\libHarfBuzzSharp.so" />
<None Include="..\..\output\native\android\armeabi-v7a\libHarfBuzzSharp.so" Link="nuget\build\$(PackagingPlatform)\arm\libHarfBuzzSharp.so" />
<None Include="..\..\output\native\android\arm64-v8a\libHarfBuzzSharp.so" Link="nuget\build\$(PackagingPlatform)\arm64\libHarfBuzzSharp.so" />
<None Include="..\..\output\native\android\x86\libHarfBuzzSharp*" Link="nuget\runtimes\android-x86\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\x86_64\libHarfBuzzSharp*" Link="nuget\runtimes\android-x64\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\armeabi-v7a\libHarfBuzzSharp*" Link="nuget\runtimes\android-arm\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\arm64-v8a\libHarfBuzzSharp*" Link="nuget\runtimes\android-arm64\native\%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\monoandroid1.0\HarfBuzzSharp.targets" Link="nuget\build\$(PackagingPlatform)\HarfBuzzSharp.targets" />
<None Include="..\HarfBuzzSharp\nuget\build\monoandroid\HarfBuzzSharp.targets" Link="nuget\build\$(PackagingPlatform)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />

Просмотреть файл

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<PropertyGroup>
<_HarfBuzzSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_HarfBuzzSharpNativeLibraryCurrPath>
<_HarfBuzzSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_HarfBuzzSharpNativeLibraryCurrPath)'))</_HarfBuzzSharpNativeLibraryDirName>
<_HarfBuzzSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_HarfBuzzSharpNativeLibraryDirName)\</_HarfBuzzSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<AndroidNativeLibrary Include="$(_HarfBuzzSharpNativeLibraryRootDir)x86\libHarfBuzzSharp.so" Abi="x86" />
<AndroidNativeLibrary Include="$(_HarfBuzzSharpNativeLibraryRootDir)x64\libHarfBuzzSharp.so" Abi="x86_64" />
<AndroidNativeLibrary Include="$(_HarfBuzzSharpNativeLibraryRootDir)arm\libHarfBuzzSharp.so" Abi="armeabi-v7a" />
<AndroidNativeLibrary Include="$(_HarfBuzzSharpNativeLibraryRootDir)arm64\libHarfBuzzSharp.so" Abi="arm64-v8a" />
</ItemGroup>
</Project>

Просмотреть файл

@ -10,10 +10,9 @@
<None Include="..\..\output\native\osx\libHarfBuzzSharp.dylib" Link="nuget\runtimes\osx\native\libHarfBuzzSharp.dylib" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinmac2.0\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
<None Include="..\HarfBuzzSharp\nuget\build\xamarinmac\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\HarfBuzzSharp.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,3 +0,0 @@
using Foundation;
[assembly: LinkerSafe]

Просмотреть файл

@ -22,3 +22,14 @@ using System.Runtime.CompilerServices;
"3fbe2ff9c979ce998475e506e8ce82dd5b0f350dc10e93bf2eeecf874b24770c5081dbea7447fd" +
"dafa277b22de47d6ffea449674a4f9fccf84d15069089380284dbdd35f46cdff12a1bd78e4ef00" +
"65d016df")]
[assembly: AssemblyMetadata("IsTrimmable", "True")]
#if __IOS__ || __TVOS__ || __WATCHOS__ || __MACOS__
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
#pragma warning disable CS0618 // Type or member is obsolete
[assembly: Foundation.LinkerSafe]
#pragma warning restore CS0618 // Type or member is obsolete
#endif

Просмотреть файл

@ -7,13 +7,12 @@
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\ios\libHarfBuzzSharp.framework\**" Link="nuget\build\$(TargetFramework)\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\ios\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\ios\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinios1.0\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
<None Include="..\HarfBuzzSharp\nuget\build\xamarinios\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\HarfBuzzSharp.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,3 +0,0 @@
using Foundation;
[assembly: LinkerSafe]

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<PropertyGroup>
<_HarfBuzzSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_HarfBuzzSharpNativeLibraryCurrPath>
<_HarfBuzzSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_HarfBuzzSharpNativeLibraryCurrPath)'))</_HarfBuzzSharpNativeLibraryDirName>
<_HarfBuzzSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_HarfBuzzSharpNativeLibraryDirName)\</_HarfBuzzSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(_HarfBuzzSharpNativeLibraryRootDir)libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -7,13 +7,12 @@
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\tvos\libHarfBuzzSharp.framework\**" Link="nuget\build\$(TargetFramework)\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\tvos\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\tvos\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarintvos1.0\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
<None Include="..\HarfBuzzSharp\nuget\build\xamarintvos\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\HarfBuzzSharp.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,3 +0,0 @@
using Foundation;
[assembly: LinkerSafe]

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<PropertyGroup>
<_HarfBuzzSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_HarfBuzzSharpNativeLibraryCurrPath>
<_HarfBuzzSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_HarfBuzzSharpNativeLibraryCurrPath)'))</_HarfBuzzSharpNativeLibraryDirName>
<_HarfBuzzSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_HarfBuzzSharpNativeLibraryDirName)\</_HarfBuzzSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(_HarfBuzzSharpNativeLibraryRootDir)libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -7,13 +7,12 @@
<DefineConstants>$(DefineConstants);HARFBUZZ</DefineConstants>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\watchos\libHarfBuzzSharp.framework\**" Link="nuget\build\$(TargetFramework)\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\watchos\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\watchos\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinwatchos1.0\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
<None Include="..\HarfBuzzSharp\nuget\build\xamarinwatchos\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\HarfBuzzSharp.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,3 +0,0 @@
using Foundation;
[assembly: LinkerSafe]

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<PropertyGroup>
<_HarfBuzzSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_HarfBuzzSharpNativeLibraryCurrPath>
<_HarfBuzzSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_HarfBuzzSharpNativeLibraryCurrPath)'))</_HarfBuzzSharpNativeLibraryDirName>
<_HarfBuzzSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_HarfBuzzSharpNativeLibraryDirName)\</_HarfBuzzSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(_HarfBuzzSharpNativeLibraryRootDir)libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net462</TargetFrameworks>
<TargetFrameworks Condition="$(BuildingForNet6)">$(TargetFrameworks);net6.0-ios;net6.0-maccatalyst;net6.0-tvos;net6.0-macos;net6.0-android</TargetFrameworks>
<RootNamespace>HarfBuzzSharp</RootNamespace>
<AssemblyName>HarfBuzzSharp</AssemblyName>
<PackagingGroup>HarfBuzzSharp</PackagingGroup>
@ -15,7 +16,7 @@
<ItemGroup>
<PackageReference Include="System.Memory" Version="4.5.3" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard2'))">
<!-- macOS -->
<None Include="..\..\output\native\osx\libHarfBuzzSharp*" Link="nuget\runtimes\osx\native\%(Filename)%(Extension)" />
<!-- Windows -->
@ -50,8 +51,43 @@
<None Include="nuget\build\wasm\HarfBuzzSharp.targets" Link="nuget\build\wasm\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<!-- .NET Framework -->
<None Include="nuget\build\net462\HarfBuzzSharp.targets" Link="nuget\build\$(TargetFramework)\HarfBuzzSharp.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-android'))">
<!-- Android -->
<None Include="..\..\output\native\android\x86\libHarfBuzzSharp*" Link="nuget\runtimes\android-x86\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\x86_64\libHarfBuzzSharp*" Link="nuget\runtimes\android-x64\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\armeabi-v7a\libHarfBuzzSharp*" Link="nuget\runtimes\android-arm\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\arm64-v8a\libHarfBuzzSharp*" Link="nuget\runtimes\android-arm64\native\%(Filename)%(Extension)" />
<None Include="nuget\build\android\HarfBuzzSharp.targets" Link="nuget\build\net6.0-android\HarfBuzzSharp.targets" />
<None Include="nuget\build\monoandroid\HarfBuzzSharp.targets" Link="nuget\build\net6.0-android\HarfBuzzSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-ios'))">
<!-- iOS -->
<None Include="..\..\output\native\ios\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\ios\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="nuget\build\ios\HarfBuzzSharp.targets" Link="nuget\build\net6.0-ios\HarfBuzzSharp.targets" />
<None Include="nuget\build\xamarinios\HarfBuzzSharp.targets" Link="nuget\build\net6.0-ios\HarfBuzzSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-maccatalyst'))">
<!-- Mac Catalyst -->
<None Include="..\..\output\native\maccatalyst\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\maccatalyst\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-tvos'))">
<!-- tvOS -->
<None Include="..\..\output\native\tvos\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\tvos\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="nuget\build\tvos\HarfBuzzSharp.targets" Link="nuget\build\net6.0-tvos\HarfBuzzSharp.targets" />
<None Include="nuget\build\xamarintvos\HarfBuzzSharp.targets" Link="nuget\build\net6.0-tvos\HarfBuzzSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-watchos'))">
<!-- watchOS -->
<None Include="..\..\output\native\watchos\libHarfBuzzSharp.framework\**" Link="nuget\runtimes\watchos\native\libHarfBuzzSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-macos'))">
<!-- macOS -->
<None Include="nuget\build\macos\HarfBuzzSharp.targets" Link="nuget\build\net6.0-macos\HarfBuzzSharp.targets" />
<None Include="nuget\build\xamarinmac\HarfBuzzSharp.targets" Link="nuget\build\net6.0-macos\HarfBuzzSharp.Local.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\HarfBuzzSharp.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />

Просмотреть файл

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-android/issues/5432 -->
<Target Name="_HarfBuzzSharpIncludeNativeSystemLibrariesFixes" BeforeTargets="_IncludeNativeSystemLibraries">
<ItemGroup>
<_FixedResolvedFileToPublish
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libHarfBuzzSharp' and
'%(ResolvedFileToPublish.Extension)' == '.so' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.RuntimeIdentifier)' == '' and
'%(ResolvedFileToPublish.PathInPackage)' != '' " />
<ResolvedFileToPublish Update="@(_FixedResolvedFileToPublish)">
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_FixedResolvedFileToPublish.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</ResolvedFileToPublish>
<_FixedResolvedFileToPublish Remove="@(_FixedResolvedFileToPublish)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_HarfBuzzSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeFramework
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libHarfBuzzSharp' and
'%(ResolvedFileToPublish.Extension)' == '' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''">
<FrameworkFilename>$([System.IO.Path]::GetFileName($([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.PathInPackage)))))</FrameworkFilename>
<DirectoryName>$([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.FullPath)))</DirectoryName>
</_PossibleNativeFramework>
<NativeReference Include="%(_PossibleNativeFramework.DirectoryName)" Condition="'%(FrameworkFilename)' == '%(Filename).framework'">
<Kind>Framework</Kind>
<NuGetPackageId>%(NuGetPackageId)</NuGetPackageId>
<NuGetPackageVersion>%(NuGetPackageVersion)</NuGetPackageVersion>
<AssetType>%(AssetType)</AssetType>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeFramework.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeFramework Remove="@(_PossibleNativeFramework)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_HarfBuzzSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeReference
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libHarfBuzzSharp' and
'%(ResolvedFileToPublish.Extension)' == '.dylib' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''" />
<NativeReference Include="@(_PossibleNativeReference)">
<Kind>Dynamic</Kind>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeReference.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeReference Remove="@(_PossibleNativeReference)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-x86\native\libHarfBuzzSharp.so" Abi="x86" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-x64\native\libHarfBuzzSharp.so" Abi="x86_64" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-arm\native\libHarfBuzzSharp.so" Abi="armeabi-v7a" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-arm64\native\libHarfBuzzSharp.so" Abi="arm64-v8a" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_HarfBuzzSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeFramework
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libHarfBuzzSharp' and
'%(ResolvedFileToPublish.Extension)' == '' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''">
<FrameworkFilename>$([System.IO.Path]::GetFileName($([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.PathInPackage)))))</FrameworkFilename>
<DirectoryName>$([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.FullPath)))</DirectoryName>
</_PossibleNativeFramework>
<NativeReference Include="%(_PossibleNativeFramework.DirectoryName)" Condition="'%(FrameworkFilename)' == '%(Filename).framework'">
<Kind>Framework</Kind>
<NuGetPackageId>%(NuGetPackageId)</NuGetPackageId>
<NuGetPackageVersion>%(NuGetPackageVersion)</NuGetPackageVersion>
<AssetType>%(AssetType)</AssetType>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeFramework.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeFramework Remove="@(_PossibleNativeFramework)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\ios\native\libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\tvos\native\libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeHarfBuzzSharp == False then don't include the native libHarfBuzzSharp -->
<PropertyGroup>
<ShouldIncludeNativeHarfBuzzSharp Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' == '' ">True</ShouldIncludeNativeHarfBuzzSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeHarfBuzzSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\watchos\native\libHarfBuzzSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -7,13 +7,13 @@
<PackagingPlatform>monoandroid1.0</PackagingPlatform>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\android\x86\libSkiaSharp.so" Link="nuget\build\$(PackagingPlatform)\x86\libSkiaSharp.so" />
<None Include="..\..\output\native\android\x86_64\libSkiaSharp.so" Link="nuget\build\$(PackagingPlatform)\x64\libSkiaSharp.so" />
<None Include="..\..\output\native\android\armeabi-v7a\libSkiaSharp.so" Link="nuget\build\$(PackagingPlatform)\arm\libSkiaSharp.so" />
<None Include="..\..\output\native\android\arm64-v8a\libSkiaSharp.so" Link="nuget\build\$(PackagingPlatform)\arm64\libSkiaSharp.so" />
<None Include="..\..\output\native\android\x86\libSkiaSharp*" Link="nuget\runtimes\android-x86\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\x86_64\libSkiaSharp*" Link="nuget\runtimes\android-x64\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\armeabi-v7a\libSkiaSharp*" Link="nuget\runtimes\android-arm\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\arm64-v8a\libSkiaSharp*" Link="nuget\runtimes\android-arm64\native\%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\monoandroid1.0\SkiaSharp.targets" Link="nuget\build\$(PackagingPlatform)\SkiaSharp.targets" />
<None Include="..\SkiaSharp\nuget\build\monoandroid\SkiaSharp.targets" Link="nuget\build\$(PackagingPlatform)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />

Просмотреть файл

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<PropertyGroup>
<_SkiaSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_SkiaSharpNativeLibraryCurrPath>
<_SkiaSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_SkiaSharpNativeLibraryCurrPath)'))</_SkiaSharpNativeLibraryDirName>
<_SkiaSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_SkiaSharpNativeLibraryDirName)\</_SkiaSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<AndroidNativeLibrary Include="$(_SkiaSharpNativeLibraryRootDir)x86\libSkiaSharp.so" Abi="x86" />
<AndroidNativeLibrary Include="$(_SkiaSharpNativeLibraryRootDir)x64\libSkiaSharp.so" Abi="x86_64" />
<AndroidNativeLibrary Include="$(_SkiaSharpNativeLibraryRootDir)arm\libSkiaSharp.so" Abi="armeabi-v7a" />
<AndroidNativeLibrary Include="$(_SkiaSharpNativeLibraryRootDir)arm64\libSkiaSharp.so" Abi="arm64-v8a" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,7 +0,0 @@
using Foundation;
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
[assembly: LinkerSafe]

Просмотреть файл

@ -9,10 +9,9 @@
<None Include="..\..\output\native\osx\libSkiaSharp.dylib" Link="nuget\runtimes\osx\native\libSkiaSharp.dylib" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinmac2.0\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
<None Include="..\SkiaSharp\nuget\build\xamarinmac\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\Binding\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,7 +0,0 @@
using Foundation;
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
[assembly: LinkerSafe]

Просмотреть файл

@ -6,13 +6,12 @@
<PackagingGroup>SkiaSharp</PackagingGroup>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\ios\libSkiaSharp.framework\**" Link="nuget\build\$(TargetFramework)\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\ios\libSkiaSharp.framework\**" Link="nuget\runtimes\ios\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinios1.0\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
<None Include="..\SkiaSharp\nuget\build\xamarinios\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\Binding\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<PropertyGroup>
<_SkiaSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_SkiaSharpNativeLibraryCurrPath>
<_SkiaSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_SkiaSharpNativeLibraryCurrPath)'))</_SkiaSharpNativeLibraryDirName>
<_SkiaSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_SkiaSharpNativeLibraryDirName)\</_SkiaSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(_SkiaSharpNativeLibraryRootDir)libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,7 +0,0 @@
using Foundation;
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
[assembly: LinkerSafe]

Просмотреть файл

@ -6,13 +6,12 @@
<PackagingGroup>SkiaSharp</PackagingGroup>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\tvos\libSkiaSharp.framework\**" Link="nuget\build\$(TargetFramework)\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\tvos\libSkiaSharp.framework\**" Link="nuget\runtimes\tvos\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarintvos1.0\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
<None Include="..\SkiaSharp\nuget\build\xamarintvos\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\Binding\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<PropertyGroup>
<_SkiaSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_SkiaSharpNativeLibraryCurrPath>
<_SkiaSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_SkiaSharpNativeLibraryCurrPath)'))</_SkiaSharpNativeLibraryDirName>
<_SkiaSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_SkiaSharpNativeLibraryDirName)\</_SkiaSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(_SkiaSharpNativeLibraryRootDir)libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,7 +0,0 @@
using Foundation;
// This attribute allows you to mark your assemblies as “safe to link”.
// When the attribute is present, the linker—if enabled—will process the assembly
// even if youre using the “Link SDK assemblies only” option, which is the default for device builds.
[assembly: LinkerSafe]

Просмотреть файл

@ -6,13 +6,12 @@
<PackagingGroup>SkiaSharp</PackagingGroup>
</PropertyGroup>
<ItemGroup>
<None Include="..\..\output\native\watchos\libSkiaSharp.framework\**" Link="nuget\build\$(TargetFramework)\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="..\..\output\native\watchos\libSkiaSharp.framework\**" Link="nuget\runtimes\watchos\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<None Include="nuget\build\xamarinwatchos1.0\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
<None Include="..\SkiaSharp\nuget\build\xamarinwatchos\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\Binding\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>

Просмотреть файл

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<PropertyGroup>
<_SkiaSharpNativeLibraryCurrPath>$([System.IO.Path]::GetDirectoryName('$(MSBuildThisFileDirectory)'))</_SkiaSharpNativeLibraryCurrPath>
<_SkiaSharpNativeLibraryDirName>$([System.IO.Path]::GetFileName('$(_SkiaSharpNativeLibraryCurrPath)'))</_SkiaSharpNativeLibraryDirName>
<_SkiaSharpNativeLibraryRootDir>$(MSBuildThisFileDirectory)..\..\build\$(_SkiaSharpNativeLibraryDirName)\</_SkiaSharpNativeLibraryRootDir>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(_SkiaSharpNativeLibraryRootDir)libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -1,6 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard1.3;netstandard2.0;net462</TargetFrameworks>
<TargetFrameworks Condition="$(BuildingForNet6)">$(TargetFrameworks);net6.0-ios;net6.0-maccatalyst;net6.0-tvos;net6.0-macos;net6.0-android</TargetFrameworks>
<RootNamespace>SkiaSharp</RootNamespace>
<AssemblyName>SkiaSharp</AssemblyName>
<PackagingGroup>SkiaSharp</PackagingGroup>
@ -14,7 +15,7 @@
<ItemGroup>
<PackageReference Include="System.Memory" Version="4.5.3" />
</ItemGroup>
<ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('netstandard2'))">
<!-- macOS -->
<None Include="..\..\output\native\osx\libSkiaSharp*" Link="nuget\runtimes\osx\native\%(Filename)%(Extension)" />
<!-- Windows -->
@ -49,8 +50,43 @@
<None Include="nuget\build\wasm\SkiaSharp.targets" Link="nuget\build\wasm\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.StartsWith('net4'))">
<!-- .NET Framework -->
<None Include="nuget\build\net462\SkiaSharp.targets" Link="nuget\build\$(TargetFramework)\SkiaSharp.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-android'))">
<!-- Android -->
<None Include="..\..\output\native\android\x86\libSkiaSharp*" Link="nuget\runtimes\android-x86\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\x86_64\libSkiaSharp*" Link="nuget\runtimes\android-x64\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\armeabi-v7a\libSkiaSharp*" Link="nuget\runtimes\android-arm\native\%(Filename)%(Extension)" />
<None Include="..\..\output\native\android\arm64-v8a\libSkiaSharp*" Link="nuget\runtimes\android-arm64\native\%(Filename)%(Extension)" />
<None Include="nuget\build\android\SkiaSharp.targets" Link="nuget\build\net6.0-android\SkiaSharp.targets" />
<None Include="nuget\build\monoandroid\SkiaSharp.targets" Link="nuget\build\net6.0-android\SkiaSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-ios'))">
<!-- iOS -->
<None Include="..\..\output\native\ios\libSkiaSharp.framework\**" Link="nuget\runtimes\ios\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="nuget\build\ios\SkiaSharp.targets" Link="nuget\build\net6.0-ios\SkiaSharp.targets" />
<None Include="nuget\build\xamarinios\SkiaSharp.targets" Link="nuget\build\net6.0-ios\SkiaSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-maccatalyst'))">
<!-- Mac Catalyst -->
<None Include="..\..\output\native\maccatalyst\libSkiaSharp.framework\**" Link="nuget\runtimes\maccatalyst\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-tvos'))">
<!-- tvOS -->
<None Include="..\..\output\native\tvos\libSkiaSharp.framework\**" Link="nuget\runtimes\tvos\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
<None Include="nuget\build\tvos\SkiaSharp.targets" Link="nuget\build\net6.0-tvos\SkiaSharp.targets" />
<None Include="nuget\build\xamarintvos\SkiaSharp.targets" Link="nuget\build\net6.0-tvos\SkiaSharp.Local.targets" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-watchos'))">
<!-- watchOS -->
<None Include="..\..\output\native\watchos\libSkiaSharp.framework\**" Link="nuget\runtimes\watchos\native\libSkiaSharp.framework\%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup Condition="$(TargetFramework.Contains('-macos'))">
<!-- macOS -->
<None Include="nuget\build\macos\SkiaSharp.targets" Link="nuget\build\net6.0-macos\SkiaSharp.targets" />
<None Include="nuget\build\xamarinmac\SkiaSharp.targets" Link="nuget\build\net6.0-macos\SkiaSharp.Local.targets" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\Binding.Shared\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<Compile Include="..\Binding\**\*.cs" Link="%(RecursiveDir)%(Filename)%(Extension)" />

Просмотреть файл

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-android/issues/5432 -->
<Target Name="_SkiaSharpIncludeNativeSystemLibrariesFixes" BeforeTargets="_IncludeNativeSystemLibraries">
<ItemGroup>
<_FixedResolvedFileToPublish
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libSkiaSharp' and
'%(ResolvedFileToPublish.Extension)' == '.so' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.RuntimeIdentifier)' == '' and
'%(ResolvedFileToPublish.PathInPackage)' != '' " />
<ResolvedFileToPublish Update="@(_FixedResolvedFileToPublish)">
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_FixedResolvedFileToPublish.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</ResolvedFileToPublish>
<_FixedResolvedFileToPublish Remove="@(_FixedResolvedFileToPublish)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_SkiaSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeFramework
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libSkiaSharp' and
'%(ResolvedFileToPublish.Extension)' == '' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''">
<FrameworkFilename>$([System.IO.Path]::GetFileName($([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.PathInPackage)))))</FrameworkFilename>
<DirectoryName>$([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.FullPath)))</DirectoryName>
</_PossibleNativeFramework>
<NativeReference Include="%(_PossibleNativeFramework.DirectoryName)" Condition="'%(FrameworkFilename)' == '%(Filename).framework'">
<Kind>Framework</Kind>
<NuGetPackageId>%(NuGetPackageId)</NuGetPackageId>
<NuGetPackageVersion>%(NuGetPackageVersion)</NuGetPackageVersion>
<AssetType>%(AssetType)</AssetType>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeFramework.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeFramework Remove="@(_PossibleNativeFramework)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_SkiaSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeReference
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libSkiaSharp' and
'%(ResolvedFileToPublish.Extension)' == '.dylib' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''" />
<NativeReference Include="@(_PossibleNativeReference)">
<Kind>Dynamic</Kind>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeReference.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeReference Remove="@(_PossibleNativeReference)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-x86\native\libSkiaSharp.so" Abi="x86" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-x64\native\libSkiaSharp.so" Abi="x86_64" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-arm\native\libSkiaSharp.so" Abi="armeabi-v7a" />
<AndroidNativeLibrary Include="$(MSBuildThisFileDirectory)..\..\runtimes\android-arm64\native\libSkiaSharp.so" Abi="arm64-v8a" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- temporarily work around https://github.com/xamarin/xamarin-macios/issues/11667 -->
<Target Name="_SkiaSharpExpandNativeReferencesFixes" BeforeTargets="_ExpandNativeReferences">
<ItemGroup>
<_PossibleNativeFramework
Include="@(ResolvedFileToPublish)"
Condition="
'%(ResolvedFileToPublish.AssetType)' == 'native' and
'%(ResolvedFileToPublish.Filename)' == 'libSkiaSharp' and
'%(ResolvedFileToPublish.Extension)' == '' and
'%(ResolvedFileToPublish.NuGetPackageId)' != '' and
'%(ResolvedFileToPublish.PathInPackage)' != ''">
<FrameworkFilename>$([System.IO.Path]::GetFileName($([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.PathInPackage)))))</FrameworkFilename>
<DirectoryName>$([System.IO.Path]::GetDirectoryName(%(ResolvedFileToPublish.FullPath)))</DirectoryName>
</_PossibleNativeFramework>
<NativeReference Include="%(_PossibleNativeFramework.DirectoryName)" Condition="'%(FrameworkFilename)' == '%(Filename).framework'">
<Kind>Framework</Kind>
<NuGetPackageId>%(NuGetPackageId)</NuGetPackageId>
<NuGetPackageVersion>%(NuGetPackageVersion)</NuGetPackageVersion>
<AssetType>%(AssetType)</AssetType>
<RuntimeIdentifier>$([System.Text.RegularExpressions.Regex]::Match('%(_PossibleNativeFramework.PathInPackage)', 'runtimes/([^/]+)/native/.*').Groups[1].Value)</RuntimeIdentifier>
</NativeReference>
<_PossibleNativeFramework Remove="@(_PossibleNativeFramework)" />
</ItemGroup>
</Target>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\ios\native\libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\tvos\native\libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- if ShouldIncludeNativeSkiaSharp == False then don't include the native libSkiaSharp -->
<PropertyGroup>
<ShouldIncludeNativeSkiaSharp Condition=" '$(ShouldIncludeNativeSkiaSharp)' == '' ">True</ShouldIncludeNativeSkiaSharp>
</PropertyGroup>
<ItemGroup Condition=" '$(ShouldIncludeNativeSkiaSharp)' != 'False' ">
<NativeReference Include="$(MSBuildThisFileDirectory)..\..\runtimes\watchos\native\libSkiaSharp.framework" Kind="Framework" />
</ItemGroup>
</Project>

Просмотреть файл

@ -328,9 +328,10 @@ Task ("tests-wasm")
WorkingDirectory = pubDir,
});
DotNetCoreRun("./utils/WasmTestRunner/WasmTestRunner.csproj",
"http://localhost:8000/ " +
"-o ./tests/SkiaSharp.Wasm.Tests/TestResults/ " +
(string.IsNullOrEmpty(CHROMEWEBDRIVER) ? "" : $"-d {CHROMEWEBDRIVER}"));
"--output=\"./tests/SkiaSharp.Wasm.Tests/TestResults/\" " +
(string.IsNullOrEmpty(CHROMEWEBDRIVER) ? "" : $"--driver=\"{CHROMEWEBDRIVER}\" ") +
"--verbose " +
"\"http://127.0.0.1:8000/\" ");
} catch {
failedTests++;
} finally {

Просмотреть файл

@ -203,9 +203,31 @@ string[] GetReferenceSearchPaths()
return refs.ToArray();
}
string[] GetDotNetPacksSearchPaths()
{
var refs = new List<string>();
RunProcess("dotnet", "--list-sdks", out var sdks);
var last = sdks.Last();
var start = last.IndexOf("[") + 1;
var latestSdk = (DirectoryPath)(last.Substring(start, last.Length - start - 1));
var dotnetRoot = latestSdk.Combine("..");
var packs = GetDirectories(dotnetRoot.Combine("packs").FullPath + "/*.Ref");
foreach(var pack in packs) {
var latestPath = GetDirectories(pack.FullPath + "/*").Last();
refs.AddRange(GetDirectories(latestPath.FullPath + "/ref/net*").Select(d => d.FullPath));
}
return refs.ToArray();
}
async Task<NuGetDiff> CreateNuGetDiffAsync()
{
var comparer = new NuGetDiff();
comparer.SearchPaths.AddRange(GetDotNetPacksSearchPaths());
comparer.SearchPaths.AddRange(GetReferenceSearchPaths());
comparer.PackageCache = PACKAGE_CACHE_PATH.FullPath;

Двоичные данные
images/forground.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 96 KiB

Просмотреть файл

@ -56,6 +56,16 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<group targetFramework="tizen40">
<dependency id="System.Memory" version="4.5.3" />
</group>
<group targetFramework="net6.0-ios13.6">
</group>
<group targetFramework="net6.0-maccatalyst13.5">
</group>
<group targetFramework="net6.0-tvos13.4">
</group>
<group targetFramework="net6.0-macos10.15">
</group>
<group targetFramework="net6.0-android30.0">
</group>
</dependencies>
</metadata>
@ -84,6 +94,16 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<file platform="windows" src="lib/uap10.0.16299/HarfBuzzSharp.xml" />
<file src="lib/tizen40/HarfBuzzSharp.dll" />
<file src="lib/tizen40/HarfBuzzSharp.xml" />
<file platform="macos,windows" src="lib/net6.0-android/HarfBuzzSharp.dll" target="lib/net6.0-android30.0/HarfBuzzSharp.dll" />
<file platform="macos,windows" src="lib/net6.0-android/HarfBuzzSharp.xml" target="lib/net6.0-android30.0/HarfBuzzSharp.xml" />
<file platform="macos" src="lib/net6.0-ios/HarfBuzzSharp.dll" target="lib/net6.0-ios13.6/HarfBuzzSharp.dll" />
<file platform="macos" src="lib/net6.0-ios/HarfBuzzSharp.xml" target="lib/net6.0-ios13.6/HarfBuzzSharp.xml" />
<file platform="macos" src="lib/net6.0-maccatalyst/HarfBuzzSharp.dll" target="lib/net6.0-maccatalyst13.5/HarfBuzzSharp.dll" />
<file platform="macos" src="lib/net6.0-maccatalyst/HarfBuzzSharp.xml" target="lib/net6.0-maccatalyst13.5/HarfBuzzSharp.xml" />
<file platform="macos" src="lib/net6.0-tvos/HarfBuzzSharp.dll" target="lib/net6.0-tvos13.4/HarfBuzzSharp.dll" />
<file platform="macos" src="lib/net6.0-tvos/HarfBuzzSharp.xml" target="lib/net6.0-tvos13.4/HarfBuzzSharp.xml" />
<file platform="macos" src="lib/net6.0-macos/HarfBuzzSharp.dll" target="lib/net6.0-macos10.15/HarfBuzzSharp.dll" />
<file platform="macos" src="lib/net6.0-macos/HarfBuzzSharp.xml" target="lib/net6.0-macos10.15/HarfBuzzSharp.xml" />
<!-- the build bits -->
<!-- net4x (win32/macos/linux) -->
@ -92,14 +112,22 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<!-- others -->
<file src="build/monoandroid1.0/HarfBuzzSharp.targets" />
<file src="build/monoandroid1.0/HarfBuzzSharp.targets" target="buildTransitive/monoandroid1.0/HarfBuzzSharp.targets" />
<file src="build/net6.0-android/HarfBuzzSharp.targets" target="build/net6.0-android30.0/HarfBuzzSharp.targets" />
<file src="build/net6.0-android/HarfBuzzSharp.targets" target="buildTransitive/net6.0-android30.0/HarfBuzzSharp.targets" />
<file src="build/xamarinios1.0/HarfBuzzSharp.targets" />
<file src="build/xamarinios1.0/HarfBuzzSharp.targets" target="buildTransitive/xamarinios1.0/HarfBuzzSharp.targets" />
<file src="build/net6.0-ios/HarfBuzzSharp.targets" target="build/net6.0-ios13.6/HarfBuzzSharp.targets" />
<file src="build/net6.0-ios/HarfBuzzSharp.targets" target="buildTransitive/net6.0-ios13.6/HarfBuzzSharp.targets" />
<file src="build/xamarintvos1.0/HarfBuzzSharp.targets" />
<file src="build/xamarintvos1.0/HarfBuzzSharp.targets" target="buildTransitive/xamarintvos1.0/HarfBuzzSharp.targets" />
<file src="build/net6.0-tvos/HarfBuzzSharp.targets" target="build/net6.0-tvos13.4/HarfBuzzSharp.targets" />
<file src="build/net6.0-tvos/HarfBuzzSharp.targets" target="buildTransitive/net6.0-tvos13.4/HarfBuzzSharp.targets" />
<file src="build/xamarinwatchos1.0/HarfBuzzSharp.targets" />
<file src="build/xamarinwatchos1.0/HarfBuzzSharp.targets" target="buildTransitive/xamarinwatchos1.0/HarfBuzzSharp.targets" />
<file src="build/xamarinmac2.0/HarfBuzzSharp.targets" />
<file src="build/xamarinmac2.0/HarfBuzzSharp.targets" target="buildTransitive/xamarinmac2.0/HarfBuzzSharp.targets" />
<file src="build/net6.0-macos/HarfBuzzSharp.targets" target="build/net6.0-macos10.15/HarfBuzzSharp.targets" />
<file src="build/net6.0-macos/HarfBuzzSharp.targets" target="buildTransitive/net6.0-macos10.15/HarfBuzzSharp.targets" />
<file src="build/tizen40/HarfBuzzSharp.targets" />
<file src="build/tizen40/HarfBuzzSharp.targets" target="buildTransitive/tizen40/HarfBuzzSharp.targets" />
@ -119,17 +147,18 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<file src="build/tizen40/arm/libHarfBuzzSharp.so" />
<file src="build/tizen40/x86/libHarfBuzzSharp.so" />
<!-- android -->
<file platform="macos,windows" src="build/monoandroid1.0/x64/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/x86/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/arm/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/arm64/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="runtimes/android-x64/native/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="runtimes/android-x86/native/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="runtimes/android-arm/native/libHarfBuzzSharp.so" />
<file platform="macos,windows" src="runtimes/android-arm64/native/libHarfBuzzSharp.so" />
<!-- ios -->
<file platform="macos" src="build/xamarinios1.0/libHarfBuzzSharp.framework/**/*" target="build/xamarinios1.0/libHarfBuzzSharp.framework" />
<file platform="macos" src="runtimes/ios/native/libHarfBuzzSharp.framework/**/*" target="runtimes/ios/native/libHarfBuzzSharp.framework" />
<!-- maccatalyst -->
<!-- <file platform="macos" src="runtimes/maccatalyst/native/libHarfBuzzSharp.framework/**/*" target="runtimes/maccatalyst/native/libHarfBuzzSharp.framework" /> -->
<!-- tvos -->
<file platform="macos" src="build/xamarintvos1.0/libHarfBuzzSharp.framework/**/*" target="build/xamarintvos1.0/libHarfBuzzSharp.framework" />
<file platform="macos" src="runtimes/tvos/native/libHarfBuzzSharp.framework/**/*" target="runtimes/tvos/native/libHarfBuzzSharp.framework" />
<!-- watchos -->
<file platform="macos" src="build/xamarinwatchos1.0/libHarfBuzzSharp.framework/**/*" target="build/xamarinwatchos1.0/libHarfBuzzSharp.framework" />
<file platform="macos" src="runtimes/watchos/native/libHarfBuzzSharp.framework/**/*" target="runtimes/watchos/native/libHarfBuzzSharp.framework" />
<!-- legal -->
<file src="LICENSE.txt" />

Просмотреть файл

@ -57,6 +57,16 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<group targetFramework="tizen40">
<dependency id="System.Memory" version="4.5.3" />
</group>
<group targetFramework="net6.0-ios13.6">
</group>
<group targetFramework="net6.0-maccatalyst13.5">
</group>
<group targetFramework="net6.0-tvos13.4">
</group>
<group targetFramework="net6.0-macos10.15">
</group>
<group targetFramework="net6.0-android30.0">
</group>
</dependencies>
</metadata>
@ -85,6 +95,16 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<file platform="windows" src="lib/uap10.0.16299/SkiaSharp.xml" />
<file src="lib/tizen40/SkiaSharp.dll" />
<file src="lib/tizen40/SkiaSharp.xml" />
<file platform="macos,windows" src="lib/net6.0-android/SkiaSharp.dll" target="lib/net6.0-android30.0/SkiaSharp.dll" />
<file platform="macos,windows" src="lib/net6.0-android/SkiaSharp.xml" target="lib/net6.0-android30.0/SkiaSharp.xml" />
<file platform="macos" src="lib/net6.0-ios/SkiaSharp.dll" target="lib/net6.0-ios13.6/SkiaSharp.dll" />
<file platform="macos" src="lib/net6.0-ios/SkiaSharp.xml" target="lib/net6.0-ios13.6/SkiaSharp.xml" />
<file platform="macos" src="lib/net6.0-maccatalyst/SkiaSharp.dll" target="lib/net6.0-maccatalyst13.5/SkiaSharp.dll" />
<file platform="macos" src="lib/net6.0-maccatalyst/SkiaSharp.xml" target="lib/net6.0-maccatalyst13.5/SkiaSharp.xml" />
<file platform="macos" src="lib/net6.0-tvos/SkiaSharp.dll" target="lib/net6.0-tvos13.4/SkiaSharp.dll" />
<file platform="macos" src="lib/net6.0-tvos/SkiaSharp.xml" target="lib/net6.0-tvos13.4/SkiaSharp.xml" />
<file platform="macos" src="lib/net6.0-macos/SkiaSharp.dll" target="lib/net6.0-macos10.15/SkiaSharp.dll" />
<file platform="macos" src="lib/net6.0-macos/SkiaSharp.xml" target="lib/net6.0-macos10.15/SkiaSharp.xml" />
<!-- the build bits -->
<!-- net4x (win32/macos/linux) -->
@ -93,14 +113,22 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<!-- others -->
<file src="build/monoandroid1.0/SkiaSharp.targets" />
<file src="build/monoandroid1.0/SkiaSharp.targets" target="buildTransitive/monoandroid1.0/SkiaSharp.targets" />
<file src="build/net6.0-android/SkiaSharp.targets" target="build/net6.0-android30.0/SkiaSharp.targets" />
<file src="build/net6.0-android/SkiaSharp.targets" target="buildTransitive/net6.0-android30.0/SkiaSharp.targets" />
<file src="build/xamarinios1.0/SkiaSharp.targets" />
<file src="build/xamarinios1.0/SkiaSharp.targets" target="buildTransitive/xamarinios1.0/SkiaSharp.targets" />
<file src="build/net6.0-ios/SkiaSharp.targets" target="build/net6.0-ios13.6/SkiaSharp.targets" />
<file src="build/net6.0-ios/SkiaSharp.targets" target="buildTransitive/net6.0-ios13.6/SkiaSharp.targets" />
<file src="build/xamarintvos1.0/SkiaSharp.targets" />
<file src="build/xamarintvos1.0/SkiaSharp.targets" target="buildTransitive/xamarintvos1.0/SkiaSharp.targets" />
<file src="build/net6.0-tvos/SkiaSharp.targets" target="build/net6.0-tvos13.4/SkiaSharp.targets" />
<file src="build/net6.0-tvos/SkiaSharp.targets" target="buildTransitive/net6.0-tvos13.4/SkiaSharp.targets" />
<file src="build/xamarinwatchos1.0/SkiaSharp.targets" />
<file src="build/xamarinwatchos1.0/SkiaSharp.targets" target="buildTransitive/xamarinwatchos1.0/SkiaSharp.targets" />
<file src="build/xamarinmac2.0/SkiaSharp.targets" />
<file src="build/xamarinmac2.0/SkiaSharp.targets" target="buildTransitive/xamarinmac2.0/SkiaSharp.targets" />
<file src="build/net6.0-macos/SkiaSharp.targets" target="build/net6.0-macos10.15/SkiaSharp.targets" />
<file src="build/net6.0-macos/SkiaSharp.targets" target="buildTransitive/net6.0-macos10.15/SkiaSharp.targets" />
<file src="build/tizen40/SkiaSharp.targets" />
<file src="build/tizen40/SkiaSharp.targets" target="buildTransitive/tizen40/SkiaSharp.targets" />
@ -128,16 +156,18 @@ Please visit https://go.microsoft.com/fwlink/?linkid=868517 to view the release
<file src="build/tizen40/arm/libSkiaSharp.so" />
<file src="build/tizen40/x86/libSkiaSharp.so" />
<!-- android -->
<file platform="macos,windows" src="build/monoandroid1.0/x64/libSkiaSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/x86/libSkiaSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/arm/libSkiaSharp.so" />
<file platform="macos,windows" src="build/monoandroid1.0/arm64/libSkiaSharp.so" />
<file platform="macos,windows" src="runtimes/android-x64/native/libSkiaSharp.so" />
<file platform="macos,windows" src="runtimes/android-x86/native/libSkiaSharp.so" />
<file platform="macos,windows" src="runtimes/android-arm/native/libSkiaSharp.so" />
<file platform="macos,windows" src="runtimes/android-arm64/native/libSkiaSharp.so" />
<!-- ios -->
<file platform="macos" src="build/xamarinios1.0/libSkiaSharp.framework/**/*" target="build/xamarinios1.0/libSkiaSharp.framework" />
<file platform="macos" src="runtimes/ios/native/libSkiaSharp.framework/**/*" target="runtimes/ios/native/libSkiaSharp.framework" />
<!-- maccatalyst -->
<!-- <file platform="macos" src="runtimes/maccatalyst/native/libSkiaSharp.framework/**/*" target="runtimes/maccatalyst/native/libSkiaSharp.framework" /> -->
<!-- tvos -->
<file platform="macos" src="build/xamarintvos1.0/libSkiaSharp.framework/**/*" target="build/xamarintvos1.0/libSkiaSharp.framework" />
<file platform="macos" src="runtimes/tvos/native/libSkiaSharp.framework/**/*" target="runtimes/tvos/native/libSkiaSharp.framework" />
<!-- watchos -->
<file platform="macos" src="build/xamarinwatchos1.0/libSkiaSharp.framework/**/*" target="build/xamarinwatchos1.0/libSkiaSharp.framework" />
<file platform="macos" src="runtimes/watchos/native/libSkiaSharp.framework/**/*" target="runtimes/watchos/native/libSkiaSharp.framework" />
<!-- .NET interactive -->
<file src="interactive-extensions/dotnet/SkiaSharp.DotNet.Interactive.dll" />

Просмотреть файл

@ -0,0 +1,21 @@
<Project>
<PropertyGroup>
<!-- Required - Enable Launch Profiles for .NET 6 iOS/Android -->
<_KeepLaunchProfiles>true</_KeepLaunchProfiles>
</PropertyGroup>
<ItemGroup>
<!-- Required - Setup Single Project features -->
<ProjectCapability Include="MauiSingleProject" />
<!-- Optional - Enables a list of TFM's and device categories in the debug menu -->
<!-- This allows easily toggling of debug target TFM by selecting the platform -->
<!-- If removed, Top level debug targets show as a list of devices for the selected TFM -->
<ProjectCapability Include="XamarinStaticLaunchProfiles" />
</ItemGroup>
<!-- Required - Overwrite tasks that are not needed when multitargeting -->
<Target Name="ValidateWinUIPlatform" />
<Target Name="BinPlaceBootstrapDll" />
</Project>

Просмотреть файл

@ -0,0 +1,7 @@
{
"profiles": {
"SkiaSharpSample.WinUI": {
"commandName": "AppContainer"
}
}
}

Просмотреть файл

@ -0,0 +1,48 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0-windows10.0.19041</TargetFrameworks>
<OutputType>WinExe</OutputType>
<TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
<SingleProject>true</SingleProject>
<RootNamespace>SkiaSharpSample</RootNamespace>
<!-- Required - Enable Single Project for WinUI -->
<EnablePreviewMsixTooling>true</EnablePreviewMsixTooling>
<WindowsPackageType>MSIX</WindowsPackageType>
</PropertyGroup>
<ItemGroup>
<MauiImage Include="..\SkiaSharpSample\Resources\appicon.png" Link="Resources\appicon.png" IsAppIcon="true" Color="#F8F8F8" />
<MauiSplashScreen Include="..\SkiaSharpSample\Resources\skiasharplogo.png" BaseSize="256" Link="Resources\skiasharplogo.png" Color="#F8F8F8" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\SkiaSharpSample\**\*.cs" Exclude="..\SkiaSharpSample\bin\**;..\SkiaSharpSample\obj\**;..\SkiaSharpSample\Android\**;..\SkiaSharpSample\iOS\**;..\SkiaSharpSample\MacCatalyst\**" Link="%(RecursiveDir)%(Filename)%(Extension)" />
<MauiXaml Include="..\SkiaSharpSample\**\*.xaml" Exclude="..\SkiaSharpSample\bin\**;..\SkiaSharpSample\obj\**" Link="%(RecursiveDir)%(FileName)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.ProjectReunion" Version="0.8.0-preview" />
<PackageReference Include="Microsoft.ProjectReunion.Foundation" Version="0.8.0-preview" />
<PackageReference Include="Microsoft.ProjectReunion.WinUI" Version="0.8.0-preview" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.16" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.16" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\output\native\windows\x64\libSkiaSharp.dll" Condition="Exists('..\..\..\..\output\native\windows\x64\libSkiaSharp.dll')">
<Link>libSkiaSharp.dll</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>

Просмотреть файл

@ -0,0 +1,15 @@
<local:MiddleApp
x:Class="SkiaSharpSample.WinUI.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:SkiaSharpSample.WinUI">
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" />
<!-- Other merged dictionaries here -->
</ResourceDictionary.MergedDictionaries>
<!-- Other app resources here -->
</ResourceDictionary>
</Application.Resources>
</local:MiddleApp>

Просмотреть файл

@ -0,0 +1,34 @@
using Microsoft.Maui;
using Microsoft.UI.Xaml;
using Windows.ApplicationModel;
// To learn more about WinUI, the WinUI project structure,
// and more about our project templates, see: http://aka.ms/winui-project-info.
namespace SkiaSharpSample.WinUI
{
/// <summary>
/// Provides application-specific behavior to supplement the default Application class.
/// </summary>
public partial class App : MiddleApp
{
/// <summary>
/// Initializes the singleton application object. This is the first line of authored code
/// executed, and as such is the logical equivalent of main() or WinMain().
/// </summary>
public App()
{
this.InitializeComponent();
}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
base.OnLaunched(args);
Microsoft.Maui.Essentials.Platform.OnLaunched(args);
}
}
public class MiddleApp : MauiWinUIApplication<Startup>
{
}
}

Просмотреть файл

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap rescap">
<Identity
Name="69157F47-E4B3-4267-82FE-04460C520A8F"
Publisher="CN=User Name"
Version="1.0.0.0" />
<Properties>
<DisplayName>SkiaSharpSample</DisplayName>
<PublisherDisplayName>Microsoft</PublisherDisplayName>
<Logo>Assets\appiconStoreLogo.png</Logo>
</Properties>
<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.19041.0" />
</Dependencies>
<Resources>
<Resource Language="x-generate"/>
</Resources>
<Applications>
<Application Id="App"
Executable="$targetnametoken$.exe"
EntryPoint="$targetentrypoint$">
<uap:VisualElements
DisplayName="SkiaSharpSample"
Description="SkiaSharpSample"
BackgroundColor="transparent"
Square150x150Logo="Assets\appiconMediumTile.png"
Square44x44Logo="Assets\appiconLogo.png">
<uap:DefaultTile
Wide310x150Logo="Assets\appiconWideTile.png"
Square71x71Logo="Assets\appiconSmallTile.png"
Square310x310Logo="Assets\appiconLargeTile.png"
ShortName="SkiaSharpSample">
<uap:ShowNameOnTiles>
<uap:ShowOn Tile="square150x150Logo"/>
<uap:ShowOn Tile="wide310x150Logo"/>
</uap:ShowNameOnTiles>
</uap:DefaultTile >
<uap:SplashScreen Image="Assets\skiasharplogoSplashScreen.png" />
</uap:VisualElements>
</Application>
</Applications>
<Capabilities>
<rescap:Capability Name="runFullTrust" />
</Capabilities>
</Package>

Просмотреть файл

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" name="SkiaSharpSample.WinUI.app"/>
<application xmlns="urn:schemas-microsoft-com:asm.v3">
<windowsSettings>
<!-- The combination of below two tags have the following effect:
1) Per-Monitor for >= Windows 10 Anniversary Update
2) System < Windows 10 Anniversary Update
-->
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true/PM</dpiAware>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
</windowsSettings>
</application>
</assembly>

Просмотреть файл

@ -0,0 +1,41 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31220.234
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample", "SkiaSharpSample\SkiaSharpSample.csproj", "{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.WinUI", "SkiaSharpSample.WinUI\SkiaSharpSample.WinUI.csproj", "{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{3258831C-E589-4A15-869B-877737D01F21}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.Build.0 = Release|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.Deploy.0 = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.Build.0 = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.Deploy.0 = Release|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,41 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.31220.234
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample", "SkiaSharpSample\SkiaSharpSample.csproj", "{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharpSample.WinUI", "SkiaSharpSample.WinUI\SkiaSharpSample.WinUI.csproj", "{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\..\..\binding\SkiaSharp\SkiaSharp.csproj", "{3258831C-E589-4A15-869B-877737D01F21}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.Build.0 = Release|Any CPU
{4AD1D2A5-5A7B-4E7B-87C5-C21756DA8D02}.Release|Any CPU.Deploy.0 = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.Build.0 = Release|Any CPU
{7FC4C884-2318-4FEC-9B5E-7A891F9A439D}.Release|Any CPU.Deploy.0 = Release|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3258831C-E589-4A15-869B-877737D01F21}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {61F7FB11-1E47-470C-91E2-47F8143E1572}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="30" />
<application android:allowBackup="true" android:icon="@mipmap/appicon" android:supportsRtl="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

Просмотреть файл

@ -0,0 +1,11 @@
using Android.App;
using Android.Content.PM;
using Microsoft.Maui;
namespace SkiaSharpSample
{
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
public class MainActivity : MauiAppCompatActivity
{
}
}

Просмотреть файл

@ -0,0 +1,16 @@
using System;
using Android.App;
using Android.Runtime;
using Microsoft.Maui;
namespace SkiaSharpSample
{
[Application]
public class MainApplication : MauiApplication<Startup>
{
public MainApplication(IntPtr handle, JniHandleOwnership ownership)
: base(handle, ownership)
{
}
}
}

Просмотреть файл

@ -0,0 +1,8 @@
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:SkiaSharpSample"
x:Class="SkiaSharpSample.App">
<Application.Resources>
</Application.Resources>
</Application>

Просмотреть файл

@ -0,0 +1,23 @@
using Microsoft.Maui;
using Microsoft.Maui.Controls;
using Microsoft.Maui.Controls.PlatformConfiguration.WindowsSpecific;
using Application = Microsoft.Maui.Controls.Application;
using WindowsConfiguration = Microsoft.Maui.Controls.PlatformConfiguration.Windows;
namespace SkiaSharpSample
{
public partial class App : Application
{
public App()
{
InitializeComponent();
}
protected override IWindow CreateWindow(IActivationState activationState)
{
On<WindowsConfiguration>().SetImageDirectory("Assets");
return new Window(new MainPage());
}
}
}

Просмотреть файл

@ -0,0 +1,10 @@
using Foundation;
using Microsoft.Maui;
namespace SkiaSharpSample
{
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate<Startup>
{
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,15 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, "AppDelegate");
}
}
}

Просмотреть файл

@ -0,0 +1,8 @@
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="SkiaSharpSample.MainPage"
BackgroundColor="White">
<Image x:Name="imageView" Aspect="Center" />
</ContentPage>

Просмотреть файл

@ -0,0 +1,47 @@
using System.IO;
using Microsoft.Maui.Controls;
using SkiaSharp;
namespace SkiaSharpSample
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
imageView.Source = ImageSource.FromStream(() => CreateImage());
}
private Stream CreateImage()
{
// crate a surface
var info = new SKImageInfo(256, 256);
using var surface = SKSurface.Create(info);
// the the canvas and properties
var canvas = surface.Canvas;
// make sure the canvas is blank
canvas.Clear(SKColors.White);
// draw some text
using var paint = new SKPaint
{
Color = SKColors.Black,
IsAntialias = true,
Style = SKPaintStyle.Fill,
TextAlign = SKTextAlign.Center,
TextSize = 24
};
var coord = new SKPoint(info.Width / 2, (info.Height + paint.TextSize) / 2);
canvas.DrawText("SkiaSharp", coord, paint);
// encode the file
using var image = surface.Snapshot();
var data = image.Encode(SKEncodedImageFormat.Png, 100);
return data.AsStream(true);
}
}
}

Двоичные данные
samples/Basic/Maui/SkiaSharpSample/Resources/appicon.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 132 KiB

Двоичные данные
samples/Basic/Maui/SkiaSharpSample/Resources/skiasharplogo.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 132 KiB

Просмотреть файл

@ -0,0 +1,35 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net6.0-ios;net6.0-android</TargetFrameworks>
<OutputType>Exe</OutputType>
<SingleProject>true</SingleProject>
<RootNamespace>SkiaSharpSample</RootNamespace>
<ApplicationTitle>SkiaSharpSample</ApplicationTitle>
<ApplicationId>com.companyname.SkiaSharpSample</ApplicationId>
<ApplicationVersion>1.0</ApplicationVersion>
<AndroidVersionCode>1</AndroidVersionCode>
</PropertyGroup>
<ItemGroup>
<MauiImage Include="Resources\appicon.png" IsAppIcon="true" Color="#F8F8F8" />
<MauiSplashScreen Include="Resources\skiasharplogo.png" BaseSize="256" Color="#F8F8F8" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Maui" Version="6.0.100-preview.5.794" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\binding\SkiaSharp\SkiaSharp.csproj" />
</ItemGroup>
<PropertyGroup>
<InvariantGlobalization Condition="$(TargetFramework.Contains('-maccatalyst'))">true</InvariantGlobalization>
<RuntimeIdentifier Condition="$(TargetFramework.Contains('-ios'))">iossimulator-x64</RuntimeIdentifier>
<RuntimeIdentifier Condition="$(TargetFramework.Contains('-maccatalyst'))">maccatalyst-x64</RuntimeIdentifier>
</PropertyGroup>
<Import Project="..\..\..\..\output\SkiaSharp\nuget\build\$(TargetFramework)\SkiaSharp.Local.targets" Condition="Exists('..\..\..\..\output\SkiaSharp\nuget\build\$(TargetFramework)\SkiaSharp.Local.targets')" />
</Project>

Просмотреть файл

@ -0,0 +1,12 @@
using Microsoft.Maui;
using Microsoft.Maui.Controls.Hosting;
using Microsoft.Maui.Hosting;
namespace SkiaSharpSample
{
public class Startup : IStartup
{
public void Configure(IAppHostBuilder appBuilder) =>
appBuilder.UseMauiApp<App>();
}
}

Просмотреть файл

@ -0,0 +1,10 @@
using Foundation;
using Microsoft.Maui;
namespace SkiaSharpSample
{
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate<Startup>
{
}
}

Просмотреть файл

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>MinimumOSVersion</key>
<string>10.3.4</string>
<key>UIDeviceFamily</key>
<array>
<integer>1</integer>
<integer>2</integer>
</array>
<key>UIRequiredDeviceCapabilities</key>
<array>
<string>arm64</string>
</array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>XSAppIconAssets</key>
<string>Assets.xcassets/appicon.appiconset</string>
</dict>
</plist>

Просмотреть файл

@ -0,0 +1,15 @@
using UIKit;
namespace SkiaSharpSample
{
public class Program
{
// This is the main entry point of the application.
static void Main(string[] args)
{
// if you want to use a different Application Delegate class from "AppDelegate"
// you can specify it here.
UIApplication.Main(args, null, "AppDelegate");
}
}
}

Просмотреть файл

@ -23,8 +23,11 @@ variables:
MONO_VERSION_MACOS: '6_12_7'
MONO_VERSION_LINUX: ''
XCODE_VERSION: 12.4
DOTNET_VERSION_PREVIOUS: 3.1.408
DOTNET_VERSION: 5.0.202
DOTNET_VERSION_PREVIOUS: 3.1.410
DOTNET_VERSION: 5.0.301
DOTNET_VERSION_PREVIEW: 6.0.100-preview.5.21302.13
VS_VERSION_PREVIEW: 16/pre
MAUI_CHECK_MANIFEST: https://raw.githubusercontent.com/Redth/dotnet-maui-check/165c910079623e73ecb04c50bade01da1f78f6c9/manifests/maui-preview.manifest.json
CONFIGURATION: 'Release'
VM_IMAGE_WINDOWS: windows-2019
VM_IMAGE_WINDOWS_PREVIOUS: vs2017-win2016
@ -35,7 +38,7 @@ variables:
NUGET_DIFF_PRERELEASE: false
ENABLE_CODE_COVERAGE: true
EMSCRIPTEN_VERSION: 2.0.12
XHARNESS_VERSION: 1.0.0-prerelease.21180.1
XHARNESS_VERSION: 1.0.0-prerelease.21314.1
resources:
repositories:
@ -392,6 +395,7 @@ stages:
target: nuget
additionalArgs: --packall=true --skipbuild=true
installWindowsSdk: false
installDotNet: false
shouldPublish: true
requiredArtifacts:
- managed_linux
@ -431,6 +435,7 @@ stages:
target: docs-api-diff
additionalArgs: --nugetDiffPrerelease=$(NUGET_DIFF_PRERELEASE)
installWindowsSdk: false
installPreviewVs: false
shouldPublish: false
requiredArtifacts:
- package_windows
@ -790,6 +795,7 @@ stages:
vmImage: $(VM_IMAGE_WINDOWS_PREVIOUS)
target: git-sync-deps
installWindowsSdk: false
installDotNet: false
shouldPublish: false
postBuildSteps:
- task: CredScan@2

Просмотреть файл

@ -5,6 +5,7 @@ parameters:
packages: '' # any additional packages
target: '' # the bootstrapper target
dependsOn: [] # the dependiencies
variables: [] # the job variables
requiredArtifacts: [] # the artifacts that this build needs to download
demands: [] # the demands
preBuildSteps: [] # any steps to run before the build
@ -22,6 +23,8 @@ parameters:
installAndroidNdk: true # whether or not to install the Android NDK
installTizenSdk: true # whether or not to install the Tizen SDK
installWindowsSdk: true # whether or not to install the Windows SDK
installPreviewVs: true # whether or not to install the preview VS
installDotNet: true # whether or not to install the dotnet SDK
installLlvm: true # whether or not to install the LLVM compiler
installEmsdk: false # whether or not to install the Emscripten SDK
@ -45,6 +48,7 @@ jobs:
demands: ${{ parameters.demands }}
dependsOn: ${{ parameters.dependsOn }}
condition: ${{ parameters.condition }}
variables: ${{ parameters.variables }}
steps:
# prepare
- checkout: self
@ -99,20 +103,31 @@ jobs:
# install extra bits for the manged builds
- ${{ if not(startsWith(parameters.name, 'native_')) }}:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: $(DOTNET_VERSION_PREVIOUS)
performMultiLevelLookup: true
displayName: Install the previous version of .NET Core
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: $(DOTNET_VERSION)
performMultiLevelLookup: true
displayName: Install the correct version of .NET Core
- pwsh: dotnet --info
displayName: Display all the .NET information
- ${{ if eq(parameters.installDotNet, 'true') }}:
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: $(DOTNET_VERSION_PREVIOUS)
performMultiLevelLookup: true
displayName: Install the previous version of .NET Core
- task: UseDotNet@2
inputs:
packageType: 'sdk'
version: $(DOTNET_VERSION)
performMultiLevelLookup: true
displayName: Install the correct version of .NET Core
# install the bits needed for net6 builds
- pwsh: .\scripts\install-dotnet.ps1 -Version $env:DOTNET_VERSION_PREVIEW -InstallDir "$env:AGENT_TOOLSDIRECTORY/dotnet"
displayName: Install the preview version of .NET Core
- ${{ if and(endsWith(parameters.name, '_windows'), eq(parameters.installPreviewVs, 'true')) }}:
- pwsh: .\scripts\install-vs.ps1 -Version $env:VS_VERSION_PREVIEW
displayName: Install Visual Studio Preview
- ${{ if not(endsWith(parameters.name, '_linux')) }}:
- pwsh: .\scripts\install-maui.ps1 -Manifest $env:MAUI_CHECK_MANIFEST -InstallDir "$env:AGENT_TOOLSDIRECTORY/dotnet"
displayName: Install the .NET Core workloads
# display dotnet info
- pwsh: dotnet --info
displayName: Display all the .NET information
# install the mac tools
- ${{ if endsWith(parameters.name, '_macos') }}:

Просмотреть файл

@ -0,0 +1,31 @@
Param(
[string] $Version,
[string] $InstallDir
)
$ErrorActionPreference = 'Stop'
if ($IsMacOS -or $IsLinux) {
$url = "https://dot.net/v1/dotnet-install.sh"
} else {
$url = "https://dot.net/v1/dotnet-install.ps1"
}
Write-Host "Downloading .NET Installer..."
Invoke-WebRequest `
-Uri "$url" `
-OutFile (Split-Path $url -Leaf)
Write-Host "Installing .NET $Version..."
if ($IsMacOS) {
& sh dotnet-install.sh --version "$Version" --install-dir "$InstallDir" --verbose
} elseif ($IsLinux) {
& bash dotnet-install.sh --version "$Version" --install-dir "$InstallDir" --verbose
} else {
.\dotnet-install.ps1 -Version "$Version" -InstallDir "$InstallDir" -Verbose
}
Write-Host "Installed .NET Versions:"
& dotnet --list-sdks
exit $LASTEXITCODE

22
scripts/install-maui.ps1 Normal file
Просмотреть файл

@ -0,0 +1,22 @@
Param(
[string] $InstallDir,
[string] $Manifest
)
$ErrorActionPreference = 'Stop'
$env:DOTNET_ROOT="$InstallDir"
Write-Host "Installing maui-check..."
& dotnet tool update --global redth.net.maui.check
Write-Host "Installing Maui..."
& maui-check `
--manifest "$Manifest" `
--verbose --ci --fix --non-interactive `
--skip androidsdk `
--skip xcode `
--skip vswin `
--skip vsmac
exit $LASTEXITCODE

32
scripts/install-vs.ps1 Normal file
Просмотреть файл

@ -0,0 +1,32 @@
Param(
[string] $Version = "16/pre"
)
$ErrorActionPreference = 'Stop'
Write-Host "Downloading Visual Studio..."
Invoke-WebRequest -UseBasicParsing `
-Uri "https://aka.ms/vs/$Version/vs_community.exe" `
-OutFile vs_community.exe
Write-Host "Installing Visual Studio..."
./vs_community.exe --passive --norestart --wait `
--add Microsoft.VisualStudio.Workload.NetCrossPlat `
--add Microsoft.VisualStudio.Workload.NetCoreTools `
--add Microsoft.VisualStudio.Workload.ManagedDesktop `
--add Microsoft.VisualStudio.Workload.Universal `
| Out-Null
Remove-Item vs_community.exe
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
Write-Host "Setting Environment Variables..."
$installationPath = & $vswhere -latest -prerelease -property installationPath
Write-Host "##vso[task.prependpath]$installationPath\MSBuild\Current\Bin"
Write-Host "##vso[task.setvariable variable=VS_INSTALL]$installationPath"
Write-Host "Installed Visual Studio Versions:"
& $vswhere -all -prerelease -property installationPath
exit $LASTEXITCODE

Просмотреть файл

@ -8,10 +8,18 @@
- part of SkiaSharp.Views.Forms: SKx00x
-->
<PropertyGroup>
<IsWindows>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))</IsWindows>
<IsMacOS>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))</IsMacOS>
<IsLinux>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))</IsLinux>
</PropertyGroup>
<PropertyGroup>
<!-- this is important for mono as it defaults to 'false' -->
<SignAssembly>true</SignAssembly>
<SkiaSharpBuildPropsImported>true</SkiaSharpBuildPropsImported>
<BuildingForNet6 Condition="'$(BuildingForNet6)' == '' and $(IsWindows)">true</BuildingForNet6>
<BuildingForNet6 Condition="'$(BuildingForNet6)' == ''">false</BuildingForNet6>
<MDocDocumentationDirectory>$(MSBuildThisFileDirectory)..\docs\SkiaSharpAPI</MDocDocumentationDirectory>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
@ -35,12 +43,6 @@
<SkipImportNetSdk>true</SkipImportNetSdk>
</PropertyGroup>
<PropertyGroup>
<IsWindows>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Windows)))</IsWindows>
<IsMacOS>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::OSX)))</IsMacOS>
<IsLinux>$([System.Runtime.InteropServices.RuntimeInformation]::IsOSPlatform($([System.Runtime.InteropServices.OSPlatform]::Linux)))</IsLinux>
</PropertyGroup>
<Target Name="PrintRID"
BeforeTargets="BeforeBuild">
<Message Text="Operating System: Windows"

Просмотреть файл

@ -85,6 +85,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Wasm",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Reference", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Reference\SkiaSharp.Views.Uno.Reference.csproj", "{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\binding\SkiaSharp\SkiaSharp.csproj", "{57F4EA34-01A7-4214-AEA7-4550D756D50E}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HarfBuzzSharp", "..\binding\HarfBuzzSharp\HarfBuzzSharp.csproj", "{B81B4103-5324-4229-8DA6-E99913529D13}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Views.Uno.Skia", "SkiaSharp.Views.Uno\SkiaSharp.Views.Uno.Skia\SkiaSharp.Views.Uno.Skia.csproj", "{A84C9753-A343-4A21-8337-147E5B93B055}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.DotNet.Interactive", "SkiaSharp.DotNet.Interactive\SkiaSharp.DotNet.Interactive.csproj", "{A23C2451-BBCE-4309-B80F-CEE482A140C7}"
@ -233,6 +237,14 @@ Global
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB}.Release|Any CPU.Build.0 = Release|Any CPU
{57F4EA34-01A7-4214-AEA7-4550D756D50E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{57F4EA34-01A7-4214-AEA7-4550D756D50E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{57F4EA34-01A7-4214-AEA7-4550D756D50E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{57F4EA34-01A7-4214-AEA7-4550D756D50E}.Release|Any CPU.Build.0 = Release|Any CPU
{B81B4103-5324-4229-8DA6-E99913529D13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B81B4103-5324-4229-8DA6-E99913529D13}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B81B4103-5324-4229-8DA6-E99913529D13}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B81B4103-5324-4229-8DA6-E99913529D13}.Release|Any CPU.Build.0 = Release|Any CPU
{A84C9753-A343-4A21-8337-147E5B93B055}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A84C9753-A343-4A21-8337-147E5B93B055}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A84C9753-A343-4A21-8337-147E5B93B055}.Release|Any CPU.ActiveCfg = Release|Any CPU
@ -280,6 +292,8 @@ Global
{E0FF9BFF-2253-4486-A8E2-94312D09D056} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
{242213FA-1F0E-40BB-A9B2-6FEE82B5D216} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
{D5C7D157-609E-4D64-8E42-C1DB0FAA86EB} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
{57F4EA34-01A7-4214-AEA7-4550D756D50E} = {C335869B-7CC8-4239-B4A5-8031AA9758D3}
{B81B4103-5324-4229-8DA6-E99913529D13} = {56AE868D-7AD9-4DFC-BD27-6BBA8DC9F75A}
{A84C9753-A343-4A21-8337-147E5B93B055} = {E53351EA-FE40-47D2-B388-4A75DA6CCD71}
{A23C2451-BBCE-4309-B80F-CEE482A140C7} = {A54F6AE5-2921-4C68-846A-25D38F1C2E7E}
EndGlobalSection

Просмотреть файл

@ -3,7 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30212.25
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SkiaSharp.Wasm.Tests", "SkiaSharp.Wasm.Tests\SkiaSharp.Wasm.Tests.csproj", "{E7D44825-9F38-4ADA-BCF5-EB9420200DE4}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.Wasm.Tests", "SkiaSharp.Wasm.Tests\SkiaSharp.Wasm.Tests.csproj", "{E7D44825-9F38-4ADA-BCF5-EB9420200DE4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HarfBuzzSharp", "..\binding\HarfBuzzSharp\HarfBuzzSharp.csproj", "{1E9C7704-0C62-40AE-8D9F-139D530E8D82}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp", "..\binding\SkiaSharp\SkiaSharp.csproj", "{B020BCC5-FC01-4ADC-839E-18E63BC6D4C5}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SkiaSharp.HarfBuzz", "..\source\SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz\SkiaSharp.HarfBuzz.csproj", "{6E6DF00F-30EF-479B-92FB-B07DDE6B1259}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -15,5 +21,23 @@ Global
{E7D44825-9F38-4ADA-BCF5-EB9420200DE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E7D44825-9F38-4ADA-BCF5-EB9420200DE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E7D44825-9F38-4ADA-BCF5-EB9420200DE4}.Release|Any CPU.Build.0 = Release|Any CPU
{1E9C7704-0C62-40AE-8D9F-139D530E8D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E9C7704-0C62-40AE-8D9F-139D530E8D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E9C7704-0C62-40AE-8D9F-139D530E8D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E9C7704-0C62-40AE-8D9F-139D530E8D82}.Release|Any CPU.Build.0 = Release|Any CPU
{B020BCC5-FC01-4ADC-839E-18E63BC6D4C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B020BCC5-FC01-4ADC-839E-18E63BC6D4C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B020BCC5-FC01-4ADC-839E-18E63BC6D4C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B020BCC5-FC01-4ADC-839E-18E63BC6D4C5}.Release|Any CPU.Build.0 = Release|Any CPU
{6E6DF00F-30EF-479B-92FB-B07DDE6B1259}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E6DF00F-30EF-479B-92FB-B07DDE6B1259}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E6DF00F-30EF-479B-92FB-B07DDE6B1259}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E6DF00F-30EF-479B-92FB-B07DDE6B1259}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A5F69CA9-2A95-410C-A070-2B0E1759B013}
EndGlobalSection
EndGlobal

Просмотреть файл

@ -46,7 +46,7 @@ namespace WasmTestRunner
extra = p.Parse(args);
if (extra.Count > 1)
throw new OptionException();
throw new OptionException("To many extras provided.", "extras");
Url = extra.FirstOrDefault() ?? DefaultUrl;
if (string.IsNullOrEmpty(OutputPath))
@ -56,11 +56,13 @@ namespace WasmTestRunner
if (!string.IsNullOrEmpty(dir))
Directory.CreateDirectory(dir);
}
catch (OptionException e)
catch (OptionException ex)
{
Console.Error.Write("wasm-test: ");
Console.Error.WriteLine(e.Message);
Console.Error.WriteLine(ex.Message);
Console.Error.WriteLine("Try `wasm-test --help' for more information.");
if (Verbose)
Console.Error.WriteLine(ex);
return 1;
}

Просмотреть файл

@ -10,7 +10,7 @@
<ItemGroup>
<PackageReference Include="Mono.Options" Version="6.6.0.161" />
<PackageReference Include="Selenium.WebDriver" Version="3.141.0" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="87.0.4280.8800" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="90.0.4430.2400" />
</ItemGroup>
</Project>