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 platformy | Cíl | Upstream zdroj |
|---|---|---|
Win | Windows x86_64 (UCRT) | RubyInstaller2 — přenosný archiv .7z (bez instalátoru, bez MSYS2 DevKit) |
Unix | Linux x86_64 (glibc) | Homebrew portable-ruby — bottle x86_64_linux |
DarwinARM | macOS 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 / Ref | Obsah |
|---|---|
main / master | Pouze tento README — žádný funkční obsah |
Core | Skripty CMake handleru pro použití artefaktu |
Bin | Pouze 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+.hashpřímo do větveBina tento commit označí tagemBin/<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
- Mr.Nobody — embedbits.com
Příspěvky jsou vítány! Otevřete prosím pull request.