Facebook edita systema aedificandi Buck2

Facebook novum systema aedificandi intulit, Buck2, destinavit ad fabricam consiliorum ex amplissimis repositoriis ordinandis, incluso codice in variis linguis programmandi. Claves differentiae inter novam exsecutionem et Buck systema antea ad Facebook adhibitum sunt usus Rust linguae pro Java et notabile incrementum in efficientia et fructibus processus conventus (in probatis internis in eadem infrastructura, Buck2 conventum facit. pensa bis quantum Buck). Codex sub Apache 2.0 licentia distribuitur.

Ratio coetui codicis certis in linguis non ligatur et extra pixidem sustinet conventum inceptorum in linguis C ++, Python, Rust, Kotlin, Erlang, Swift, obiectiva-C, Haskell et OCaml , usus est a Facebook. Lingua Starlark, innixa Pythone (ut in Bazel), designatur additiones, scripta et regulas construendi. Starlark permittit tibi ut facultates systematis conventus dilatare et abstrahere a certis linguis in inceptis collectis adhibitis.

Altus effectus fit per caching effectus, parallelizationem laboris ac sustentationem pro remota officiorum executione (Remote Build Execution). In ambitu conventus notio "hermetitatis" adhibetur - codice coadunato ab extra ablata est, nihil oneratur extrinsecus durante processu comitiali, et repetitae exsecutiones operis in diversis systematibus ad eundem exitum ducunt. crebris conventibus, exempli gratia, eventus congregandi consilium in machina elit, penitus idem erit ad aedificandum in servo integratione continua). Status defectus dependentiae perspicitur ut error in Buck2.

Key features of Buck2

  • Regulae ad linguam programmandi et nucleum systematis conventus omnino separatum. Praecepta linguae Starlark utuntur, et toolkit Starlark et exsecutionem Rust scripta sunt.
  • Coetus systema una graphi dependentiae incrementali utitur (sine divisione in periodos), quae sinit augere altitudinem laboris parallelizationis comparati Buck et Bazel ac multarum generum errorum vitando.
  • In codice Buck2 edito GitHub et normae programmandi linguarum sustinendae fere identificantur cum versione interna in Facebook infrastructura adhibita (solae differentiae sunt relationes ad compilatores editionum et ministrorum conventus in Facebook).
  • Systema conventuum ordinatur cum oculo ad integrationem cum remoto munere exsecutionis systematis quae te permittit ut in longinquis servientibus opus currere. Remota exsecutio API cum Bazel compatitur et probata compatibilitas cum Buildbarn et EngFlow.
  • Integratio cum virtuali lima systemata providetur, in quibus contenta totius repositorii exhibentur, re vera opus exercetur cum segmento currenti locali partis repositorii (in elit totam repositorium videt, sed tantum tabularum inquisitorum. quae accesserunt e promptuario decerpta). VFS ex EdenFS et Git LFS nituntur, quae in Sapling adhibentur, sustentantur.

Source: opennet.ru