http deposu kuralları

Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:http.bzl üzerinden yüklenebilir.

HTTP üzerinden dosya ve arşiv indirmeye ilişkin kurallar.

Kurulum

Bu kuralları kullanmak için WORKSPACE dosyanıza aşağıdaki gibi yükleyin:

load(
    "@bazel_tools//tools/build_defs/repo:http.bzl",
    "http_archive",
    "http_file",
    "http_jar",
)

Bu kurallar, yerel http kurallarının geliştirilmiş sürümleridir ve sonunda yerel kuralların yerini alacaktır.

http_archive

http_archive(name, add_prefix, auth_patterns, build_file, build_file_content, canonical_id,
             integrity, netrc, patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
             remote_patch_strip, remote_patches, repo_mapping, sha256, strip_prefix, type, url, urls,
             workspace_file, workspace_file_content)

Bir Bazel deposunu sıkıştırılmış arşiv dosyası olarak indirir, arşiv dosyasını açar ve hedeflerini bağlama için kullanılabilir hale getirir.

Şu dosya uzantılarını destekler: "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", "tar.zst", "tzst", tar.bz2, "ar" veya "deb".

Örnekler: Mevcut kod deposunda, rootlanmış ~/chat-app dizininde bir sohbet programının kaynak kodunu içerdiğini varsayalım. http://example.com/openssl.zip adresinde bulunan bir SSL kitaplığına bağlı olması gerekir. Bu .zip dosyası aşağıdaki dizin yapısını içerir:

  WORKSPACE
  src/
    openssl.cc
    openssl.h

Kullanıcı, yerel depoda aşağıdaki hedef tanımını içeren bir openssl.BUILD dosyası oluşturur:

  cc_library(
      name = "openssl-lib",
      srcs = ["src/openssl.cc"],
      hdrs = ["src/openssl.h"],
  )

Aşağıdaki satırlar ~/chat-app/WORKSPACE öğesine eklenirse ~/chat-app deposundaki hedefler bu hedefe bağlı olabilir:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

  http_archive(
      name = "my_ssl",
      url = "http://example.com/openssl.zip",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      build_file = "@//:openssl.BUILD",
  )

Daha sonra hedefler, @my_ssl//:openssl-lib değerini bağımlılık olarak belirtir.

Özellikler

name Ad; zorunlu

Bu kod deposu için benzersiz bir ad.

add_prefix Dize; isteğe bağlı

Depo dizinine göre hedef dizin. Arşiv içindeki dosya yollarına "strip_prefix" (varsa) uygulandıktan sonra arşiv bu dizinde açılır. Örneğin, "add_prefix = "bar"" ve "strip_prefix = "foo-1.2.3"" ise "foo-1.2.3/src/foo.h" dosyasının paketi "bar/src/foo.h" konumuna açılır.

auth_patterns Sözlük: Dize -> Dize; isteğe bağlı

Özel yetkilendirme kalıplarına ana makine adlarını eşleyen isteğe bağlı bir ifade. Bu komutta bir URL'nin ana makine adı varsa http isteği için yetkilendirme başlığı oluşturulurken değer kalıp olarak kullanılır. Bu, yaygın olarak kullanılan birçok bulut depolama alanı sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılabilmesini sağlar. Kalıp şu anda 2 jetonu desteklemektedir: <login> ve <password>. Bunlar, aynı ana makine adı için netrc dosyasında eşdeğer değerleriyle değiştirilir. Biçimlendirmeden sonra sonuç, HTTP isteğinin Authorization alanının değeri olarak ayarlanır. Taşıyıcı jetonu kullanarak oauth2'nin etkin olduğu bir API'ye http indirme için örnek özellik ve netrc:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Son HTTP isteğinin başlığı aşağıdaki gibi olur:
Authorization: Bearer RANDOM-TOKEN

build_file Etiket; isteğe bağlı

Bu kod deposu için DERLEME dosyası olarak kullanılacak dosya.Bu özellik mutlak bir etikettir (ana depo için "@//" ifadesini kullanın). Dosyanın BUILD olarak adlandırılmasına gerek yoktur, ancak olabilir (BUILD.new-repo-name gibi bir ad, kodu deponun gerçek BUILD dosyalarından ayırt etmek için işe yarayabilir). build_file veya build_file_content değeri belirtilebilir, ancak ikisi birden belirtilemez.

build_file_content Dize; isteğe bağlı

Bu kod deposu için DERLEME dosyasının içeriği. build_file veya build_file_content değeri belirtilebilir, ancak ikisi birden belirtilemez.

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilirse ve boş değilse Bazel, aynı standart kimliğe sahip bir istekle önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel varsayılan olarak standart kimlik olarak dosyanın URL'lerini kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Böylece, yerel olarak başarılı olan ancak önbellekteki dosya olmadan makinelerde başarısız olan derlemeler ortaya çıkar. Bu davranış --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0 ile devre dışı bırakılabilir.

