เบเบฒเบ™เบ›เปˆเบญเบเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ›เบฐเบเบญเบš Bazel 1.0

เปเบ™เบฐเบ™เบณ เบ›เปˆเบญเบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ›เบฐเบเบญเบšเป€เบ›เบตเบ” Bazel 1.0, เบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบˆเบฒเบ Google เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบเบญเบšเป‚เบ„เบ‡เบเบฒเบ™เบžเบฒเบเปƒเบ™เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆ. เบเบฒเบ™เบ›เปˆเบญเบ 1.0 เป„เบ”เป‰เบซเบกเบฒเบเบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบฐเบšเบฑเบš semantic เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบญเบเปเบฅเบฐเบเบฑเบ‡เป€เบ›เบฑเบ™เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ—เบตเปˆเบฅเบฐเป€เบกเบตเบ”เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เปƒเบ™เบ”เป‰เบฒเบ™เบซเบฅเบฑเบ‡. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™ เปเบˆเบเบขเบฒเบเป‚เบ”เบ เบญเบฐเบ™เบธเบเบฒเบ”เบžเบฒเบเปƒเบ•เป‰ Apache 2.0.

Bazel เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เปเบฅเปˆเบ™ compilers เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบญเบญเบเปเบšเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™ Google เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”, เบฅเบงเบกเบ—เบฑเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบเปเบฅเบฐเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เปƒเบ™เบซเบฅเบฒเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก, เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡, เปเบฅเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป€เบงเบ—เบต. เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปƒเบ™ Java, C ++, Objective-C, Python, Rust, Go เปเบฅเบฐเบžเบฒเบชเบฒเบญเบทเปˆเบ™เป†, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบกเบทเบ–เบทเบชเปเบฒเบฅเบฑเบš Android เปเบฅเบฐ iOS. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒเบ›เบฐเบเบญเบšเบ”เบฝเบงเบชเปเบฒเบฅเบฑเบšเป€เบงเบ—เบตเปเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบกเปˆเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™;

เปƒเบ™เบšเบฑเบ™เบ”เบฒเบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป‚เบ”เบ”เป€เบ”เบฑเปˆเบ™เบ‚เบญเบ‡ Bazel เปเบกเปˆเบ™เบ„เบงเบฒเบกเป„เบงเบชเบนเบ‡, เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบเบญเบš. เป€เบžเบทเปˆเบญเบšเบฑเบ™เบฅเบธเบ„เบงเบฒเบกเป„เบงเปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบชเบนเบ‡, Bazel เปƒเบŠเป‰เป€เบ•เบฑเบเบ™เบดเบ caching เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ™เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡. เป„เบŸเบฅเปŒ BUILD เบˆเบฐเบ•เป‰เบญเบ‡เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ—เบฑเบ‡เบซเบกเบปเบ”เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบซเบกเปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ (เบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ–เบทเบเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆ) เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบเบญเบš. เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฑเบ‡เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบ›เบฐเบเบญเบšเบŠเป‰เปเบฒเบญเบตเบ, i.e. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบฐเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก, เป€เบŠเบฑเปˆเบ™: เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.

เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš Make เปเบฅเบฐ Ninja, Bazel เปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เปƒเบ™เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบ›เบฐเบเบญเบš, เปƒเบ™เบ™เบฑเป‰เบ™, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡, เบšเบฅเบฑเบญเบเบ—เบตเปˆเป€เบฎเบฑเบ”เปเบฅเป‰เบงเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เบซเบผเบฒเบเปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบฑเปˆเบ™: "เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปƒเบ™. C++โ€, โ€œเบเบฒเบ™เบชเป‰เบฒเบ‡เบซเป‰เบญเบ‡เบชเบฐเปเบธเบ”เปƒเบ™ C++โ€ เบซเบผเบท โ€œเปเบฅเปˆเบ™เบ—เบปเบ”เบชเบญเบšเบชเบณเบฅเบฑเบš C++โ€, เบžเป‰เบญเบกเบ—เบฑเบ‡เบเบณเบ™เบปเบ”เป€เบ›เบปเป‰เบฒเปเบฒเบ เปเบฅเบฐเบชเป‰เบฒเบ‡เป€เบงเบ—เบต. เปƒเบ™เป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบก BUILD, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เป„เบ”เป‰เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป€เบ›เบฑเบ™เบŠเปเปˆเบ‚เบญเบ‡เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”, เป„เบŸเบฅเปŒเบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเป„เบŸเบฅเปŒเปเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบญเบตเป‰เบ™ compiler. เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเบœเปˆเบฒเบ™เบเบปเบ™เป„เบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™