ΠΠ½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π½Π°ΡΡΡΠ°ΡΡΠΈΡ
ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Bazel 2.0 Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΡ Β«βincompatible_remap_main_repoΒ» (ΡΡΡΠ»ΠΊΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΡΠ΅ΡΠ΅Π· @ ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ), Β«βincompatible_disallow_dict_lookupΒ»_(ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅Ρ
Π΅ΡΠΈΡΡΠ΅ΠΌΡΡ
ΠΊΠ»ΡΡΠ΅ΠΉ),
Β«βincompatible_remove_native_maven_jarΒ» ΠΈ Β«βincompatible_prohibit_aapt1Β». Π‘ΡΠ΅Π΄ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:
- Π ΠΊΠΎΠΌΠ°Π½Π΄Π΅
aquery ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π΄Π°ΡΡΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π²ΡΠ²ΠΎΠ΄Π° Β«protoΒ» (βoutput=proto), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (βincompatible_proto_output_v2) ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ; - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ Β«βincompatible_remove_enabled_toolchain_typesΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»Π΅ PlatformConfiguration.enabled_toolchain_types;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ², ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΡΠ°ΡΠΊΡΡΡΠΈΠΈ ΠΏΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΈΠΊΠ»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ;
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π°Π³Π° Β«βdisk_cacheΒ» Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΠΊΡΡΠ°ΠΌΠΈ gRPC;
- Π ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Debian ΠΈ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΠ»ΡΡΡΠ΅Π½Π½Π°Ρ ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΠ°Ρ ΡΠ°ΠΉΠ»Ρ ~/.bazelversion ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ $USE_BAZEL_VERSION;
- Π ΡΠ°ΠΌΠΊΠ°Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΎΠΌ runfiles Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π°Π³ Β«βexperimental_skip_runfiles_manifestsΒ».
Π‘ΡΠ΅Π΄ΠΈ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ Bazel Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ Π²ΡΡΠΎΠΊΠ°Ρ ΡΠΊΠΎΡΠΎΡΡΡ, Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π² Bazel Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ. Π BUILD-ΡΠ°ΠΉΠ»Π°Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Ρ Π²ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π²Π½Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΏΠ΅ΡΠ΅ΡΠΎΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡΠΈΠ΅ΡΡ ΡΠ°ΠΉΠ»Ρ) ΠΈ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠΊΠΈ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ, Ρ.Π΅. ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΡΠΎ ΡΠ±ΠΎΡΠΊΠΎΠΉ Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ.
Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Make ΠΈ Ninja Π² Bazel ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΡΠ±ΠΎΡΠΊΠΈ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡ Π³ΠΎΡΠΎΠ²ΡΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Β«ΡΠ±ΠΎΡΠΊΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++Β», Β«ΡΠ±ΠΎΡΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π° C++Β» ΠΈΠ»ΠΈ Β«Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΡΠ° Π΄Π»Ρ C++Β», Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅Π²ΡΡ ΠΈ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ. Π ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ BUILD ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΡΠ΅ΡΡΠΎΠ², Π±Π΅Π· Π΄Π΅ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π²ΡΠ·ΠΎΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» ΡΠ±ΠΎΡΠΊΠΈ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π‘Π±ΠΎΡΠΎΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Google, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ±ΠΎΡΠΊΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΊΠΎΠ΄ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ Π΄Π»Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌ.
Source: opennet.ru