I'm trying to do a managed-only build by following the instructions here since I wasn't able to get the externals/skia native builds to complete without compilation errors (in GrAHardwareBufferImageGenerator.cpp, line 217, GrBackendTexture backendTex: no matching constructor).
However, I don't know how to get the correct Azure Build IDs. If I go to the Azure build page and pick one of the builds from SkiaSharp (Public) that appears to have built successfully with a green tick (e.g., build 3348) ) and copy the buildId from the URL (e.g., 3348), and use that with the bootstrapper,
./bootstrapper.sh -t externals-download --azureBuildId=3348
(Also tried "3348" in quotes.)
I get the following error:
========================================
externals-download
========================================
An error occurred when executing task 'externals-download'.
Error: One or more errors occurred. (One or more errors occurred. (404 (Not Found)))
404 (Not Found)
I found the AZURE_BUILD_URL that the SkiaSharp/build.cake and SkiaSharp/cake/BuildExternals.cake build scripts use to download the native binaries in a zip file. Using that URL with the buildId and "native" for the artifactName field, I get the following error:
{"$id":"1","innerException":null,"message":"Artifact native was not found for build 3348.","typeName":"Microsoft.TeamFoundation.Build.WebApi.ArtifactNotFoundException, Microsoft.TeamFoundation.Build2.WebApi","typeKey":"ArtifactNotFoundException","errorCode":0,"eventId":3000}
I've tried several of the other builds and also the ones from SkiaSharp.Extended (Public) and they all return the same error.
Is there a way I can figure out which builds contain the native binaries without guessing?
Thank you.
You can download them from here https://dev.azure.com/xamarin/public/_build/results?buildId=3348
https://dev.azure.com/xamarin/public/_build/results?buildId=3348
Do I click on the Artifact button and just select any/all of the options? When I tried that, I get the following error:
{"$id":"1","innerException":null,"message":"TF400813: The user '<github user id>' is not authorized to access this resource.","typeName":"Microsoft.TeamFoundation.Framework.Server.UnauthorizedRequestException, Microsoft.TeamFoundation.Framework.Server","typeKey":"UnauthorizedRequestException","errorCode":0,"eventId":3000}
You should be able to download the nuget.zip
You should be able to download the
nuget.zip
Ah, thank you! I was able to download just that file, which contains all the built nupkgs.
My partially built output folder seems to have a different layout with nuget subfolders:
output/
HarfBuzzSharp/
nuget/
SkiaSharp/
nuget/
SkiaSharp.HarfBuzz/
nuget/
SkiaSharp.Views/
nuget/
SkiaSharp.Views.Forms/
nuget/
so I'm guessing I have to unzip the contents of the nupkgs into their respective nuget subfolders in order to get the Managed-only build to be able to use them? (I'll try that 1st thing tomorrow.)
Thanks again and apologies for all the questions as I'm rather new to SkiaSharp.