рдлреЗрд╕рдмреБрдХрд▓реЗ Buck2 рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНтАНрдпреЛ

рдлреЗрд╕рдмреБрдХрд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдХреЛрдб рд╕рд╣рд┐рдд рдзреЗрд░реИ рдареВрд▓рд╛ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реАрд╣рд░реВрдмрд╛рдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рдирд┐рд░реНрдорд╛рдгрд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрдиреЗ рдЙрджреНрджреЗрд╢реНрдпрд▓реЗ рдирдпрд╛рдБ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА, Buck2 рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНтАНрдпреЛред Facebook рдорд╛ рдкрд╣рд┐рд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдирдпрд╛рдБ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд░ рдмрдХ рдкреНрд░рдгрд╛рд▓реА рдмреАрдЪрдХреЛ рдореБрдЦреНрдп рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдЬрд╛рднрд╛рдХреЛ рд╕рдЯреНрдЯрд╛ рд░рд╕реНрдЯ рднрд╛рд╖рд╛рдХреЛ рдкреНрд░рдпреЛрдЧ рд░ рдПрд╕реЗрдореНрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рджрдХреНрд╖рддрд╛ рд░ рдЙрддреНрдкрд╛рджрдХрддрд╛рдорд╛ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ (рдПрдЙрдЯреИ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдЖрдиреНрддрд░рд┐рдХ рдкрд░реАрдХреНрд╖рдгрд╣рд░реВрдорд╛, Buck2 рд▓реЗ рдПрд╕реЗрдореНрдмрд▓реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред рдмрдХ рднрдиреНрджрд╛ рджреЛрдмреНрдмрд░ рдЫрд┐рдЯреЛ рдХрд╛рд░реНрдпрд╣рд░реВ)ред рдХреЛрдб Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рд┐рдд рдЧрд░рд┐рдПрдХреЛ рдЫред

рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рдХреЛрдбрдХреЛ рдПрд╕реЗрдореНрдмрд▓реАрдорд╛ рдмрд╛рдБрдзрд┐рдПрдХреЛ рдЫреИрди рд░ рдмрдХреНрд╕ рдмрд╛рд╣рд┐рд░ C++, Python, Rust, Kotlin, Erlang, Swift, Objective-C, Haskell рд░ OCaml рднрд╛рд╖рд╛рд╣рд░реВрдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдХреЛ рд╕рдореНрдореЗрд▓рдирд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред , Facebook рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛред рдкрд╛рдЗрдерди (рдмрд╛рдЬреЗрд▓рдорд╛ рдЬрд╕реНрддреИ) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рд╕реНрдЯрд╛рд░рд▓рд╛рд░реНрдХ рднрд╛рд╖рд╛ рдПрдб-рдЕрдирд╣рд░реВ рдбрд┐рдЬрд╛рдЗрди рдЧрд░реНрди, рд▓рд┐рдкрд┐рд╣рд░реВ рд░ рдирд┐рдпрдорд╣рд░реВ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред Starlark рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдХреНрд╖рдорддрд╛рд╣рд░реВ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реНрди рд░ рдПрд╕реЗрдореНрдмрд▓ рдЧрд░рд┐рдПрдХрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рд╣рд░реВрдмрд╛рдЯ рд╕рд╛рд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдорд╣рд░реВрдХреЛ рдХреНрдпрд╛рд╕рд┐рдВрдЧ, рдХрд╛рд░реНрдпрдХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░реАрдХрд░рдг рд░ рдХрд╛рд░реНрдпрд╣рд░реВрдХреЛ рд░рд┐рдореЛрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди (рд░рд┐рдореЛрдЯ рдмрд┐рд▓реНрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рдорд╛рд░реНрдлрдд рд╣рд╛рд╕рд┐рд▓ рдЧрд░рд┐рдиреНрдЫред рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛, "рд╣рд░реНрдореЗрдЯрд┐рд╕рд┐рдЯреА" рдХреЛ рдЕрд╡рдзрд╛рд░рдгрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ - рднреЗрд▓рд╛ рдЧрд░рд┐рдПрдХреЛ рдХреЛрдб рдмрд╛рд╣рд┐рд░реА рд╕рдВрд╕рд╛рд░рдмрд╛рдЯ рдХрд╛рдЯрд┐рдПрдХреЛ рдЫ, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдХреНрд░рдордорд╛ рдмрд╛рд╣рд┐рд░рдмрд╛рдЯ рдХреЗрд╣рд┐ рдкрдирд┐ рд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдХрд╛рдордХреЛ рджреЛрд╣реЛрд░реНрдпрд╛рдЗрдПрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓реЗ рд╕рдорд╛рди рдкрд░рд┐рдгрд╛рдо рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ ( рджреЛрд╣реЛрд░рд┐рдПрдХреЛ рдЕрд╕реЗрдВрдмрд▓реАрд╣рд░реВ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рдХреЛ рдореЗрд╕рд┐рдирдорд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрд╕реЗрдореНрдмрд▓ рдЧрд░реНрдиреЗ рдирддрд┐рдЬрд╛ рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг рд╕рд░реНрднрд░рдорд╛ рдирд┐рд░реНрдорд╛рдгрд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рд╕рдорд╛рди рд╣реБрдиреЗрдЫ)ред рдирд┐рд░реНрднрд░рддрд╛рдХреЛ рдЕрднрд╛рд╡рдХреЛ рдЕрд╡рд╕реНрдерд╛рд▓рд╛рдИ Buck2 рдорд╛ рддреНрд░реБрдЯрд┐рдХреЛ рд░реВрдкрдорд╛ рдорд╛рдирд┐рдиреНрдЫред

Buck2 рдХреЛ рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реБ:

  • рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдирд┐рдпрдорд╣рд░реВ рд░ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдореВрд▓ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдЕрд▓рдЧ рдЫрдиреНред рдирд┐рдпрдорд╣рд░реВрд▓реЗ Starlark рднрд╛рд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рд░ Starlark рдЯреВрд▓рдХрд┐рдЯ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди Rust рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫред
  • рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдПрдХрд▓ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдирд┐рд░реНрднрд░рддрд╛ рдЧреНрд░рд╛рдл (рдЪрд░рдгрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдмрд┐рдирд╛) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдЬрд╕рд▓реЗ рдмрдХ рд░ рдмрд╛рдЬреЗрд▓рдХреЛ рддреБрд▓рдирд╛рдорд╛ рдХрд╛рдордХреЛ рд╕рдорд╛рдирд╛рдиреНрддрд░реАрдХрд░рдгрдХреЛ рдЧрд╣рд┐рд░рд╛рдЗ рдмрдврд╛рдЙрди рд░ рдзреЗрд░реИ рдкреНрд░рдХрд╛рд░рдХрд╛ рддреНрд░реБрдЯрд┐рд╣рд░реВрд▓рд╛рдИ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред
  • GitHub рдорд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд Buck2 рдХреЛрдб рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рдирд┐рдпрдорд╣рд░реВ рдлреЗрд╕рдмреБрдХ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЖрдиреНрддрд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдгрд╕рдБрдЧ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдЫрдиреН (рдлреЗрд╕рдмреБрдХрдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ рдХрдореНрдкрд╛рдЗрд▓рд░ рд░ рдПрд╕реЗрдореНрдмрд▓реА рд╕рд░реНрднрд░рд╣рд░реВрдХреЛ рд╕рдВрд╕реНрдХрд░рдгрдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛ рдорд╛рддреНрд░ рднрд┐рдиреНрдирддрд╛рд╣рд░реВ рдЫрдиреН)ред
  • рдПрд╕реЗрдореНрдмрд▓реА рдкреНрд░рдгрд╛рд▓реА рд░рд┐рдореЛрдЯ рдЯрд╛рд╕реНрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдг рдЧрд░реНрди рдЖрдБрдЦрд╛рдХреЛ рд╕рд╛рде рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░рд┐рдореЛрдЯ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдХрд╛рдо рдЪрд▓рд╛рдЙрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд░рд┐рдореЛрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди API Bazel рд╕рдБрдЧ рдЙрдкрдпреБрдХреНрдд рдЫ рд░ Buildbarn рд░ EngFlow рд╕рдБрдЧ рдЕрдиреБрдХреВрд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдЫред
  • рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рдорд╛ рд╕рдореНрдкреВрд░реНрдг рднрдгреНрдбрд╛рд░рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░рд╕реНрддреБрдд рдЧрд░рд┐рдиреНрдЫ, рддрд░ рд╡рд╛рд╕реНрддрд╡рдорд╛, рднрдгреНрдбрд╛рд░рдХреЛ рдЕрдВрд╢рдХреЛ рд╣рд╛рд▓рдХреЛ рд╕реНрдерд╛рдиреАрдп рдЯреБрдХреНрд░рд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░рд┐рдиреНрдЫ (рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд▓реЗ рд╕рдореНрдкреВрд░реНрдг рднрдгреНрдбрд╛рд░ рджреЗрдЦреНрдЫ, рддрд░ рдЖрд╡рд╢реНрдпрдХ рдлрд╛рдЗрд▓рд╣рд░реВ рдорд╛рддреНрд░ред рдкрд╣реБрдБрдЪ рдЧрд░рд┐рдПрдХреЛ рднрдгреНрдбрд╛рд░рдмрд╛рдЯ рдирд┐рдХрд╛рд▓рд┐рдиреНрдЫ)ред EdenFS рд░ Git LFS рдорд╛ рдЖрдзрд╛рд░рд┐рдд VFS, рдЬреБрди рдмрд┐рд░реБрд╡рд╛рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд╕рдорд░реНрдерд┐рдд рдЫрдиреНред

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди