Class: RubyInstaller::Build::Components::Msys2
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Base ,
Rake::Task
|
|
Instance Chain:
self,
Base ,
::RubyInstaller::Build::Colors ,
Rake::Task
|
|
Inherits: |
RubyInstaller::Build::Components::Base
|
Defined in: | lib/ruby_installer/build/components/01_msys2.rb |
Constant Summary
-
MSYS2_SHA256 =
# File 'lib/ruby_installer/build/components/01_msys2.rb', line 47"9ab223bee2610196ae8e9c9e0a2951a043cac962692e4118ad4d1e411506cd04"
-
MSYS2_URI =
# File 'lib/ruby_installer/build/components/01_msys2.rb', line 46"https://repo.msys2.org/distrib/x86_64/msys2-x86_64-#{MSYS2_VERSION}.exe"
-
MSYS2_VERSION =
# File 'lib/ruby_installer/build/components/01_msys2.rb', line 45ENV['MSYS2_VERSION'] || "20221028"
::RubyInstaller::Build::Colors
- Included
Class Method Summary
Instance Attribute Summary
Base
- Inherited
Instance Method Summary
- #description
- #execute(args)
- #needed?(try_kill: true) ⇒ Boolean
- #msys2_download_hash private
- #msys2_download_uri private
Base
- Inherited
#autorebase, #check_hash, #download, #kill_all_msys2_processes, #puts, #run_verbose, | |
#shell_escape | This is extracted from github.com/larskanis/shellwords. |
#shell_join |
::RubyInstaller::Build::Colors
- Included
Constructor Details
This class inherits a constructor from RubyInstaller::Build::Components::Base
Instance Method Details
#description
[ GitHub ]# File 'lib/ruby_installer/build/components/01_msys2.rb', line 5
def description "MSYS2 base installation" end
#execute(args)
[ GitHub ]# File 'lib/ruby_installer/build/components/01_msys2.rb', line 30
def execute(args) hash = ENV['MSYS2_VERSION'] ? nil : msys2_download_hash downloaded_path = download(msys2_download_uri, hash) puts "Run the MSYS2 installer ..." if run_verbose(downloaded_path) && msys.with_msys_apps_enabled { run_verbose("sh", "-lc", "true") } puts green(" Success") else puts red(" Failed") raise "MSYS2 installer failed.\n\nYou might download MSYS2 from the official site: https://www.msys2.org/ and run the installer manually.\nThen you can use 'ridk install' to install necessary tools and to keep MSYS2 up-to-date." end end
#msys2_download_hash (private)
[ GitHub ]# File 'lib/ruby_installer/build/components/01_msys2.rb', line 53
def msys2_download_hash MSYS2_SHA256 end
#msys2_download_uri (private)
[ GitHub ]# File 'lib/ruby_installer/build/components/01_msys2.rb', line 49
def msys2_download_uri MSYS2_URI end
#needed?(try_kill: true) ⇒ Boolean
# File 'lib/ruby_installer/build/components/01_msys2.rb', line 9
def needed?(try_kill: true) begin autorebase if msys.with_msys_apps_enabled(if_no_msys: :raise) { run_verbose("sh", "-lc", "true") } puts "MSYS2 seems to be " + green("properly installed") false else if try_kill # Already running MSYS2 processes might interference with our MSYS2 through shared memory. kill_all_msys2_processes return needed?(try_kill: false) end true end rescue Msys2Installation::MsysNotFound puts "MSYS2 seems to be " + red("unavailable") true end end