Meson 0.58 montaj sisteminin buraxılışı. C dilində Meson tətbiqinin yaradılması layihəsi

X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME və GTK kimi layihələrin qurulması üçün istifadə edilən Meson 0.58 qurma sisteminin buraxılışı nəşr olundu. Meson kodu Python-da yazılmışdır və Apache 2.0 lisenziyası altında lisenziyalıdır.

Meson-un əsas inkişaf məqsədi rahatlıq və istifadə rahatlığı ilə birlikdə yüksək sürətli montaj prosesini təmin etməkdir. Yaratmaq əvəzinə, quruluş standart olaraq Ninja alət dəstindən istifadə edir, lakin xcode və VisualStudio kimi digər arxa hissələrdən də istifadə edilə bilər. Sistem, paylamalar üçün paketlər yaratmaq üçün Meson-dan istifadə etməyə imkan verən daxili çox platformalı asılılıq işləyicisinə malikdir. Montaj qaydaları sadələşdirilmiş domenə xas dildə qurulur, onlar yaxşı oxunaqlıdır və istifadəçi üçün başa düşüləndir (müəlliflərin fikrinə görə, tərtibatçı qaydaların yazılmasına minimum vaxt sərf etməlidir).

GCC, Clang, Visual Studio və digər kompilyatorlardan istifadə edərək Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS və Windows üzərində çarpaz tərtib və tikinti dəstəklənir. C, C++, Fortran, Java və Rust daxil olmaqla müxtəlif proqramlaşdırma dillərində layihələr qurmaq mümkündür. Yalnız sonuncu qurmadan sonra edilən dəyişikliklərlə birbaşa əlaqəli olan komponentlərin yenidən qurulduğu artımlı qurma rejimi dəstəklənir. Meson təkrarlanan quruluşlar yaratmaq üçün istifadə edilə bilər, burada quruluşun müxtəlif mühitlərdə işlədilməsi tamamilə eyni icra edilə bilənlərlə nəticələnir.

Meson 0.58-ın əsas yenilikləri:

  • Meson daxili simli formatlaşdırma əməliyyatlarına malikdir. Format metodunu çağırmaq əvəzinə, indi dəyərləri birbaşa əvəz edə bilərsiniz, məsələn, “'A string @0@ to be formatted @1@'.format(n, m)” əvəzinə dərhal “f' təyin edə bilərsiniz. @n@ sətri formatlaşdırılacaq @ m@'".
  • Bir alt sətri digəri ilə əvəz etmək əməliyyatını yerinə yetirmək üçün sətir obyektlərinə "dəyişdirmə" üsulu əlavə edilmişdir, məsələn, "s = s.replace('aaa', 'bbb')".
  • "foreach i : range(15)" kimi foreach dövrəsində istifadə oluna bilən obyekti qaytarmaq üçün "aralıq(start, stop[, step])" funksiyası əlavə edildi.
  • Meson.add_devenv() metodu tətbiq edilib və bu, "meson devenv" əmrindən istifadə edərkən mühit dəyişənlərini təyin etmək üçün mühit () obyektini əlavə etməyə imkan verir, məsələn, plaginlər qovluğuna gedən yol ilə mühit dəyişənini təyin etmək üçün.
  • İnkişaf mühitləri üçün yeni əmr təklif edilmişdir: “meson devenv -C builddir [<command>], bu əmri tikinti kataloqundan layihələri işə salmaq üçün konfiqurasiya edilmiş mühitdə (quraşdırma olmadan) işə salmağa imkan verir.
  • Varsayılan olaraq, bütün dəstəklənən kompilyatorları işə saldıqda "-pipe" seçimi dayandırılır.
  • Alt layihələrdən meson.add_dist_script() çağırışına icazə verilir.
  • append() və prepend() metodlarını eyni mühit() obyektində bir neçə dəfə işlətmək imkanı təmin edilmişdir.
  • error() funksiyası boşluqla ayrılmış birdən çox arqumentə imkan verir (xəbərdarlıq() və mesaj() kimi).
  • Alt layihələrin quraşdırılmasını seçici şəkildə atlamaq üçün "--skip-subprojects" seçimi əlavə edildi.

Python əvəzinə C dilində yazılmış Meson montaj skript dilinin portativ və sadə tətbiqini yaratmağa yönəlmiş Boson layihəsini ayrıca qeyd edə bilərik. Layihə hələ inkişafın ilkin mərhələsindədir və işçi layihələrin tam yığılması üçün hələ hazır deyil. Kod GPLv3 altında lisenziyalaşdırılıb (orijinal Python Meson Apache 2.0 lisenziyası ilə lisenziyalaşdırılıb).

Mənbə: opennet.ru

Добавить комментарий