integrity Dize; isteğe bağlı

İndirilen dosyanın Alt Kaynak Bütünlüğü biçiminde beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamını atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirme sürecini kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde bu özellik veya "sha256" ayarlanmalıdır.

netrc Dize; isteğe bağlı

Kimlik doğrulama için kullanılacak .netrc dosyasının konumu

patch_args Dize listesi; isteğe bağlı

Yama aracına verilen bağımsız değişkenler. Varsayılan olarak -p0 değerine ayarlanır, ancak git tarafından oluşturulan yamalar için genellikle -p1 gerekir. Birden fazla -p bağımsız değişkeni belirtilirse sonuncu bağımsız değişken uygulanır. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'de yerel yama uygulaması yerine yama komut satırı aracını kullanmak için geri döner. Yama komut satırı aracı ve patch_tool özelliği belirtilmezse "patch" kullanılır. Bu yalnızca "patches" özelliğindeki yama dosyalarını etkiler.

patch_cmds Dize listesi; isteğe bağlı

Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası.

patch_cmds_win Dize listesi; isteğe bağlı

Yamalar uygulandıktan sonra Windows'a uygulanacak Powershell komutlarının sırası. Bu özellik ayarlanmazsa patch_cmds, Windows'da yürütülür ve Bash ikili programının var olmasını gerektirir.

patch_tool Dize; isteğe bağlı

Kullanılacak yama(1) yardımcı programı. Belirtilmişse Bazel, Bazel'da yerel yama uygulaması yerine belirtilen yama aracını kullanır.

patches Etiket listesi; isteğe bağlı

Arşivin çıkarılmasından sonra yama olarak uygulanacak dosyaların listesi. Varsayılan olarak, fuzz eşleştirmesini ve ikili yamayı desteklemeyen Bazel'de yerel yama uygulamasını kullanır ancak "patch_tool" özelliği belirtilirse veya "patch_args" özelliğinde "-p" dışında bağımsız değişkenler varsa, Bazel yama komut satırı aracını kullanmaya başlar.

remote_patch_strip Tam sayı; isteğe bağlı

Uzak yamalarda dosya adından çıkarılacak baştaki eğik çizgilerin sayısı.

remote_patches Sözlük: Dize -> Dize; isteğe bağlı

Yama dosyası URL'sinin bütünlük değeriyle eşlemesi. Bunlar, arşivin çıkarılmasından sonra ve "patches" özelliğinden yama dosyaları uygulanmadan önce uygulanır. Bazel yerel yama uygulamasını kullanır, yama şeridi numarasını "remote_patch_strip" ile belirtebilirsiniz

repo_mapping Sözlük: Dize -> Dize; gerekli

Yerel kod deposu adından genel kod deposu adına bir sözlük. Böylece bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olabilirsiniz.

Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" bağımsız değişkenine bağlı olduğu her zaman ("@foo//some:target" bağımlılığı gibi) söz konusu bağımlılığı, genel olarak bildirilen "@bar" ("@bar//some:target") içinde çözmesi gerektiğini bildirir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256 numarasıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde bu özellik veya "bütünlük" ayarlanmalıdır.

strip_prefix Dize; isteğe bağlı

Çıkarılan dosyalardan çıkarılacak bir dizin öneki. Birçok arşiv, tüm yararlı dosyaları içeren üst düzey bir dizin içerir. Bu ön eki "build_file" içinde tekrar tekrar belirtmek zorunda kalmadan, bu alan onu çıkarılan tüm dosyalardan çıkarmak için kullanılabilir. Örneğin, altında bir "WORKSPACE" dosyasının bulunduğu ve oluşturmak istediğiniz gerçek kodu içeren "src/", "lib/" ve "test/" dizinleri olan "foo-lib-latest.zip" dizinini içeren "foo-lib-latest.zip" dosyasını kullandığınızı varsayalım. "foo-lib-1.2.3" dizinini üst düzey dizininiz olarak kullanmak için "strip_prefix = "foo-lib-1.2.3"" değerini belirtin. Bu dizinin dışında kalan dosyalar varsa bu dosyalar silinir ve erişilemez olur (ör. üst düzey lisans dosyası). Ön ekle başlayan ancak dizinde yer almayan dosyalar/dizinler de buna dahildir (ör. "foo-lib-1.2.3.Release-notes"). Belirtilen ön ek, arşivdeki bir dizinle eşleşmezse Bazel hata döndürür.

type Dize; isteğe bağlı

İndirilen dosyanın arşiv türü. Varsayılan olarak arşiv türü, URL'nin dosya uzantısına göre belirlenir. Dosyanın uzantısı yoksa, şunlardan birini açıkça belirtebilirsiniz: `"zip"`, `"jar"`, `"war"`, `"aar"`, `"tar"`, `"tar.gz"`, `"tgz"`, `"tar.xz"`, `"txz"`", `"st", `"txz"`, `"st", `"war"`, `"aar"`.

url Dize; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirme yapılacak alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik sağlayabilir.

urls Dize listesi; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'lerinin listesi. Her giriş bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. URL'ler biri başarılı olana kadar sırayla denendiğinden, önce yerel yansıtmaları listelemeniz gerekir. Tüm indirme işlemleri başarısız olursa kural başarısız olur.

workspace_file Etiket; isteğe bağlı

Bu depo için "WORKSPACE" dosyası olarak kullanılacak dosya. "workspace_file" veya "workspace_file_content" ikisinden biri belirtilebilir veya ikisi birden belirtilemez.

workspace_file_content Dize; isteğe bağlı

Bu kod deposundaki WORKSPACE dosyasının içeriği. "workspace_file" veya "workspace_file_content" ikisinden biri belirtilebilir veya ikisi birden belirtilemez.

http_file

http_file(name, auth_patterns, canonical_id, downloaded_file_path, executable, integrity, netrc,
          repo_mapping, sha256, url, urls)

Dosyayı bir URL'den indirir ve dosya grubu olarak kullanılabilir hale getirir.

Örnekler: Özel kurallarınız için bir debian paketine ihtiyacınız olduğunu varsayalım. Bu paket http://example.com/package.deb adresinde bulunabilir. Ardından WORKSPACE dosyanıza şunları ekleyebilirsiniz:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

  http_file(
      name = "my_deb",
      url = "http://example.com/package.deb",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  )

Hedefler, bu dosyaya bağımlı olarak @my_deb//file değerini belirtir.

Özellikler

name Ad; zorunlu

Bu kod deposu için benzersiz bir ad.

auth_patterns Sözlük: Dize -> Dize; isteğe bağlı

Özel yetkilendirme kalıplarına ana makine adlarını eşleyen isteğe bağlı bir ifade. Bu komutta bir URL'nin ana makine adı varsa http isteği için yetkilendirme başlığı oluşturulurken değer kalıp olarak kullanılır. Bu, yaygın olarak kullanılan birçok bulut depolama alanı sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılabilmesini sağlar. Kalıp şu anda 2 jetonu desteklemektedir: <login> ve <password>. Bunlar, aynı ana makine adı için netrc dosyasında eşdeğer değerleriyle değiştirilir. Biçimlendirmeden sonra sonuç, HTTP isteğinin Authorization alanının değeri olarak ayarlanır. Taşıyıcı jetonu kullanarak oauth2'nin etkin olduğu bir API'ye http indirme için örnek özellik ve netrc:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Son HTTP isteğinin başlığı aşağıdaki gibi olur:
Authorization: Bearer RANDOM-TOKEN

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilirse ve boş değilse Bazel, aynı standart kimliğe sahip bir istekle önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel varsayılan olarak standart kimlik olarak dosyanın URL'lerini kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Böylece, yerel olarak başarılı olan ancak önbellekteki dosya olmadan makinelerde başarısız olan derlemeler ortaya çıkar. Bu davranış --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0 ile devre dışı bırakılabilir.

downloaded_file_path Dize; isteğe bağlı

İndirilen dosyaya atanan yol

executable Boole; isteğe bağlı

İndirilen dosyanın yürütülebilir hale getirilip getirilmemesi.

integrity Dize; isteğe bağlı

İndirilen dosyanın Alt Kaynak Bütünlüğü biçiminde beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamını atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirme sürecini kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde bu özellik veya "sha256" ayarlanmalıdır.

netrc Dize; isteğe bağlı

Kimlik doğrulama için kullanılacak .netrc dosyasının konumu

repo_mapping Sözlük: Dize -> Dize; gerekli

Yerel kod deposu adından genel kod deposu adına bir sözlük. Böylece bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olabilirsiniz.

Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" bağımsız değişkenine bağlı olduğu her zaman ("@foo//some:target" bağımlılığı gibi) söz konusu bağımlılığı, genel olarak bildirilen "@bar" ("@bar//some:target") içinde çözmesi gerektiğini bildirir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256 numarasıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde ayarlanmalıdır.

url Dize; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirme yapılacak alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik sağlayabilir.

urls Dize listesi; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'lerinin listesi. Her giriş bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. URL'ler biri başarılı olana kadar sırayla denendiğinden, önce yerel yansıtmaları listelemeniz gerekir. Tüm indirme işlemleri başarısız olursa kural başarısız olur.

http_jar

http_jar(name, auth_patterns, canonical_id, downloaded_file_name, integrity, netrc, repo_mapping,
         sha256, url, urls)

Bir URL'den jar dosyası indirir ve onu java_import olarak kullanılabilir hale getirir

İndirilen dosyaların uzantısı .jar olmalıdır.

Örnekler: Mevcut depoda, kök ~/chat-app dizininde bulunan bir sohbet programının kaynak kodunun bulunduğunu varsayalım. http://example.com/openssl-0.2.jar üzerinden kullanılabilen bir SSL kitaplığına bağlı olması gerekir.

Aşağıdaki satırlar ~/chat-app/WORKSPACE öğesine eklenirse ~/chat-app deposundaki hedefler bu hedefe bağlı olabilir:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar")

  http_jar(
      name = "my_ssl",
      url = "http://example.com/openssl-0.2.jar",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  )

Hedefler, bu jar'a bağımlı olmak için @my_ssl//jar değerini bir bağımlılık olarak belirtir.

Unix tabanlı sistemler kullanıyorsanız "file:///path/to/file" ifadesini kullanarak mevcut sistemdeki (localhost) dosyalara da referans verebilirsiniz. Windows kullanıyorsanız, "file:///c:/path/to/file" ifadesini kullanın. Her iki örnekte de üç eğik çizgiye (/) dikkat edin. İlk iki eğik çizgi file://, üçüncüsü ise dosyanın mutlak yoluna aittir.

Özellikler

name Ad; zorunlu

Bu kod deposu için benzersiz bir ad.

auth_patterns Sözlük: Dize -> Dize; isteğe bağlı

Özel yetkilendirme kalıplarına ana makine adlarını eşleyen isteğe bağlı bir ifade. Bu komutta bir URL'nin ana makine adı varsa http isteği için yetkilendirme başlığı oluşturulurken değer kalıp olarak kullanılır. Bu, yaygın olarak kullanılan birçok bulut depolama alanı sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılabilmesini sağlar. Kalıp şu anda 2 jetonu desteklemektedir: <login> ve <password>. Bunlar, aynı ana makine adı için netrc dosyasında eşdeğer değerleriyle değiştirilir. Biçimlendirmeden sonra sonuç, HTTP isteğinin Authorization alanının değeri olarak ayarlanır. Taşıyıcı jetonu kullanarak oauth2'nin etkin olduğu bir API'ye http indirme için örnek özellik ve netrc:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Son HTTP isteğinin başlığı aşağıdaki gibi olur:
Authorization: Bearer RANDOM-TOKEN

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilirse ve boş değilse Bazel, aynı standart kimliğe sahip bir istekle önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel varsayılan olarak standart kimlik olarak dosyanın URL'lerini kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Böylece, yerel olarak başarılı olan ancak önbellekteki dosya olmadan makinelerde başarısız olan derlemeler ortaya çıkar. Bu davranış --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0 ile devre dışı bırakılabilir.

downloaded_file_name Dize; isteğe bağlı

İndirilen jar dosyasına atanan dosya adı

integrity Dize; isteğe bağlı

İndirilen dosyanın Alt Kaynak Bütünlüğü biçiminde beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamını atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirme sürecini kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde bu özellik veya "sha256" ayarlanmalıdır.

netrc Dize; isteğe bağlı

Kimlik doğrulama için kullanılacak .netrc dosyasının konumu

repo_mapping Sözlük: Dize -> Dize; gerekli

Yerel kod deposu adından genel kod deposu adına bir sözlük. Böylece bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olabilirsiniz.

Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" bağımsız değişkenine bağlı olduğu her zaman ("@foo//some:target" bağımlılığı gibi) söz konusu bağımlılığı, genel olarak bildirilen "@bar" ("@bar//some:target") içinde çözmesi gerektiğini bildirir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256 numarasıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı atlamak güvenlik açısından bir risktir._ Bu alanın atlanması, derlemenizin hermetik olmamasına neden olur. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderim öncesinde bu özellik veya "bütünlük" ayarlanmalıdır.

url Dize; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirme yapılacak alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik sağlayabilir. URL ".jar" ile bitmelidir.

urls Dize listesi; isteğe bağlı

Bazel'in kullanımına sunulacak bir dosyanın URL'lerinin listesi. Her giriş bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. URL'ler biri başarılı olana kadar sırayla denendiğinden, önce yerel yansıtmaları listelemeniz gerekir. Tüm indirme işlemleri başarısız olursa kural başarısız olur. Tüm URL'ler ".jar" ile bitmelidir.