Google iri kugadzira modular assembly system Soong ye Android

Google iri kugadzira hurongwa hwekuvaka Soong, yakagadzirirwa kutsiva zvinyorwa zvekare zvekuvaka zveAroid platform, zvichibva pakushandiswa kwekugadzira. Soong anokurudzira kushandisa chirevo chiri nyore tsananguro mitemo yekuunganidza modules, kupiwa mumafaira ane kuwedzera ".bp" (blueprints). Iyo faira fomati iri padyo neJSON uye, kana zvichibvira, inodzokorora syntax uye semantics yemafaira egungano bazel. Iyo kodhi yakanyorwa muGo uye yakagoverwa pasi peiyo Apache 2.0 rezinesi.

Nenguva isipi mafaira ekuvaka haatsigire zvirevo zvemamiriro uye matangi ekutaura, asi anongotsanangura chimiro cheprojekiti, mamodule uye zvinotsamira zvinoshandiswa pakuvaka. Iwo mafaera ari kuvakwa anotsanangurwa achishandisa masks uye akaiswa mumapakeji, imwe neimwe iri muunganidzwa wemafaira ane zvinoenderana nehukama. Zvinokwanisika kutsanangura zvakasiyana-siyana. Zvinosiyana-siyana uye zvivakwa zvinonyatso kutaipa (rudzi rwezvinosiyana zvinosarudzwa zvine simba pane yekutanga kupihwa, uye yezvivakwa statically zvichienderana nerudzi rwemodule). Zvinhu zvakaomarara zvemusangano logic zvinofambiswa kune vanobata, zvakanyorwa mumutauro weGo.

Nenguva isipi inopindirana neprojekti yakakura bhurani, mukati meiyo meta-assembly system isina kusungirirwa ku Android iri kugadzirwa, iyo, zvichibva pamafaira ane declarative module tsananguro, inogadzira zvinyorwa zvegungano. Ninja (kutsiva kugadzira), kutsanangura mirairo inoda kumhanyiswa kuvaka uye zvinotsamira. Panzvimbo pekushandisa mitemo yakaoma kana kuti mutauro wakanangana nedomeini kutsanangura pfungwa yekuvaka, Blueprint inoshandisa zvibatiso zvepurojekiti mumutauro weGo (Soong inotova seti yezvibatiri zvakafanana zveAndroid).

Iyi nzira inobvumira mapurojekiti makuru uye akasiyana-siyana, akadai seAroid, kushandisa zvinhu zvakaoma zvegungano rekodhi mumutauro wepamusoro-soro wepurogiramu, uchichengetedza kukwanisa kuita shanduko kumamodule ane chokuita nesangano regungano uye chimiro chepurojekiti uchishandisa nyore declarative syntax. . Semuyenzaniso, muSoong, kusarudzwa kwemukongiri mireza kunoitwa nemubati llvm.go, uye kushandiswa kwezvigadziriso zvakananga kune hardware architectures inoitwa nemubati art.go, asi kubatanidza kwekodhi mafaira kunoitwa mu ".bp" faira.

cc_library {
...
srcs: ["generic.cpp"],
arch: {
ruoko: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}

Source: opennet.ru

Voeg