I whakaputaina e Facebook te punaha hanga Buck2

I whakauruhia e Facebook he punaha hanga hou, Buck2, e whai ana ki te whakarite i te hanga kaupapa mai i nga whare putunga nui rawa atu, tae atu ki te waehere i roto i nga reo hotaka rereke. Ko nga rereketanga nui i waenga i te whakatinanatanga hou me te punaha Buck i whakamahia i mua i Facebook ko te whakamahi i te reo Rust hei utu mo Java me te pikinga nui o te pai me te hua o te tukanga huihuinga (i roto i nga whakamatautau o roto i te hanganga kotahi, ka mahi a Buck2 i te huihuinga. e rua te tere o nga mahi i to Buck). Ka tohatohahia te waehere i raro i te raihana Apache 2.0.

Kaore te punaha e herea ki te huihuinga o te waehere i roto i nga reo motuhake me waho o te pouaka e tautoko ana i te huihuinga o nga kaupapa i tuhia ki nga reo C ++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell me OCaml , whakamahia e Facebook. Ko te reo Starlark, i runga i te Python (penei i a Bazel), ka whakamahia hei hoahoa taapiri, hanga tuhinga me nga ture. Ka taea e Starlark te whakawhānui ake i nga kaha o te punaha huihuinga me te tango mai i nga reo motuhake e whakamahia ana i roto i nga kaupapa kua kohia.

Ka taea te mahi teitei na roto i te keteroki o nga hua, te whakarara o nga mahi me te tautoko mo te mahi mamao o nga mahi (Te Mahi Mamao Hanga). I roto i te taiao huihuinga, ka whakamahia te ariā o te "hermeticity" - ka tapahia te waehere kua huihui mai i te ao o waho, kaore he mea e utaina mai i waho i te wa o te huihuinga, a ko nga mahi mahi i runga i nga punaha rereke ka puta he hua ano ( ko nga huihuinga tukurua, hei tauira, ko te hua o te whakahiato i tetahi kaupapa i runga i te miihini a te kaiwhakawhanake ka tino rite ki te hanga i runga i te tūmau whakauru tonu). Ko te ahuatanga o te kore o te whakawhirinaki ka kiia he hapa i Buck2.

Ko nga ahuatanga matua o Buck2:

  • Ko nga ture mo te tautoko i nga reo hotaka me te kaupapa o te punaha huihuinga he tino wehe. Ko nga ture e whakamahi ana i te reo Starlark, a ko te kete taputapu me te whakatinanatanga a Starlark ka tuhia ki Rust.
  • Ka whakamahia e te punaha huihuinga te kauwhata whakawhirinaki kotahi (kaore he wehewehenga ki nga waahanga), ka taea te whakanui ake i te hohonutanga o te whakarara o nga mahi ka whakaritea ki a Buck me Bazel me te karo i nga momo hapa maha.
  • Ko te waehere Buck2 i whakaputaina i runga i te GitHub me nga ture mo te tautoko i nga reo hötaka he rite tonu ki te putanga o roto e whakamahia ana i roto i te hangahanga Facebook (ko nga rereketanga anake e pa ana ki nga whakaputanga o nga kaitoi me nga kaitoro huihuinga e whakamahia ana i Facebook).
  • I hangaia te punaha huihuinga me te titiro ki te whakauru ki nga punaha whakahaere mahi mamao e taea ai e koe te whakahaere mahi i runga i nga kaitoro mamao. He hototahi te API mahi mamao ki a Bazel ka whakamatauria mo te hototahi ki a Buildbarn me EngFlow.
  • Ko te whakaurunga me nga punaha konae mariko ka tukuna, ka whakaatuhia nga ihirangi o te putunga katoa, engari ko te tikanga, kei te whakahaerehia nga mahi me tetahi waahanga o naianei o te waahi o te putunga (ka kite te kaiwhakawhanake i te katoa o te putunga, engari ko nga konae e hiahiatia ana. Ko nga mea e uru atu ana ka tangohia mai i te putunga). Ko te VFS i runga i EdenFS me Git LFS, e whakamahia ana i roto i te Sapling, e tautokohia ana.

Source: opennet.ru

Tāpiri i te kōrero