* Trying to get an older linux build
* Switch to clang 3.8 on linux. #686
* Statically link things for linux
* Set up CI with Azure Pipelines
* Updated the tizen install script to work on macos and linux
* Make sure to install the version of the Android NDK we support
* Added missing [SkippableFact] attribute
This commit is contained in:
Matthew Leibowitz 2019-02-05 05:22:35 +02:00 коммит произвёл GitHub
Родитель e22480b310
Коммит d6f333a52f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
10 изменённых файлов: 558 добавлений и 21 удалений

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

@ -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}'");

459
scripts/azure-pipelines.yml Normal file
Просмотреть файл

@ -0,0 +1,459 @@
# 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:
- job: test_certs
pool:
vmImage: macos-10.13
steps:
- task: InstallAppleCertificate@2
displayName: Install iOS Certificate
inputs:
certSecureFile: 'b3a4ff8b-b7d7-40c6-a159-d4778979e299'
- task: InstallAppleCertificate@2
displayName: Install macOS Certificate
inputs:
certSecureFile: 'b7392ee6-5d68-4142-8002-13940dcddbb3'
- task: InstallAppleProvisioningProfile@1
displayName: Install iOS Provisioning Profile
inputs:
provProfileSecureFile: 'dbd66aa7-92c7-46c5-8d9a-10d31cffe168'
- task: InstallAppleProvisioningProfile@1
displayName: Install macOS Provisioning Profile
inputs:
provProfileSecureFile: '29730498-6c7b-46ea-ac53-8918528ead5d'
- task: InstallAppleProvisioningProfile@1
displayName: Install tvOS Provisioning Profile
inputs:
provProfileSecureFile: 'fcace840-a805-4f55-b7d1-aa471c9dfeb2'
# 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

21
scripts/install-android-ndk.sh Executable file
Просмотреть файл

@ -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

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

@ -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

23
scripts/install-tizen.sh Normal file → Executable file
Просмотреть файл

@ -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"
@Field def nativeLinuxPackages = "python git libfontconfig1-dev clang-3.8"
@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"
@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),
])
}

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

@ -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;