Přeskočit na hlavní obsah

Artefakt Unity

Přenosná zdrojová distribuce frameworku Unity (ThrowTheSwitch/Unity), odlehčeného frameworku pro unit testy v C, určeného pro embedded cíle. Tento repozitář využívá Artifact Handler platformy Embedbits k vyhledání, stažení, ověření a konfiguraci Unity v navazujících embedded projektech — typicky společně s artefaktem CMock (generování mocků) a artefaktem Ruby (interpret pro generátorové skripty CMocku / Unity).

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é zdrojové balíčky 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)
└── CMakeUnityDefaults.cmake ← Unity integration logic (library target / include setup)

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

Role v platformě​

GitHub (ThrowTheSwitch) GitHub (Embedbits)
────────────────────────────────────── ──────────────────────────────────────────
ThrowTheSwitch/Unity Artifact-unity
tag "v2.6.1" (source) ──► main / master → README only (this document)
Core → ArtifactConfig.cmake, CMakeUnityDefaults.cmake
Bin → Anchor branch (empty commits)
Releases → unity-<version>.zip + .hash
tagged Bin/<version>

Unity_Importer.sh naklonuje upstream repozitář u každého release tagu (vX.Y.Z, release kandidáty se ignorují), ověří vyčtený tag, odstraní metadata .git, přidá textový soubor VERSION a zazipuje strom zdrojových kódů. Unity je přenosný zdrojový kód v C kompilovaný přímo do testovacího projektu, takže vydání nemají příponu platformy — jsou označena prostě Bin/<version> (prefix v se vypouští).


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>GitHub Release obsahující zdrojový balíček .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>. CMake handler obě varianty zpracuje transparentně.


Stažení vydání​

# Core handler scripts
git clone --branch Core --single-branch --depth=1 <repository_url> unity-core

# Source package + checksum for one specific version (GitHub Release asset)
gh release download Bin/2.6.1 --repo Embedbits/Artifact-unity --pattern "unity-2.6.1.*"

Struktura balíčku​

unity-<version>.zip
└── unity/
├── VERSION ← plain-text version, e.g. "2.6.1"
├── src/ ← unity.c, unity.h, unity_internals.h
├── extras/ ← optional add-ons (fixture, memory, bdd)
├── auto/ ← Ruby helper scripts (test runner generator, ...)
└── ... ← upstream docs, examples, build files

Skripty v Ruby v adresáři auto/ (např. generate_test_runner.rb) vyžadují interpret Ruby — použijte artefakt Ruby.


Verzování​

Verze artefaktů přímo odpovídají oficiálním release tagům Unity s odstraněným prefixem v:

2.5.2, 2.6.0, 2.6.1, 2.7.0, ...

Licence​

Unity je distribuováno pod licencí MIT License. Podrobnosti: https://github.com/ThrowTheSwitch/Unity/blob/master/LICENSE.txt


Autoři​

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