Google nuju ngembangkeun sistem assembly modular Soong pikeun Android

Google nuju ngembangkeun sistem ngawangun Soong, dirancang pikeun ngaganti Aksara ngawangun heubeul pikeun platform Android, dumasar kana pamakéan utiliti make. Soong nyarankeun ngagunakeun déklaratif basajan déskripsi aturan pikeun assembling modul, dibikeun dina file kalawan extension ".bp" (blueprints). Format file caket sareng JSON sareng, upami mungkin, malikan sintaksis sareng semantik file assembly Basel. Kodeu ditulis dina Go sareng disebarkeun dina lisénsi Apache 2.0.

File ngawangun Soong henteu ngadukung pernyataan kondisional sareng éksprési branching, tapi ngan ngajelaskeun struktur proyék, modul sareng kagumantungan anu dianggo nalika ngawangun. File anu bakal diwangun dijelaskeun nganggo masker sareng dikelompokkeun kana bungkusan, anu masing-masing mangrupikeun kumpulan file anu aya hubunganana. Kasebut nyaéta dimungkinkeun pikeun nangtukeun variabel. Variabel sareng sipat diketik sacara ketat (tipe variabel dipilih sacara dinamis nalika ngerjakeun heula, sareng pikeun sipat statik gumantung kana jinis modul). Unsur kompléks logika assembly dipindahkeun ka pawang, ditulis dina basa Go.

Soong intertwines jeung proyék nu leuwih gede Blueprint, dimana sistem meta-assembly teu aya hubunganana sareng Android dikembangkeun, anu, dumasar kana file kalayan déskripsi modul déklaratif, ngahasilkeun skrip assembly ninja (panggantian pikeun make), ngajéntrékeun paréntah anu kudu dijalankeun pikeun ngawangun sarta kagumantungan. Gantina ngagunakeun aturan kompléks atawa basa domain-spésifik pikeun ngartikeun logika ngawangun, Blueprint ngagunakeun pawang husus proyék dina basa Go (Soong dasarna mangrupa susunan pawang sarupa pikeun Android).

Pendekatan ieu ngamungkinkeun pikeun proyék-proyék ageung sareng hétérogén, sapertos Android, pikeun nerapkeun unsur kompleks logika assembly dina kode dina basa program tingkat luhur, bari ngajaga kamampuhan pikeun nyieun parobahan modul nu patali jeung organisasi assembly jeung struktur proyék ngagunakeun sintaksis déklaratif basajan. . Contona, dina Soong, pamilihan bandéra kompiler dilakukeun ku pawang llvm.go, sarta aplikasi setelan husus pikeun arsitéktur hardware dilaksanakeun ku Handler nu seni. indit, tapi linking file kode dilumangsungkeun dina file ".bp".

cc_library {
...
srcs: ["generic.cpp"],
lengkung: {
panangan: {
srcs: ["arm.cpp"],
},
x86:
srcs: ["x86.cpp"],
},
},
}

sumber: opennet.ru

Tambahkeun komentar