Deprecate cef.redist packages
amaitland opened this issue · 14 comments
- Add extra copy of locales to
chromiumembeddedframework.runtime
arch specific packages - Move Copy targets into
chromiumembeddedframework.runtime
arch specific packages - chromiumembeddedframework.runtime package would need to add support for the build folder (currently only uses buildTransitive)
Target is to make them compatible so we can deprecate the old Cef.redist packages.
Commit 8a902f2 adds the required props.
Haven't tested to see if the folder structure for the swiftshader/locales directories is preserved.
There was a problem with the net core package when using a runtime identifier, the locales/swiftshader files weren't being copied. Revert changes for now.
It doesn't look like moving the locales/swiftshader into the arch packages is possible for the net core packages. It may still be possible though not worth the effort.
Hi @amaitland,
after upgrading to CefSharp.Common.NETCore 93.1.70-CI4201
(with chromiumembeddedframework.runtime 93.1.11
), we face the issue that the locales
and swiftshader
folders are no longer copied when using a RuntimeIdentifier like win-x64
, and thus resources fail to load. Can the changes for this be reverted/fixed?
Thanks!
@kpreisser Thanks for the reminder. The changes will need to be reverted as per my comment above.
If you remove the packages from your cache and redownload them the problem should be resolved.
build https://ci.appveyor.com/project/cefsharp/cef-binary/builds/40634148 using https://github.com/cefsharp/cef-binary/tree/cef/93
I've left master
unchanged as I'll test replacing the runtime.json
with a .props/.targets
file that adds the PackageReference
entries based on RuntimeIdentifier
If that doesn't work then it's likely this idea won't work.
If you remove the packages from your cache and redownload them the problem should be resolved.
build https://ci.appveyor.com/project/cefsharp/cef-binary/builds/40634148 using https://github.com/cefsharp/cef-binary/tree/cef/93
Thanks! Using these new packages seems to work.
It appears that swiftshader
is being replaced and at some point in the future we can stop shipping the swiftshader
folder as the new dlls are included in the base directory. This will simplify our packages slightly and potentially make deprecating cef.redist easier as we only have to deal with the locales, which are likely duplicated between the different archs currently (haven't confirmed this, will need to hash them all and confirm the files are the same across the three archs)
Reference https://bitbucket.org/chromiumembedded/cef/issues/3176/win-linux-ship-vk_swiftshaderdll-vulkan
Issue https://bugs.chromium.org/p/chromium/issues/detail?id=1060139 tracks removing of Swiftshader
.
Once Swiftshader
has been removed moving locales
into a new package should be fairly trivial. I haven't checked though I suspect that locales
are the same for each arch at least the windows ones
, so we can possibly just ship a single set of files.
If we only need to ship a single set of locales
then it might be possible to use contentfiles to include the relevant files and programmatically set CefSettings.LocalesDirPath
. Haven't done any testing around this yet.
Removing of SwiftShader
has started https://bugs.chromium.org/p/chromium/issues/detail?id=1060139#c124
Swiftshader has been removed in M102
https://bitbucket.org/chromiumembedded/cef/commits/916360e2e5805e90dd69d2b3a944e16fb929ac50
We've exceeded the quote limits on MyGet
so the old cef.redist
packages will no longer be generated going forward.
They newer chromiumembeddedframework.runtime
packages will be used in CefSharp
. Anyone using the cef.redist
pacakges directly will need to migrate as well.
cef.redist.x64 => chromiumembeddedframework.runtime.win-x64
cef.redist.x86 => chromiumembeddedframework.runtime.win-x86
The packages have now been marked as deprecated on Nuget.org
.