-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ruby 3.x support #140
base: master
Are you sure you want to change the base?
Ruby 3.x support #140
Conversation
…ld tasks in Rakefile. Gemspec no longer builds any externals, but only raises error if any missing is found
…apps are containerized
…ng nil when compile_taks == windows_forms
@bensandland huge thanks for your continued contribution and effort! I had a first quick look by just reading the changes. Will have a more thorough look at one point, but will not promise anything specific. My first question - previously this gem was released by |
Should be able to do that again. The Bundler::GemHelper.install_tasks call adds the build, install and release tasks. |
Sorry for taking so long to look at this in more detail. I managed to run specs using Ruby 3, but after these changes it's not possible to run specs on 32bit Ruby anymore, which are passing without these changes (I was using ruby 2.6.5p114 (2019-10-01 revision 67812) [i386-mingw32]). Here's what I see when trying to run
|
I have been working on adding functionality to build the gem for the mingw-ucrt platform.
In order to do that I have modified the Rakefile, made a "compile" task and modified the previously defined "build" task.
The build task will iterate through the supported platforms, build the externals (if .dll is missing) and then move the DLLs from eg 'x86Release' -> 'Release' and then the gem is built.
This results in 4 .gem files in the pkg directory, x86/x64-mingw + x86/x64-mingw-ucrt.
These changes also means that the compilation and moving of files is all handled in the Rakefile, and the .gemspec only notifies for any missing DLLs. This does however mean that building the Gem is best done through the Rakefile, since running "gem build rautomation" will assume the DLLs are compiled and placed within their respective "Release" folder.
To compile and build the .gem files use rake task build or install
Regarding the change from notepad to regedit in the specs I changed this because I was no longer able to interact with notepad on Windows 11. It seems like the UWP apps are containerized in some way and automating these has to be done with a different API
Apologies for the messy commit. I ended up doing too many things at once after parking the task for a bit.
Let me know if you have any questions or suggestions regarding this update.