BUILD
फ़ाइलों और कमांड लाइन में, Bazel, टारगेट को रेफ़रंस देने के लिए लेबल का इस्तेमाल करता है. उदाहरण के लिए, //main:hello-world
या //lib:hello-time
. इनका सिंटैक्स यह है:
//path/to/package:target-name
अगर टारगेट, नियम का टारगेट है, तो path/to/package
, वर्कस्पेस रूट (MODULE.bazel
फ़ाइल वाली डायरेक्ट्री) से लेकर BUILD
फ़ाइल वाली डायरेक्ट्री तक का पाथ होता है. साथ ही, target-name
वह नाम होता है जो आपने BUILD
फ़ाइल में टारगेट को दिया है (name
एट्रिब्यूट). अगर टारगेट कोई फ़ाइल टारगेट है, तो path/to/package
पैकेज के रूट का पाथ होता है. साथ ही, target-name
टारगेट फ़ाइल का नाम होता है. इसमें पैकेज के रूट के हिसाब से फ़ाइल का पूरा पाथ भी शामिल होता है. पैकेज का रूट, वह डायरेक्ट्री होती है जिसमें पैकेज की BUILD
फ़ाइल होती है.
रिपॉज़िटरी रूट पर टारगेट का रेफ़रंस देते समय, पैकेज का पाथ खाली होता है. इसलिए, सिर्फ़ //:target-name
का इस्तेमाल करें. एक ही BUILD
फ़ाइल में टारगेट का रेफ़रंस देते समय, //
वर्कस्पेस के रूट आइडेंटिफ़ायर को भी छोड़ा जा सकता है. इसके लिए, सिर्फ़ :target-name
का इस्तेमाल करें.