Waf - Waf - Wikipedia
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Únor 2012) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Vývojáři | Thomas Nagy |
---|---|
Stabilní uvolnění | 2.0.20 / 24. listopadu 2019 |
Úložiště | ![]() |
Napsáno | Krajta[1] |
Operační systém | SLEČNA Okna, POSIX |
Typ | Nástroje pro vývoj softwaru |
Licence | Nová licence BSD (zdrojový kód), CC-BY-NC-ND (dokumentace) |
webová stránka | waf |
Waf je stavět automatizaci nástroj určený k automatické asistenci sestavení a instalace počítačový software. Je napsán v Krajta a udržuje ji Thomas Nagy.
Waf zdrojový kód je open source software, vydané v souladu s podmínkami Nová licence BSD, ačkoli jeho doprovodná dokumentace je pod CC-BY-NC-ND licence, která zakazuje úpravy i komerční redistribuci: to brání prodejcům, jako je Debian projekt zahrnutí dokumentace Waf do jejich distribucí.
Dějiny
Thomas Nagy vytvořil nástroj pro automatizaci sestavení s názvem BKsys který byl navržen tak, aby seděl na vrcholu SCons, poskytující funkčnost vyšší úrovně podobnou té z Automatické nástroje. To byla součást snahy o změnu KDE od společnosti Autotools k modernějšímu systému sestavování v počátečních fázích KDE 4 vývojový cyklus. BKsys / SCons byl vybrán komunitou KDE jako svůj nový standardní systém sestavení.[2] Když se Thomas Nagy rozhodl, že základní problémy SCons (zejména špatná škálovatelnost) jsou příliš složité a časově náročné na řešení, zahájil kompletní přepsat kterou pojmenoval Waf. Protože BKsys byl uznán jako slepá ulička, KDE se rozhodlo přejít na CMake namísto;[3] Waf však zůstal zachován jako individuální projekt a od té doby zaznamenal plodný rozvoj a přijetí jinými komunitami.
Funkce
Funkce Waf:
- Přenosný do unixových i neunixových systémů
- Lehká váha
- Nabídky a Turing-kompletní programovací jazyk (podobně jako SCons )
- Podpora standardních cílů: konfigurovat, vytvářet, čistit, distcleanovat, instalovat a odinstalovat
- Paralelní sestavení
- Barevný výstup a ukazatel průběhu
- Skripty jsou moduly Pythonu
- Front-end skriptů XML a vyhrazený, snadno analyzovatelný režim „IDE output“ pro usnadnění interakce s integrovanými vývojovými prostředími
- Modulární konfigurační schéma s možností přizpůsobení příkazový řádek analýza
- Režim Daemon pro rekompilaci na pozadí
- Inteligentně vyhledejte zdrojové soubory (glob () -like) pro usnadnění údržby skriptu
- Podpora globální mezipaměti objektů, aby se předešlo zbytečným rekompilacím
- Podpora jednotkových testů spuštěných v programech na konci sestavení
Waf podporuje:
- A C /C ++ preprocesor pro výpočet závislostí
- Fortran je podporována automatizovanou detekcí závislostí modulů
- Podpora pro OCaml a hybridní programy a pro GNOME programy
- Podpora pro D programovací jazyk (podporovány jsou gdc i dmd)
- Podpora pro C#, Jáva, Krajta projekt
- Poskytuje různé nástroje pro zpracování DocBook, manuálové stránky, intltool / msgfmt
Waf je napsán v Krajta. Spíše než být zamýšlen nainstalován jako nezbytná součást systémového softwaru, jako u sestavovacích systémů, jako je GNU make, je distribuován jako skript včetně vloženého archivní soubor, který má být spuštěn k rozbalení zdrojů Waf do vlastního zdrojového stromu projektu.
Licence
Waf zdrojový kód je vydáván v souladu s podmínkami Nová licence BSD. Nagyovým záměrem však je, aby byl Waf zahrnut spíše jako součást individuálního softwarového projektu, než aby byl instalován jako systém sestavení celého systému. Za tímto účelem je dokumentace, která je dodávána jako součást vydání Waf, pod CC-BY-NC-ND licence, která zakazuje jak modifikaci, tak komerční přerozdělování: tato změna byla provedena, aby se zamezilo Debian projekt zahrnující Waf jako systémový softwarový balíček.[4] Zatímco Debian se zpočátku jednoduše zdržel zahrnutí dokumentace, přímý požadavek Nagy způsobil, že Debian odstranil Waf a odrazil od jeho použití jako build systému.[5]
Vývojář Debianu Ian Jackson se domníval, že používání Waf, jak je distribuováno v systému sestavení softwaru podle podmínek GNU General Public License (GNU GPL) by bylo v rozporu s podmínkami této licence, protože rozbalovací skript vytváří zmatený kopii původního zdrojového kódu namísto „upřednostňovaného formuláře pro úpravu“, jak to vyžaduje znění GPL o systémech sestavení.[6]
Viz také
Reference
- ^ "Waf". Shrnutí analýzy. Ohloh. Citováno 2010-12-19.
- ^ Riddell, Jonathan. „KDE k migraci na systém sestavení bksys / SCons“. KDE Dot News. Citováno 9. května 2012.
- ^ Unrau, Troy. „The Road to KDE 4: CMake, a New Build System for KDE“. KDE Dot News. Citováno 9. května 2012.
- ^ Nagy, Thomas (2. října 2009), „Konfigurační prostředí ve vlastních cílech“, Uživatelé Waf (seznam adresátů), Google.
- ^ Falavigna, Luca (27. února 2010), „Záměr odebrat waf z Debianu“, Debian devel (seznam adresátů), Debian.
- ^ Jackson, Ian (7. února 2012), „Neobsahuje zdroj pro binární kód waf“, Debian devel (seznam adresátů), Debian.