Přeskočit na hlavní obsah

Artefakt Ruby

Přenosná, soběstačná distribuce interpretu Ruby. Tento repozitář využívá Artifact Handler platformy Embedbits k vyhledání, stažení, ověření a konfiguraci interpretu Ruby v navazujících embedded build nástrojích — především ke spouštění generátoru mocků CMock a skriptů generátoru test runnerů Unity bez závislosti na tom, jaké Ruby je (či není) nainstalováno na hostitelském stroji.

Tento repozitář je podle rolí rozdělen na tři větve/refy — větev main (master), kterou právě čtete, obsahuje pouze tuto dokumentaci; skripty handleru jsou ve větvi Core a verzované binárky jsou publikovány jako GitHub Releases ukotvené ve větvi Bin.


Obsah repozitáře​

main / master
└── README.md ← This document — no other content

Core
├── ArtifactConfig.cmake ← Artifact metadata (name, version constraints, asset naming)
└── CMakeRubyDefaults.cmake ← Ruby integration logic (interpreter path setup)

Bin (anchor branch — no tracked binary files)
└── (empty commits only; each release tag points here)

Role v platformě​

Upstream GitHub (Embedbits)
────────────────────────────────────── ──────────────────────────────────────────
oneclick/rubyinstaller2 Artifact-ruby
rubyinstaller-<ver>-<rev>-x64.7z ──► main / master → README only (this document)
Homebrew/homebrew-portable-ruby Core → ArtifactConfig.cmake, CMakeRubyDefaults.cmake
portable-ruby-<ver>.<os>.bottle.tar.gz Bin → Anchor branch (empty commits)
Releases → ruby-<version>-<platform>.zip + .hash
tagged Bin/<version>-<platform>

Upstream Ruby publikuje pouze zdrojové kódy, proto Ruby_Importer.sh kombinuje dva dobře udržované zdroje přenosných buildů a oba přebalí do .zip tak, aby kořen instalace Ruby (bin/, lib/, ...) ležel na nejvyšší úrovni archivu.


Podporované platformy​

Kód platformyCílUpstream zdroj
WinWindows x86_64 (UCRT)RubyInstaller2 — přenosný archiv .7z (bez instalátoru, bez MSYS2 DevKit)
UnixLinux x86_64 (glibc)Homebrew portable-ruby — bottle x86_64_linux
DarwinARMmacOS arm64 (11+)Homebrew portable-ruby — bottle arm64_big_sur

Pokrytí verzí se mezi platformami liší. RubyInstaller2 publikuje každé vydání Ruby, zatímco Homebrew sestavuje pouze verze, které sám vendoruje. Daná verze tak může existovat jen jako Bin/<version>-Win. Zvolte verzi dostupnou pro všechny platformy, které váš projekt potřebuje (např. 3.4.5).

Pokud upstream přebaluje stejnou verzi Ruby (přípona -<rev> u RubyInstalleru, přípona _<rev> u Homebrew), importuje se pouze nejvyšší revize. Upstream prerelease verze se ignorují.


Struktura větví​

Větev / RefObsah
main / masterPouze tento README — žádný funkční obsah
CoreSkripty CMake handleru pro použití artefaktu
BinPouze kotvicí větev — nejsou zde commitovány žádné binárky
Release tag Bin/<version>-<platform>GitHub Release obsahující archiv .zip a soubor s kontrolním součtem .hash

Poznámka: Na Git hostingu bez Releases API (Azure DevOps) stejný importér commituje .zip + .hash přímo do větve Bin a tento commit označí tagem Bin/<version>-<platform>. CMake handler obě varianty zpracuje transparentně.


Stažení vydání​

gh release download Bin/3.4.5-Unix --repo Embedbits/Artifact-ruby --pattern "ruby-3.4.5-Unix.*"

Struktura balíčku​

ruby-<version>-<platform>.zip
├── bin/ ← ruby / ruby.exe, gem, bundle, ...
├── lib/ ← standard library and default gems
└── ...

Verzování​

Verze artefaktů přímo odpovídají verzím vydání Ruby:

3.3.8, 3.4.5, 4.0.7, ...

Poznámky​

  • Není nutná instalace — oba upstream buildy jsou přemístitelné a běží z libovolného adresáře.
  • Build pro Windows neobsahuje MSYS2 DevKit, takže s ním nelze kompilovat gemy s nativními rozšířeními v C. Nástroje v čistém Ruby, jako CMock a skripty Unity, jej nepotřebují.
  • Offline použití je podporováno, jakmile je artefakt lokálně v cache.

Licence​

Ruby je distribuováno pod duální licencí Ruby License / BSD-2-Clause. Podrobnosti: https://www.ruby-lang.org/en/about/license.txt

Buildy RubyInstaller2 a Homebrew portable-ruby obsahují další knihovny třetích stran (OpenSSL, libyaml, libffi, zlib a další), každou pod její vlastní licencí.


Autoři​

Příspěvky jsou vítány! Otevřete prosím pull request.