Avalikustatud on Meson 1.12.0 versioon, mida kasutatakse projektide nagu X.Org Server, Mesa, QEMU, Lighttpd, systemd, GStreamer, Wayland, GNOME ja GTK koostamiseks. Mesoni kood on kirjutatud Pythonis ja see on litsenseeritud Apache 2.0 alla.
Mesoni arendamise peamine eesmĂ€rk on tagada ehitusprotsessi kĂ”rge kiirus koos mugavuse ja lihtsusega. Vaikimisi kasutatakse ehitamiseks make tööriista asemel Ninja tööriista, kuid on vĂ”imalik kasutada ka teisi taustsĂŒsteeme, nagu Xcode ja Visual Studio. SĂŒsteem sisaldab nelja platvormi sĂ”ltuvuste töötlejat, vĂ”imaldades Mesonit kasutada pakettide koostamiseks distributsioonide jaoks. Ehitusreeglid mÀÀratakse lihtsustatud valdkonnapĂ”hises keeles, mis on hĂ€sti loetavad ja arusaadavad kasutajatele (autorite ideede kohaselt peaks arendaja kulutama nende reeglite kirjutamisele minimaalselt aega).
Kross-compile'imine ja ehitamine Linuxis, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ja Windowsis on toetatud kasutades GCC, Clang, Visual Studio ja teisi kompilaatorite. Projektide kompileerimine erinevates programmeerimiskeeltes, sealhulgas C, C++, Fortran, Java, D ja Rust, on vĂ”imalik. Toetatakse inkrementaalset ehitusreĆŸiimi, kus uuendatakse ainult komponente, mis on otseselt seotud muudatustega, mis tehti alates viimasest ehitusest. Mesoni saab kasutada korduvate ehituste loomiseks, kus ehituse kĂ€ivitamine erinevates keskkondades toob kaasa tĂ€iesti identsed tĂ€idetavad failid.
Meson 1.12 peamised uuendused:
- Lisatud on CACHEDIR.TAG faili tugi, mis asub koostamiskaustas, et vÀltida ajutiste failide kaasamist varukoopiatesse.
- Lisatud on koostamise eesmÀrk clippy-json, mis kÀivitab Clippy lintimise tööriista ja genereerib Rust-analyzatori jaoks hoiatuste ja vigade teavet JSON formaadis.
- Lisatud objekt ja funktsioon default(), mis on mÔeldud nimeliste argumentide lÀhtestamiseks vaikevÀÀrtustele.
- Generator.process() meetodisse on lisatud 'depends' argument, mis vÔimaldab otse siduda genereeritud failid teiste koostamise eesmÀrkidega.
- Objekti 'include_directories' jaoks on lisatud meetod to_list(), mis vĂ€ljastab ĂŒhendatud kaustade absoluutsete teede nimekirja.
- Lisatud on funktsioonid stringide konverteerimiseks tĂ€isarvudeks ja vastupidi â str.to_int() ja int.to_string().
- KĂ€sku 'meson format' on lisatud valik '--subprojects', mida saab kasutada koos '--recursive' valikuga alaprojektide rekursiivseks analĂŒĂŒsimiseks.
- Lisatud on OpenHarmony ja HarmonyOS (OHOS) platvormide tugi, mida töödeldakse nagu Androidi.
- Oma koostamise eesmÀrke ja teste mÀÀrates on lubatud kasutada vÀliseid programme nimeliste argumentide 'input' ja 'depends' sisestamiseks.
- Alaprojektide eraldi koostamine on vÔimalik koostamiskasutaja ja sihtplatvormi jaoks, mÀrkides subproject() ja meson.override_find_program() nimega argumendi 'native'.
- KÀsku 'meson test' on lisatud valik '--exclude', mis vÔimaldab teatud teste vahele jÀtta.
- Toetuse lÔpetamine Python 3.7, 3.8 ja 3.9 jaoks.
Allikas: opennet.ru
