ΠΏΡΡΠΊΠ°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π°ΡΠ΅ΠΌΠ±Π»ΠΈΡΠ°Π½Π΅ Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ , ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΎΡ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈ Π½Π° Google ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π²ΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΡΠ°. ΠΠ΅ΡΡΠΈΡ 1.0 Π±Π΅Π»Π΅ΠΆΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΊΡΠΌ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ½ΠΎ Π²Π΅ΡΡΠΈΡΠ°Π½Π΅ ΠΈ Π±Π΅ΡΠ΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΡΠ΅Π»Π½Π° ΠΈ Ρ Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π°ΡΡΡΠΈΡ Π° ΠΎΠ±ΡΠ°ΡΠ½Π°ΡΠ° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ Apache 2.0.
Bazel ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠΈ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅. Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ°Π½Π° ΠΎΡ Π½ΡΠ»Π°ΡΠ°, Π·Π° Π΄Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΈ Π½Π° Google, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠΈ ΠΊΠΎΠ΄ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΅Π·ΠΈΡΠΈ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΠΎΠ±ΡΠΈΡΠ½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. Π’Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ Π½Π° Java, C++, Objective-C, Python, Rust, Go ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ Π΅Π·ΠΈΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π·Π° Android ΠΈ iOS. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ; Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅Π΄ΠΈΠ½ ΡΠ°ΠΉΠ» Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π΅ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΡΡΠ²ΡΡΠ½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ.
Π‘ΡΠ΅Π΄ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»Π½ΠΈΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° Bazel ΡΠ° Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΡΠΊΠΎΡΠΎΡΡ, Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅. ΠΠ° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ Π²ΠΈΡΠΎΠΊΠ° ΡΠΊΠΎΡΠΎΡΡ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅, Bazel Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅Ρ Π½ΠΈΠΊΠΈ Π·Π° ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·Π°ΡΠΈΡ. BUILD ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΡΡΠ±Π²Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Ρ Π²ΡΠΈΡΠΊΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π΄Π°Π»ΠΈ Π΄Π° ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ (ΡΠ°ΠΌΠΎ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Ρ) ΠΈ Π΄Π°Π»ΠΈ Π΄Π° ΡΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌΡΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΠ° ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡ Π½Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡΡ, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° ΠΌΠ°ΡΠΈΠ½Π°ΡΠ° Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°, ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΡΠ²ΡΡΠΈ Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ.
ΠΠ° ΡΠ°Π·Π»ΠΈΠΊΠ° ΠΎΡ Make ΠΈ Ninja, Bazel ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΡ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΎ Π½ΠΈΠ²ΠΎ Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅. ΠΠΌΠ΅ΡΡΠΎ Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Ρ, ΡΠΎΠΉ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ-Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΈ, Π³ΠΎΡΠΎΠ²ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ βΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌ C++ ΡΠ°ΠΉΠ»β, βΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ Π½Π° C++ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°β ΠΈΠ»ΠΈ βΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° C++ ΡΠ΅ΡΡβ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»Π΅Π²ΠΈ ΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°ΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. Π ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈΡ ΡΠ°ΠΉΠ» BUILD ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΡΠ΅ΡΡΠΎΠ²Π΅, Π±Π΅Π· Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π·Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΎΡΠ°. ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΡΠ΅Π· ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
