Merge branch 'master' into harfbuzzUpdate
This commit is contained in:
Коммит
8ebdc9a856
|
@ -47,6 +47,7 @@
|
|||
"notification_subscribers": [],
|
||||
"sync_notification_subscribers": [],
|
||||
"branches_to_filter": [],
|
||||
"git_repository_branch_open_to_public_contributors": "master",
|
||||
"skip_source_output_uploading": false,
|
||||
"need_preview_pull_request": true,
|
||||
"contribution_branch_mappings": {},
|
||||
|
@ -60,6 +61,7 @@
|
|||
],
|
||||
"branch_target_mapping": {},
|
||||
"need_generate_pdf_url_template": false,
|
||||
"targets": {},
|
||||
"need_generate_pdf": false,
|
||||
"need_generate_intellisense": false,
|
||||
"dependent_packages": [
|
||||
|
|
|
@ -53,7 +53,7 @@ namespace SkiaSharp
|
|||
|
||||
public bool Intersects(SKRectI rect)
|
||||
{
|
||||
return SkiaApi.sk_region_intersects(Handle, rect);
|
||||
return SkiaApi.sk_region_intersects_rect(Handle, ref rect);
|
||||
}
|
||||
|
||||
public bool SetRegion(SKRegion region)
|
||||
|
|
|
@ -1818,7 +1818,7 @@ namespace SkiaSharp
|
|||
public extern static bool sk_region_intersects (sk_region_t r, sk_region_t src);
|
||||
[DllImport (SKIA, CallingConvention = CallingConvention.Cdecl)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
public extern static bool sk_region_intersects (sk_region_t r, SKRectI rect);
|
||||
public extern static bool sk_region_intersects_rect (sk_region_t r, ref SKRectI rect);
|
||||
[DllImport (SKIA, CallingConvention = CallingConvention.Cdecl)]
|
||||
[return: MarshalAs (UnmanagedType.I1)]
|
||||
public extern static bool sk_region_set_region (sk_region_t r, sk_region_t src);
|
||||
|
|
21
build.cake
21
build.cake
|
@ -36,9 +36,12 @@ var MDocPath = MakeAbsolute ((FilePath)"externals/api-doc-tools/bin/Release/mdoc
|
|||
var MSBuildToolPath = GetMSBuildToolPath (EnvironmentVariable ("MSBUILD_EXE"));
|
||||
var PythonToolPath = EnvironmentVariable ("PYTHON_EXE") ?? "python";
|
||||
|
||||
DirectoryPath ANDROID_SDK_ROOT = EnvironmentVariable ("ANDROID_SDK_ROOT") ?? EnvironmentVariable ("ANDROID_HOME") ?? EnvironmentVariable ("HOME") + "/Library/Developer/Xamarin/android-sdk-macosx";
|
||||
DirectoryPath ANDROID_NDK_HOME = EnvironmentVariable ("ANDROID_NDK_HOME") ?? EnvironmentVariable ("ANDROID_NDK_ROOT") ?? EnvironmentVariable ("HOME") + "/Library/Developer/Xamarin/android-ndk";
|
||||
DirectoryPath TIZEN_STUDIO_HOME = EnvironmentVariable ("TIZEN_STUDIO_HOME") ?? EnvironmentVariable ("HOME") + "/tizen-studio";
|
||||
DirectoryPath PROFILE_PATH = EnvironmentVariable ("USERPROFILE") ?? EnvironmentVariable ("HOME");
|
||||
|
||||
DirectoryPath NUGET_PACKAGES = EnvironmentVariable ("NUGET_PACKAGES") ?? PROFILE_PATH.Combine (".nuget/packages");
|
||||
DirectoryPath ANDROID_SDK_ROOT = EnvironmentVariable ("ANDROID_SDK_ROOT") ?? EnvironmentVariable ("ANDROID_HOME") ?? PROFILE_PATH.Combine ("Library/Developer/Xamarin/android-sdk-macosx");
|
||||
DirectoryPath ANDROID_NDK_HOME = EnvironmentVariable ("ANDROID_NDK_HOME") ?? EnvironmentVariable ("ANDROID_NDK_ROOT") ?? PROFILE_PATH.Combine ("Library/Developer/Xamarin/android-ndk");
|
||||
DirectoryPath TIZEN_STUDIO_HOME = EnvironmentVariable ("TIZEN_STUDIO_HOME") ?? PROFILE_PATH.Combine ("tizen-studio");
|
||||
|
||||
DirectoryPath ROOT_PATH = MakeAbsolute(Directory("."));
|
||||
DirectoryPath DEPOT_PATH = MakeAbsolute(ROOT_PATH.Combine("externals/depot_tools"));
|
||||
|
@ -48,9 +51,6 @@ DirectoryPath HARFBUZZ_PATH = MakeAbsolute(ROOT_PATH.Combine("externals/harfbuzz
|
|||
DirectoryPath DOCS_PATH = MakeAbsolute(ROOT_PATH.Combine("docs/xml"));
|
||||
DirectoryPath PACKAGE_CACHE_PATH = MakeAbsolute(ROOT_PATH.Combine("externals/package_cache"));
|
||||
|
||||
DirectoryPath PROFILE_PATH = EnvironmentVariable ("USERPROFILE") ?? EnvironmentVariable ("HOME");
|
||||
DirectoryPath NUGET_PACKAGES = EnvironmentVariable ("NUGET_PACKAGES") ?? PROFILE_PATH.Combine (".nuget/packages");
|
||||
|
||||
var FEATURE_NAME = EnvironmentVariable ("FEATURE_NAME") ?? "";
|
||||
var BUILD_NUMBER = EnvironmentVariable ("BUILD_NUMBER") ?? "";
|
||||
if (string.IsNullOrEmpty (BUILD_NUMBER)) {
|
||||
|
@ -215,11 +215,11 @@ Task ("samples")
|
|||
};
|
||||
|
||||
var platformMatrix = new Dictionary<string, string> {
|
||||
{ "ios", "iPhone" },
|
||||
{ "ios", "iPhoneSimulator" },
|
||||
{ "tvos", "iPhoneSimulator" },
|
||||
{ "uwp", "x86" },
|
||||
{ "watchos", "iPhoneSimulator" },
|
||||
{ "xamarin.forms.mac", "iPhone" },
|
||||
{ "xamarin.forms.mac", "iPhoneSimulator" },
|
||||
{ "xamarin.forms.windows", "x86" },
|
||||
};
|
||||
|
||||
|
@ -558,7 +558,10 @@ var envVarsWhitelist = new [] {
|
|||
"processor_identifier", "node_name", "node_labels", "branch_name",
|
||||
"os", "build_url", "build_number", "number_of_processors",
|
||||
"node_label", "build_id", "git_sha", "git_branch_name",
|
||||
"feature_name"
|
||||
"feature_name", "msbuild_exe", "python_exe",
|
||||
"home", "userprofile", "nuget_packages",
|
||||
"android_sdk_root", "android_ndk_root",
|
||||
"android_home", "android_ndk_home", "tizen_studio_home"
|
||||
};
|
||||
var envVars = EnvironmentVariables ();
|
||||
var max = envVars.Max (v => v.Key.Length) + 2;
|
||||
|
|
|
@ -592,10 +592,10 @@ Task ("externals-linux")
|
|||
$"is_official_build=true skia_enable_tools=false " +
|
||||
$"target_os='linux' target_cpu='{arch}' " +
|
||||
$"skia_use_icu=false skia_use_sfntly=false skia_use_piex=true " +
|
||||
$"skia_use_system_expat=false skia_use_system_freetype2=true skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false " +
|
||||
$"skia_use_system_expat=false skia_use_system_freetype2=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false " +
|
||||
$"skia_enable_gpu={(SUPPORT_GPU ? "true" : "false")} " +
|
||||
$"extra_cflags=[ '-DSKIA_C_DLL' ] " +
|
||||
$"extra_ldflags=[ ] " +
|
||||
$"extra_ldflags=[ '-static-libstdc++', '-static-libgcc' ] " +
|
||||
$"{CUSTOM_COMPILERS} " +
|
||||
$"linux_soname_version='{soname}'");
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 5acec5307c1990fe16eba5e67e1a666f645ee7be
|
||||
Subproject commit d0706c89a31b228b3b5a104543cdf47cbccf6611
|
|
@ -0,0 +1,434 @@
|
|||
# TODO: implement features
|
||||
# TODO: download signed packages
|
||||
|
||||
trigger:
|
||||
- master
|
||||
|
||||
variables:
|
||||
FeatureNamePrefix: 'feature/'
|
||||
FeatureName: ''
|
||||
VERBOSITY: normal
|
||||
GIT_SHA: $(Build.SourceVersion)
|
||||
GIT_BRANCH_NAME: $(Build.SourceBranchName)
|
||||
BUILD_NUMBER: $(Build.BuildId)
|
||||
FEATURE_NAME: $(FeatureName)
|
||||
BASE_LINUX_PACKAGES: curl mono-complete msbuild
|
||||
NATIVE_LINUX_PACKAGES: $(BASE_LINUX_PACKAGES) python git libfontconfig1-dev clang-3.8 make
|
||||
TIZEN_LINUX_PACKAGES: $(BASE_LINUX_PACKAGES) python git openjdk-8-jdk zip libxcb-xfixes0 libxcb-render-util0 libwebkitgtk-1.0-0 libxcb-image0 acl libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 libsm6 gettext rpm2cpio cpio bridge-utils openvpn
|
||||
MANAGED_LINUX_PACKAGES: $(BASE_LINUX_PACKAGES) dotnet-sdk-2.1 ttf-ancient-fonts
|
||||
|
||||
jobs:
|
||||
# NATIVE JOBS - WINDOWS
|
||||
- job: native_android_windows
|
||||
displayName: Build Native Android (Windows)
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.7'
|
||||
architecture: 'x64'
|
||||
- powershell: .\scripts\install-android-ndk.ps1
|
||||
- powershell: .\bootstrapper.ps1 -t externals-android -v $env:VERBOSITY
|
||||
env:
|
||||
ANDROID_NDK_HOME: $(USERPROFILE)\android-ndk
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-android-windows
|
||||
targetPath: 'output'
|
||||
- job: native_tizen_windows
|
||||
displayName: Build Native Tizen (Windows)
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.7'
|
||||
architecture: 'x64'
|
||||
- powershell: .\scripts\install-tizen.ps1
|
||||
- powershell: .\bootstrapper.ps1 -t externals-tizen -v $env:VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-windows
|
||||
targetPath: 'output'
|
||||
- job: native_uwp_windows
|
||||
displayName: Build Native UWP (Windows)
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.7'
|
||||
architecture: 'x64'
|
||||
- powershell: .\bootstrapper.ps1 -t externals-uwp -v $env:VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-uwp-windows
|
||||
targetPath: 'output'
|
||||
- job: native_win32_windows
|
||||
displayName: Build Native Win32 (Windows)
|
||||
timeoutInMinutes: 120
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '2.7'
|
||||
architecture: 'x64'
|
||||
- powershell: .\bootstrapper.ps1 -t externals-windows -v $env:VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-win32-windows
|
||||
targetPath: 'output'
|
||||
|
||||
# NATIVE JOBS - MAC
|
||||
- job: native_android_macos
|
||||
displayName: Build Native Android (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./scripts/install-android-ndk.sh
|
||||
- bash: ./bootstrapper.sh -t externals-android -v $VERBOSITY
|
||||
env:
|
||||
ANDROID_NDK_HOME: $(HOME)/android-ndk
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-android-macos
|
||||
targetPath: 'output'
|
||||
- job: native_ios_macos
|
||||
displayName: Build Native iOS (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./bootstrapper.sh -t externals-ios -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-ios-macos
|
||||
targetPath: 'output'
|
||||
- job: native_macos_macos
|
||||
displayName: Build Native macOS (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./bootstrapper.sh -t externals-macos -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-macos-macos
|
||||
targetPath: 'output'
|
||||
- job: native_tizen_macos
|
||||
displayName: Build Native Tizen (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./scripts/install-tizen.sh
|
||||
- bash: ./bootstrapper.sh -t externals-tizen -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-macos
|
||||
targetPath: 'output'
|
||||
- job: native_tvos_macos
|
||||
displayName: Build Native tvOS (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./bootstrapper.sh -t externals-tvos -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tvos-macos
|
||||
targetPath: 'output'
|
||||
- job: native_watchos_macos
|
||||
displayName: Build Native watchOS (macOS)
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- bash: ./bootstrapper.sh -t externals-watchos -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-watchos-macos
|
||||
targetPath: 'output'
|
||||
|
||||
# NATIVE JOBS - LINUX
|
||||
- job: native_linux_linux
|
||||
displayName: Build Native Linux (Linux)
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
container: ubuntu:14.04
|
||||
steps:
|
||||
- bash: |
|
||||
sudo apt update
|
||||
sudo apt install -y apt-transport-https
|
||||
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
|
||||
echo "deb https://download.mono-project.com/repo/ubuntu stable-trusty main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
|
||||
sudo apt update
|
||||
sudo apt install -y $NATIVE_LINUX_PACKAGES
|
||||
- bash: ./bootstrapper.sh -t externals-linux -v $VERBOSITY
|
||||
env:
|
||||
CC: clang-3.8
|
||||
CXX: clang++-3.8
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-linux-linux
|
||||
targetPath: 'output'
|
||||
- job: native_tizen_linux
|
||||
displayName: Build Native Tizen (Linux)
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- bash: |
|
||||
sudo apt update
|
||||
sudo apt install -y $TIZEN_LINUX_PACKAGES
|
||||
- bash: ./scripts/install-tizen.sh
|
||||
- bash: ./bootstrapper.sh -t externals-tizen -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-linux
|
||||
targetPath: 'output'
|
||||
|
||||
# MANAGED JOBS
|
||||
- job: managed_windows
|
||||
displayName: Build Managed (Windows)
|
||||
dependsOn:
|
||||
- native_android_windows
|
||||
- native_tizen_windows
|
||||
- native_uwp_windows
|
||||
- native_win32_windows
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-android-windows
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-windows
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-uwp-windows
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-win32-windows
|
||||
targetPath: 'output'
|
||||
- powershell: .\bootstrapper.ps1 -t libs-only -v $env:VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-windows
|
||||
targetPath: 'output'
|
||||
- job: managed_macos
|
||||
displayName: Build Managed (macOS)
|
||||
dependsOn:
|
||||
- native_android_macos
|
||||
- native_ios_macos
|
||||
- native_macos_macos
|
||||
- native_tizen_macos
|
||||
- native_tvos_macos
|
||||
- native_watchos_macos
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-android-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-ios-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-macos-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tvos-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-watchos-macos
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t libs-only -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-macos
|
||||
targetPath: 'output'
|
||||
- job: managed_linux
|
||||
displayName: Build Managed (Linux)
|
||||
dependsOn:
|
||||
- native_linux_linux
|
||||
- native_tizen_linux
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- bash: |
|
||||
sudo apt update
|
||||
sudo apt install -y $MANAGED_LINUX_PACKAGES
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-linux-linux
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: native-tizen-linux
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t libs-only -v $VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-linux
|
||||
targetPath: 'output'
|
||||
|
||||
# PACKAGING JOBS
|
||||
- job: package
|
||||
displayName: Package NuGets
|
||||
dependsOn:
|
||||
- managed_linux
|
||||
- managed_macos
|
||||
- managed_windows
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-linux
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-macos
|
||||
targetPath: 'output'
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-windows
|
||||
targetPath: 'output'
|
||||
- powershell: .\bootstrapper.ps1 -t nuget-only -v $env:VERBOSITY
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: nugets-unsigned
|
||||
targetPath: 'output/nugets'
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: package
|
||||
targetPath: 'output'
|
||||
- job: signing
|
||||
displayName: Signing NuGets
|
||||
dependsOn: package
|
||||
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'],'refs/tags/'))
|
||||
pool:
|
||||
name: VSEng-XamarinCustom
|
||||
steps:
|
||||
- task: JenkinsQueueJob@2
|
||||
displayName: 'Sign NuGets'
|
||||
inputs:
|
||||
serverEndpoint: 'Xamarin Code Signing Jenkins'
|
||||
jobName: 'sign-from-vsts'
|
||||
isParameterizedJob: true
|
||||
jobParameters: |
|
||||
REPO=mono/SkiaSharp
|
||||
COMMIT=$(Build.SourceVersion)
|
||||
JOB_ID=10789
|
||||
BUILD_ID=$(Build.BuildId)
|
||||
# TODO: download artifacts from jenkins
|
||||
# - task: PublishBuildArtifacts@1
|
||||
# inputs:
|
||||
# ArtifactName: nugets-signed
|
||||
|
||||
# TEST JOBS
|
||||
- job: tests_windows
|
||||
displayName: Tests (Windows)
|
||||
dependsOn:
|
||||
- package
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: package
|
||||
targetPath: 'output'
|
||||
- powershell: .\bootstrapper.ps1 -t tests-only -v $env:VERBOSITY
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: 'output/tests/**/*.xml'
|
||||
- job: tests_macos
|
||||
displayName: Test (macOS)
|
||||
dependsOn:
|
||||
- package
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: package
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t tests-only -v $VERBOSITY
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: 'output/tests/**/*.xml'
|
||||
- job: tests_linux
|
||||
displayName: Tests (Linux)
|
||||
dependsOn:
|
||||
- package
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- bash: |
|
||||
sudo apt update
|
||||
sudo apt install -y $MANAGED_LINUX_PACKAGES
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: package
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t tests-only -v $VERBOSITY
|
||||
- task: PublishTestResults@2
|
||||
inputs:
|
||||
testResultsFormat: xUnit
|
||||
testResultsFiles: 'output/tests/**/*.xml'
|
||||
|
||||
# SAMPLES JOBS
|
||||
- job: samples_windows
|
||||
displayName: Build Samples (Windows)
|
||||
dependsOn:
|
||||
- managed_windows
|
||||
pool:
|
||||
vmImage: vs2017-win2016
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-windows
|
||||
targetPath: 'output'
|
||||
- powershell: .\bootstrapper.ps1 -t samples -v $env:VERBOSITY
|
||||
- job: samples_macos
|
||||
displayName: Build Samples (macOS)
|
||||
dependsOn:
|
||||
- managed_macos
|
||||
pool:
|
||||
vmImage: macos-10.13
|
||||
steps:
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-macos
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t samples -v $VERBOSITY
|
||||
- job: samples_linux
|
||||
displayName: Build Samples (Linux)
|
||||
dependsOn:
|
||||
- managed_linux
|
||||
pool:
|
||||
vmImage: ubuntu-16.04
|
||||
steps:
|
||||
- bash: |
|
||||
sudo apt update
|
||||
sudo apt install -y $MANAGED_LINUX_PACKAGES
|
||||
- task: DownloadPipelineArtifact@0
|
||||
inputs:
|
||||
artifactName: managed-linux
|
||||
targetPath: 'output'
|
||||
- bash: ./bootstrapper.sh -t samples -v $VERBOSITY
|
|
@ -45,10 +45,10 @@ CUSTOM_COMPILERS=
|
|||
is_official_build=true skia_enable_tools=false
|
||||
target_os=\"linux\" target_cpu=\"$ARCH\"
|
||||
skia_use_icu=false skia_use_sfntly=false skia_use_piex=true
|
||||
skia_use_system_expat=false skia_use_system_freetype2=true skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false
|
||||
skia_use_system_expat=false skia_use_system_freetype2=false skia_use_system_libjpeg_turbo=false skia_use_system_libpng=false skia_use_system_libwebp=false skia_use_system_zlib=false
|
||||
skia_enable_gpu=true
|
||||
extra_cflags=[ \"-DSKIA_C_DLL\" ]
|
||||
extra_ldflags=[ ]
|
||||
extra_ldflags=[ \"-static-libstdc++\", \"-static-libgcc\" ]
|
||||
$CUSTOM_COMPILERS
|
||||
linux_soname_version=\"$SONAME\"")
|
||||
|
||||
|
|
|
@ -0,0 +1,21 @@
|
|||
$errorActionPreference = 'Stop'
|
||||
|
||||
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
||||
|
||||
# download ndk
|
||||
Write-Host "Downloading Android NDK..."
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\android-ndk-temp" | Out-Null
|
||||
(New-Object System.Net.WebClient).DownloadFile(
|
||||
"https://dl.google.com/android/repository/android-ndk-r15c-windows-x86_64.zip",
|
||||
"$env:USERPROFILE\android-ndk-temp\android-ndk.zip")
|
||||
|
||||
# unzip ndk
|
||||
Write-Host "Extracting Android NDK..."
|
||||
[System.IO.Compression.ZipFile]::ExtractToDirectory(
|
||||
"$env:USERPROFILE\android-ndk-temp\android-ndk.zip",
|
||||
"$env:USERPROFILE\android-ndk-temp")
|
||||
|
||||
Write-Host "Moving Android NDK..."
|
||||
Move-Item "$env:USERPROFILE\android-ndk-temp\android-ndk-r15c" "$env:USERPROFILE\android-ndk"
|
||||
|
||||
exit $LASTEXITCODE
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
mkdir -p ~/android-ndk-temp
|
||||
cd ~/android-ndk-temp
|
||||
|
||||
# detect platform
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
platform="darwin-x86_64"
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
platform="linux-x86_64"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# download ndk
|
||||
curl -L -o "android-ndk.zip" "https://dl.google.com/android/repository/android-ndk-r15c-$platform.zip"
|
||||
|
||||
# unzip ndk
|
||||
unzip android-ndk.zip
|
||||
mv ./android-ndk-r15c ~/android-ndk
|
|
@ -0,0 +1,19 @@
|
|||
$errorActionPreference = 'Stop'
|
||||
|
||||
$url = "http://download.tizen.org/sdk/Installer/tizen-studio_2.4/web-cli_Tizen_Studio_2.4_windows-64.exe"
|
||||
$ts = "$env:USERPROFILE\tizen-studio"
|
||||
$install = "$env:USERPROFILE\tizen-temp\tizen-install.exe"
|
||||
$packages = "MOBILE-4.0,MOBILE-4.0-NativeAppDevelopment"
|
||||
|
||||
# download tizen
|
||||
Write-Host "Downloading Tizen SDK..."
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\tizen-temp" | Out-Null
|
||||
(New-Object System.Net.WebClient).DownloadFile("$url", "$install")
|
||||
|
||||
# install tizen
|
||||
& "$install" --accept-license --no-java-check "$ts"
|
||||
|
||||
# install packages
|
||||
& "$ts\package-manager\package-manager-cli.exe" install --no-java-check --accept-license $packages
|
||||
|
||||
exit $LASTEXITCODE
|
|
@ -1,15 +1,26 @@
|
|||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
# detect platform
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
platform="macos-64"
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
platform="ubuntu-64"
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
url=http://download.tizen.org/sdk/Installer/tizen-studio_2.4/web-cli_Tizen_Studio_2.4_$platform.bin
|
||||
packages=MOBILE-4.0,MOBILE-4.0-NativeAppDevelopment
|
||||
bin=~/tizen-temp/tizen-install.bin
|
||||
|
||||
# download tizen
|
||||
mkdir -p ~/tizen-temp
|
||||
cd ~/tizen-temp
|
||||
curl -L -o "tizen-install.bin" http://download.tizen.org/sdk/Installer/tizen-studio_2.4/web-cli_Tizen_Studio_2.4_ubuntu-64.bin
|
||||
curl -L -o "$bin" "$url"
|
||||
|
||||
# install tizen
|
||||
chmod +x tizen-install.bin
|
||||
./tizen-install.bin --accept-license --no-java-check ~/tizen-studio
|
||||
chmod +x $bin
|
||||
bash $bin --accept-license --no-java-check ~/tizen-studio
|
||||
|
||||
# install packages
|
||||
cd ~/tizen-studio
|
||||
./package-manager/package-manager-cli.bin install --no-java-check --accept-license MOBILE-4.0,MOBILE-4.0-NativeAppDevelopment
|
||||
bash ~/tizen-studio/package-manager/package-manager-cli.bin install --no-java-check --accept-license $packages
|
||||
|
|
|
@ -10,7 +10,7 @@ import groovy.transform.Field
|
|||
@Field def featureNamePrefix = "feature/"
|
||||
|
||||
@Field def minimalLinuxPackages = "curl mono-complete msbuild"
|
||||
@Field def nativeLinuxPackages = "python git libfontconfig1-dev libtool autoconf automake"
|
||||
@Field def nativeLinuxPackages = "python git libfontconfig1-dev clang-3.8 libtool autoconf automake"
|
||||
@Field def nativeTizenPackages = "python git openjdk-8-jdk zip libxcb-xfixes0 libxcb-render-util0 libwebkitgtk-1.0-0 libxcb-image0 acl libsdl1.2debian libv4l-0 libxcb-randr0 libxcb-shape0 libxcb-icccm4 libsm6 gettext rpm2cpio cpio bridge-utils openvpn libtool autoconf automake"
|
||||
@Field def managedLinuxPackages = "dotnet-sdk-2.1 ttf-ancient-fonts"
|
||||
|
||||
|
@ -26,6 +26,8 @@ import groovy.transform.Field
|
|||
"ANDROID_NDK_HOME=/Users/builder/Library/Developer/Xamarin/android-ndk",
|
||||
],
|
||||
"linux": [
|
||||
"CC=clang-3.8",
|
||||
"CXX=clang++-3.8",
|
||||
]
|
||||
]
|
||||
|
||||
|
@ -85,7 +87,7 @@ node("ubuntu-1604-amd64") {
|
|||
watchos: createNativeBuilder("watchOS", "macOS", "components", ""),
|
||||
|
||||
// linux
|
||||
linux: createNativeBuilder("Linux", "Linux", "ubuntu-1604-amd64", nativeLinuxPackages),
|
||||
linux: createNativeBuilder("Linux", "Linux", "ubuntu-1404-amd64", nativeLinuxPackages),
|
||||
tizen_linux: createNativeBuilder("Tizen", "Linux", "ubuntu-1604-amd64", nativeTizenPackages),
|
||||
])
|
||||
}
|
||||
|
@ -145,12 +147,13 @@ def createNativeBuilder(platform, host, label, additionalPackages) {
|
|||
nativeStashes.push(stashName)
|
||||
stash(name: stashName, includes: "output/**/*", allowEmpty: false)
|
||||
|
||||
cleanWs()
|
||||
reportGitHubStatus(githubContext, "SUCCESS", "Build complete.")
|
||||
} catch (Exception e) {
|
||||
reportGitHubStatus(githubContext, "FAILURE", "Build failed.")
|
||||
throw e
|
||||
}
|
||||
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -203,12 +206,13 @@ def createManagedBuilder(host, label, additionalPackages) {
|
|||
managedStashes.push(stashName)
|
||||
stash(name: stashName, includes: "output/**/*", allowEmpty: false)
|
||||
|
||||
cleanWs()
|
||||
reportGitHubStatus(githubContext, "SUCCESS", "Build complete.")
|
||||
} catch (Exception e) {
|
||||
reportGitHubStatus(githubContext, "FAILURE", "Build failed.")
|
||||
throw e
|
||||
}
|
||||
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -238,12 +242,13 @@ def createPackagingBuilder() {
|
|||
|
||||
uploadBlobs()
|
||||
|
||||
cleanWs()
|
||||
reportGitHubStatus(githubContext, "SUCCESS", "Pack complete.")
|
||||
} catch (Exception e) {
|
||||
reportGitHubStatus(githubContext, "FAILURE", "Pack failed.")
|
||||
throw e
|
||||
}
|
||||
|
||||
cleanWs()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,6 +100,7 @@ namespace SkiaSharp.Tests
|
|||
}
|
||||
|
||||
// Test for issue #282
|
||||
[SkippableFact(Skip = "Known to fail, see: https://github.com/mono/SkiaSharp/issues/282")]
|
||||
public void DrawTransparentImageWithHighFilterQualityWithUnpremul()
|
||||
{
|
||||
var oceanColor = (SKColor)0xFF9EB4D6;
|
||||
|
|
|
@ -49,5 +49,27 @@ namespace SkiaSharp.Tests
|
|||
Assert.True(isNonEmpty);
|
||||
Assert.Equal(SKRectI.Intersect(clipRect, rect), region.Bounds);
|
||||
}
|
||||
|
||||
[SkippableFact]
|
||||
public void EmptyRegionDoesNotIntersectsWithRectI()
|
||||
{
|
||||
var region = new SKRegion();
|
||||
|
||||
var rect = new SKRectI(10, 20, 30, 40);
|
||||
|
||||
Assert.False(region.Intersects(rect));
|
||||
}
|
||||
|
||||
// This was added for https://github.com/mono/SkiaSharp/issues/770
|
||||
[SkippableFact]
|
||||
public void RegionIntersectsWithRectI()
|
||||
{
|
||||
var region = new SKRegion();
|
||||
region.SetRect(new SKRectI(25, 25, 50, 50));
|
||||
|
||||
var rect = new SKRectI(10, 20, 30, 40);
|
||||
|
||||
Assert.True(region.Intersects(rect));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче