http deposu kuralları

Sorun bildir Kaynağı görüntüle Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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

Dosyaları ve arşivleri HTTP üzerinden indirme kuralları.

Kurulum

Bu kuralları bir modül uzantısında kullanmak için .bzl dosyanıza yükleyin ve ardından uzantınızın uygulama işlevinden çağırın. Örneğin, http_archive kullanmak için:

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

def _my_extension_impl(mctx):
  http_archive(name = "foo", urls = [...])

my_extension = module_extension(implementation = _my_extension_impl)

Alternatif olarak, bu depo kurallarını MODULE.bazel dosyanızda doğrudan use_repo_rule ile çağırabilirsiniz:

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(name = "foo", urls = [...])

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_file_integrity, remote_file_urls, 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, dosyayı 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 deponun, ~/chat-app dizininde bulunan bir sohbet programının kaynak kodunu içerdiğini varsayalım. http://example.com/openssl.zip adresinden edinilebilen bir SSL kitaplığına bağımlı 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"],
  )

~/chat-app deposundaki hedefler, ~/chat-app/WORKSPACE'ye aşağıdaki satırlar eklenirse 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",
  )

Ardından hedefler, @my_ssl//:openssl-lib öğesini bağımlılık olarak belirtir.

Özellikler

name Ad; zorunlu

Bu depo için benzersiz bir ad.

add_prefix Dize; isteğe bağlı

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

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

Ana makine adlarını özel yetkilendirme kalıplarıyla eşleyen isteğe bağlı bir sözlük. Bir URL'nin ana makine adı bu sözlükte varsa değer, HTTP isteği için yetkilendirme başlığı oluşturulurken kalıp olarak kullanılır. Bu, birçok yaygın bulut depolama sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılmasını sağlar. Şu anda desende 2 jeton desteklenmektedir: <login> ve <password>. Bu jetonlar, aynı ana makine adı için netrc dosyasındaki 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ı jeton kullanılarak OAuth2 etkin bir API'ye HTTP indirme işlemi için örnek özellik ve netrc:

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

build_file Etiket; isteğe bağlı

Bu depo için BUILD dosyası olarak kullanılacak dosya.Bu özellik mutlak bir etikettir (ana depo için "@//" kullanın). Dosyanın BUILD olarak adlandırılması gerekmez ancak adlandırılabilir (örneğin, BUILD.new-repo-name, dosyayı, depodaki asıl BUILD dosyalarından ayırt etmek için iyi bir seçenek olabilir). build_file veya build_file_content belirtilebilir ancak ikisi birden belirtilemez.

build_file_content Dize; isteğe bağlı

Bu depo için BUILD dosyasının içeriği. build_file veya build_file_content belirtilebilir ancak ikisi birden belirtilemez.

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilmişse ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini kanonik kimlik olarak kullanır. Bu, URL'leri güncellerken karma değerini de güncellemeyerek yaygın bir hatayı yakalamaya yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosya bulunmayan makinelerde başarısız olan derlemelere neden olur. 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çimindeki beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden sağlama toplamını atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce 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 sonuncusu geçerli olur. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'e özgü yama uygulaması yerine yama komut satırı aracını kullanmaya geri döner. Yama komut satırı aracına geri dönüldüğünde ve patch_tool özelliği belirtilmediğinde "patch" kullanılır. Bu durum yalnızca "patches" özelliğindeki yama dosyalarını etkiler.

patch_cmds Dize listesi; isteğe bağlı

Yamalar uygulandıktan sonra Linux/MacOS'te uygulanacak Bash komutlarının sırası.

patch_cmds_win Dize listesi; isteğe bağlı

Düzeltme ekleri uygulandıktan sonra Windows'da uygulanacak PowerShell komutlarının sırası. Bu özellik ayarlanmazsa patch_cmds, Windows'da yürütülür. Bu işlem için Bash ikilisinin bulunması gerekir.

patch_tool Dize; isteğe bağlı

Kullanılacak patch(1) yardımcı programı. Bu belirtilirse Bazel, Bazel'e özgü yama uygulaması yerine belirtilen yama aracını kullanır.

patches Etiket listesi; isteğe bağlı

Arşiv ayıklandıktan sonra yama olarak uygulanacak dosyaların listesi. Varsayılan olarak, yaklaşık eşleşmeyi ve ikili yamayı desteklemeyen Bazel'e özgü yama uygulaması kullanılır. Ancak Bazel, `patch_tool` özelliği belirtilmişse veya `patch_args` özelliğinde `-p` dışında bağımsız değişkenler varsa yama komut satırı aracını kullanmaya geri döner.

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

Dosyaların göreli yollarının (anahtar) bütünlük değeriyle (değer) eşlendiği bir harita. Bu göreli yollar, `remote_file_urls` özelliğindeki dosyalarla (anahtar) eşlenmelidir.

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

Depoda indirilecek ve yer paylaşımı yapılan dosyalar olarak kullanıma sunulacak URL listesine (değer) giden göreli yolların (anahtar) haritası. Bu özellik, mevcut bir veri deposunun üzerine WORKSPACE veya BUILD.bazel dosyaları eklemek istediğinizde kullanışlıdır. Dosyalar, `patches` özelliğindeki yamalar uygulanmadan önce indirilir ve URL listesindeki tüm URL'ler aynı dosyanın olası yansıtılmış kopyaları olmalıdır. URL'ler, başarılı olana kadar sırayla denenir.

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

Uzak yamalardaki dosya adından kaldırı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ğerine eşlendiği bir harita. Bu değerler, arşiv çıkarıldıktan ve `patches` özelliğindeki yama dosyaları uygulanmadan önce uygulanır. Bazel'e özgü yama uygulamasını kullanır. Yama şeridi numarasını `remote_patch_strip` ile belirtebilirsiniz.

repo_mapping Dictionary: String -> String; zorunlu

Yerel depo adından genel depo adına kadar olan sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümlemesi üzerinde kontrol sağlar.

Örneğin, `"@foo": "@bar"` girişi, bu depo herhangi bir zamanda `@foo` öğesine bağlı olduğunda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığın aslında genel olarak tanımlanmış `@bar` içinde çözülmesi gerektiğini (ör. `@bar//some:target`) belirtir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden SHA-256'yı atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce bu özellik veya "integrity" özelliği ayarlanmalıdır.

strip_prefix Dize; isteğe bağlı

Çıkarılan dosyalardan kaldırılacak bir dizin öneki. Birçok arşiv, arşivdeki tüm faydalı dosyaları içeren üst düzey bir dizin içerir. Bu öneki `build_file` içinde tekrar tekrar belirtmek yerine, bu alan kullanılarak tüm ayıklanan dosyalardan kaldırılabilir. Örneğin, `foo-lib-latest.zip` dosyasını kullandığınızı varsayalım. Bu dosya, altında `WORKSPACE` dosyası bulunan `foo-lib-1.2.3/` dizinini ve oluşturmak istediğiniz gerçek kodu içeren `src/`, `lib/` ve `test/` dizinlerini içerir. En üst düzey dizininiz olarak `foo-lib-1.2.3` dizinini kullanmak için `strip_prefix = "foo-lib-1.2.3"` değerini belirtin. Bu dizinin dışında dosyalar varsa bunların silineceğini ve erişilemez olacağını (ör. üst düzey lisans dosyası) unutmayın. Bu, önekle başlayan ancak dizinde bulunmayan dosyaları/dizinleri (ör. `foo-lib-1.2.3.release-notes`). Belirtilen önek, 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ından belirlenir. Dosyanın uzantısı yoksa aşağıdakilerden birini açıkça belirtebilirsiniz: "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", "tar.zst", "tzst", "tar.bz2", "ar" veya"deb".

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 desteklenmez. urls parametresi, getirilecek alternatif URL'leri belirtmeye olanak tanıyarak daha fazla esneklik sağlar.

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 desteklenmez. URL'ler, başarılı olana kadar sırayla denenir. Bu nedenle, önce yerel yansıtma sitelerini 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` belirtilebilir ya da ikisi de belirtilmeyebilir ancak ikisi birden belirtilemez.

workspace_file_content Dize; isteğe bağlı

Bu depo için WORKSPACE dosyasının içeriği. `workspace_file` veya `workspace_file_content` belirtilebilir ya da ikisi de belirtilmeyebilir ancak ikisi birden belirtilemez.

http_file

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

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

Örnekler: Özel kurallarınız için bir Debian paketi oluşturmanız gerektiğini varsayalım. Bu paket http://example.com/package.deb adresinden edinilebilir. 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ğlı olmak için @my_deb//file dosyasını bağımlılık olarak belirtir.

Özellikler

name Ad; zorunlu

Bu depo için benzersiz bir ad.

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

Ana makine adlarını özel yetkilendirme kalıplarıyla eşleyen isteğe bağlı bir sözlük. Bir URL'nin ana makine adı bu sözlükte varsa değer, HTTP isteği için yetkilendirme başlığı oluşturulurken kalıp olarak kullanılır. Bu, birçok yaygın bulut depolama sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılmasını sağlar. Şu anda desende 2 jeton desteklenmektedir: <login> ve <password>. Bu jetonlar, aynı ana makine adı için netrc dosyasındaki 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ı jeton kullanılarak OAuth2 etkin bir API'ye HTTP indirme işlemi için örnek özellik ve netrc:

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

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilmişse ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini kanonik kimlik olarak kullanır. Bu, URL'leri güncellerken karma değerini de güncellemeyerek yaygın bir hatayı yakalamaya yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosya bulunmayan makinelerde başarısız olan derlemelere neden olur. 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 getirilmeyeceği.

integrity Dize; isteğe bağlı

İndirilen dosyanın alt kaynak bütünlüğü biçimindeki beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden sağlama toplamını atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce 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 Dictionary: String -> String; zorunlu

Yerel depo adından genel depo adına kadar olan sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümlemesi üzerinde kontrol sağlar.

Örneğin, `"@foo": "@bar"` girişi, bu depo herhangi bir zamanda `@foo` öğesine bağlı olduğunda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığın aslında genel olarak tanımlanmış `@bar` içinde çözülmesi gerektiğini (ör. `@bar//some:target`) belirtir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden SHA-256'yı atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce 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 desteklenmez. urls parametresi, getirilecek alternatif URL'leri belirtmeye olanak tanıyarak daha fazla esneklik sağlar.

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 desteklenmez. URL'ler, başarılı olana kadar sırayla denenir. Bu nedenle, önce yerel yansıtma sitelerini 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 bunu java_import olarak kullanılabilir hale getirir.

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

Örnekler: Mevcut deponun, ~/chat-app dizininde köklenmiş bir sohbet programının kaynak kodunu içerdiğini varsayalım. http://example.com/openssl-0.2.jar adresinden edinilebilen bir SSL kitaplığına bağlı olması gerekir.

~/chat-app deposundaki hedefler, aşağıdaki satırlar ~/chat-app/WORKSPACE'ye eklenirse 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ğlı olmak için @my_ssl//jar'ı bağımlılık olarak belirtir.

Unix tabanlı sistemlerdeyseniz "file:///path/to/file" 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 çizgi (/) olduğuna dikkat edin. İlk iki eğik çizgi file://'ye, üçüncü eğik çizgi ise dosyanın mutlak yoluna aittir.

Özellikler

name Ad; zorunlu

Bu depo için benzersiz bir ad.

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

Ana makine adlarını özel yetkilendirme kalıplarıyla eşleyen isteğe bağlı bir sözlük. Bir URL'nin ana makine adı bu sözlükte varsa değer, HTTP isteği için yetkilendirme başlığı oluşturulurken kalıp olarak kullanılır. Bu, birçok yaygın bulut depolama sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılmasını sağlar. Şu anda desende 2 jeton desteklenmektedir: <login> ve <password>. Bu jetonlar, aynı ana makine adı için netrc dosyasındaki 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ı jeton kullanılarak OAuth2 etkin bir API'ye HTTP indirme işlemi için örnek özellik ve netrc:

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

canonical_id Dize; isteğe bağlı

İndirilen dosyanın standart kimliği. Belirtilmişse ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemişse veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini kanonik kimlik olarak kullanır. Bu, URL'leri güncellerken karma değerini de güncellemeyerek yaygın bir hatayı yakalamaya yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosya bulunmayan makinelerde başarısız olan derlemelere neden olur. 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'a atanan dosya adı

integrity Dize; isteğe bağlı

İndirilen dosyanın alt kaynak bütünlüğü biçimindeki beklenen sağlama toplamı. Bu, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden sağlama toplamını atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce 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 Dictionary: String -> String; zorunlu

Yerel depo adından genel depo adına kadar olan sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümlemesi üzerinde kontrol sağlar.

Örneğin, `"@foo": "@bar"` girişi, bu depo herhangi bir zamanda `@foo` öğesine bağlı olduğunda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığın aslında genel olarak tanımlanmış `@bar` içinde çözülmesi gerektiğini (ör. `@bar//some:target`) belirtir.

sha256 Dize; isteğe bağlı

İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 karmasıyla eşleşmelidir. _Uzak dosyalar değişebileceğinden SHA-256'yı atlamak güvenlik riski oluşturur._ Bu alanı atlamak en iyi ihtimalle derlemenizi hermetik olmayan bir derleme haline getirir. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak gönderimden önce bu özellik veya "integrity" özelliği 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 desteklenmez. urls parametresi, getirilecek alternatif URL'leri belirtmeye olanak tanıyarak daha fazla esneklik sağlar. 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 desteklenmez. URL'ler, başarılı olana kadar sırayla denenir. Bu nedenle, önce yerel yansıtma sitelerini 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.