Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:http.bzl
'ten yüklenebilir.
HTTP üzerinden dosya ve arşiv 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
simgesini 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 repo kurallarını doğrudan MODULE.bazel dosyanızda 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
load("@bazel//tools/build_defs/repo:http.bzl", "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_strip, 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, sıkıştırmasını çözer 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 depoda, kökü ~/chat-app
dizininde olan bir sohbet programının kaynak kodunun bulunduğu varsayılır. http://example.com/openssl.zip adresinden edinilebilen bir SSL kitaplığına bağlı olmalıdır. Bu .zip
dosyası şu 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/WORKSPACE
deposundaki hedefler, ~/chat-app/WORKSPACE
'a aşağıdaki satırlar eklenirse bu hedefe bağlı olabilir:~/chat-app
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
'ü bağımlılık olarak belirtir.
ÖZELLİKLER
name |
Ad; zorunlu
Bu depo için benzersiz bir ad. |
add_prefix |
Dize; isteğe bağlı
Depo dizine göre hedef dizin. Arşivdeki dosya yollarına "strip_prefix" (varsa) uygulandıktan sonra arşiv 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 paketten çıkarı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 mevcutsa değer, HTTP isteği için yetkilendirme başlığı oluşturulurken kalıp olarak kullanılır. Bu sayede, birçok yaygın bulut depolama sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılmasına olanak tanınmaktadır.
Desen şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" } machine storage.cloudprovider.com password RANDOM-TOKEN Authorization: Bearer RANDOM-TOKEN |
build_file |
Etiket; isteğe bağlı
Bu depolar 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 (BUILD.yeni-depo-adı gibi bir ad, deponun asıl BUILD dosyalarından ayırt edilmesini sağlayabilir. build_file veya build_file_content belirtilebilir ancak ikisi birden belirtilemez. |
build_file_content |
Dize; isteğe bağlı
Bu deponun 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. Belirtilen ve boş olmayan bir değer ise 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 canonical ID olarak kullanır. Bu, karma oluşturma işlemini güncellemeden URL'leri güncellemeyle ilgili yaygın hatayı yakalamanıza yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosyası olmayan 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ç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ı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak bu özellik veya "sha256" gönderimden önce 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ğerini alır ("patch_strip" özelliğine bakın). Ancak git tarafından oluşturulan yamalar için genellikle -p1 değerine ihtiyaç duyulur. Birden fazla -p bağımsız değişkeni belirtilirse en son bağımsız değişken geçerli olur. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'e özgü yamayı uygulamak yerine yamayı komut satırı aracıyla uygular. Yama komut satırı aracına geri dönüldüğünde ve patch_tool özelliği belirtilmediğinde "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'ta uygulanacak Bash komutları dizisi. |
patch_cmds_win |
Dize listesi; isteğe bağlı
Yamalar uygulandıktan sonra Windows'a uygulanacak PowerShell komutları dizisi. Bu özellik ayarlanmazsa patch_cmds Windows'ta yürütülür. Bunun için Bash ikilisinin mevcut olması gerekir. |
patch_strip |
Tam sayı; isteğe bağlı
"N" olarak ayarlandığında bu, "patch_args"ın başına "-pN" eklenmesiyle aynıdır. |
patch_tool |
Dize; isteğe bağlı
Kullanılacak yamalı(1) yardımcı program. Bu belirtilirse Bazel, Bazel'e özgü yamalar yerine belirtilen yamalar aracını kullanır. |
patches |
Etiket listesi; isteğe bağlı
Arşiv çıkarıldıktan sonra yama olarak uygulanacak dosyaların listesi. Varsayılan olarak, bulanık eşleşmeyi ve ikili yamayı desteklemeyen Bazel'e özgü yamayı kullanır. Ancak Bazel, "patch_tool" özelliği belirtilirse veya "patch_args" özelliğinde "-p" dışında başka bağımsız değişkenler varsa yedek olarak yamayı komut satırı aracını kullanır. |
remote_file_integrity |
Sözlük: Dize -> Dize; isteğe bağlı
Dosya göreli yollarının (anahtar) bütünlük değeriyle (değer) eşlemesi. 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ı
İndirilecek ve depo üzerinde yer paylaşımlı dosyalar olarak kullanıma sunulacak URL'lerin (değer) göreli yollarının (anahtar) haritası. Bu, mevcut bir deponun üzerine WORKSPACE veya BUILD.bazel dosyaları eklemek istediğinizde kullanışlıdır. Dosyalar, "patches" özelliğindeki yamalar uygulanmadan önce indirilir ve URL listesinin tamamı aynı dosyanın olası aynaları 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 ön eğik çizgi 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. Arşiv çıkarıldıktan sonra ve "patches" özelliğindeki yama dosyaları uygulanmadan önce uygulanır. Bazel'e özgü yamayı kullanır. "remote_patch_strip" ile yamanın şerit numarasını belirtebilirsiniz. |
repo_mapping |
Sözlük: Dize -> Dize; isteğe bağlı
Yalnızca "WORKSPACE" bağlamında: yerel depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olmanızı sağlar. Örneğin, "@foo": "@bar" girişi, bu deposunun "@foo"a bağımlı olduğu her durumda (ör. "@foo//some:target" bağımlılığı) bu bağımlılığı aslında global olarak tanımlanmış "@bar" ("@bar//some:target") içinde çözmesi gerektiğini belirtir. Bu özellik, "MODULE.bazel" bağlamında (bir modül uzantısının uygulama işlevi içinde bir depo kuralı çağırırken) _desteklenmez_. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 değeriyle eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak bu özellik veya "integrity", dağıtımdan önce ayarlanmalıdır. |
strip_prefix |
Dize; isteğe bağlı
Çıkarılan dosyalardan kaldırılacak bir dizin ön eki. Birçok arşivde, arşivdeki tüm yararlı dosyaları içeren bir üst düzey dizin bulunur. Bu ön eki "build_file" içinde tekrar tekrar belirtmek yerine, bu alan kullanılarak ayıklanan tüm dosyalardan kaldırılabilir. Örneğin, "foo-lib-1.2.3/" dizini içeren "foo-lib-latest.zip" dosyasını kullandığınızı varsayalım. Bu dizin altında bir "WORKSPACE" dosyası ve derlemek istediğiniz asıl kodu içeren "src/", "lib/" ve "test/" dizinleri bulunur. Üst düzey dizin olarak `foo-lib-1.2.3` dizinini kullanmak için `strip_prefix = "foo-lib-1.2.3"` değerini belirtin. Bu dizinin dışındaki dosyaların (ör. üst düzey lisans dosyası) kaldırılacağını ve bunlara erişilemeyeceğini unutmayın. Bu, önek ile başlayan ancak dizinde bulunmayan dosyaları/dizinleri (ö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ı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 kullanabileceği bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmez. Getirilecek alternatif URL'leri belirtmenize olanak tanıyan urls parametresi sayesinde daha fazla esneklik elde edebilirsiniz. |
urls |
Dize listesi; isteğe bağlı
Bazel'e 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 aynaları listelemeniz gerekir. Tüm indirmeler başarısız olursa kural da başarısız olur. |
workspace_file |
Etiket; isteğe bağlı
Bu deponun "WORKSPACE" dosyası olarak kullanılacak dosya. "workspace_file" veya "workspace_file_content" belirtilebilir. İkisi birden belirtilemez. |
workspace_file_content |
Dize; isteğe bağlı
Bu deponun WORKSPACE dosyasının içeriği. "workspace_file" veya "workspace_file_content" belirtilebilir. İkisi birden belirtilemez. |
ORTAM DEĞİŞKENLERİ
Bu depo kuralı aşağıdaki ortam değişkenlerine bağlıdır:
BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID
http_file
load("@bazel//tools/build_defs/repo:http.bzl", "http_file") http_file(name, auth_patterns, canonical_id, downloaded_file_path, executable, integrity, netrc, repo_mapping, sha256, url, urls)
Bir dosyayı URL'den indirir ve dosya grubu olarak kullanılabilmesini sağlar.
Örnekler: Özel kurallarınız için bir debian paketine ihtiyacınız olduğunu varsayalım. Bu paketi http://example.com/package.deb adresinden indirebilirsiniz. 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ı olacak bağımlılık olarak @my_deb//file
'ü belirtir.
ÖZELLİKLER
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 mevcutsa değer, HTTP isteği için yetkilendirme başlığı oluşturulurken kalıp olarak kullanılır. Bu sayede, birçok yaygın bulut depolama sağlayıcısında kullanılan özel yetkilendirme şemalarının kullanılmasına olanak tanınmaktadır.
Desen şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" } machine storage.cloudprovider.com password RANDOM-TOKEN Authorization: Bearer RANDOM-TOKEN |
canonical_id |
Dize; isteğe bağlı
İndirilen dosyanın standart kimliği. Belirtilen ve boş olmayan bir değer ise 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 canonical ID olarak kullanır. Bu, karma oluşturma işlemini güncellemeden URL'leri güncellemeyle ilgili yaygın hatayı yakalamanıza yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosyası olmayan 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ç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ı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak bu özellik veya "sha256" gönderimden önce 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; isteğe bağlı
Yalnızca "WORKSPACE" bağlamında: yerel depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olmanızı sağlar. Örneğin, "@foo": "@bar" girişi, bu deposunun "@foo"a bağımlı olduğu her durumda (ör. "@foo//some:target" bağımlılığı) bu bağımlılığı aslında global olarak tanımlanmış "@bar" ("@bar//some:target") içinde çözmesi gerektiğini belirtir. Bu özellik, "MODULE.bazel" bağlamında (bir modül uzantısının uygulama işlevi içinde bir depo kuralı çağırırken) _desteklenmez_. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 değeriyle eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlı olarak kullanılabilir ancak dağıtımdan önce ayarlanmalıdır. |
url |
Dize; isteğe bağlı
Bazel'in kullanabileceği bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmez. Getirilecek alternatif URL'leri belirtmenize olanak tanıyan urls parametresi sayesinde daha fazla esneklik elde edebilirsiniz. |
urls |
Dize listesi; isteğe bağlı
Bazel'e 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 aynaları listelemeniz gerekir. Tüm indirmeler başarısız olursa kural da başarısız olur. |
ORTAM DEĞİŞKENLERİ
Bu depo kuralı aşağıdaki ortam değişkenlerine bağlıdır:
BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID
http_jar
load("@bazel//tools/build_defs/repo:http.bzl", "http_jar") http_jar(name, auth_patterns, canonical_id, downloaded_file_name, integrity, netrc, repo_mapping, sha256, url, urls)
Bir URL'den jar dosyasını indirip java_import olarak kullanılabilir hale getirir.
İndirilen dosyaların uzantısı .jar olmalıdır.
Örnekler:
Mevcut depoda, ~/chat-app
dizininde köklenen bir sohbet programının kaynak kodunun bulunduğu varsayılır. http://example.com/openssl-0.2.jar
adresinden kullanılabilen bir SSL kitaplığına bağlı olmalıdır.
Aşağıdaki satırlar ~/chat-app/WORKSPACE
'a 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 dosyasına bağlı bir bağımlılık olarak @my_ssl//jar
'ü belirtir.
Unix tabanlı sistemlerdeyseniz "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://
'a, üçüncü eğik çizgi ise dosyanın mutlak yoluna aittir.
ÖZELLİKLER
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 mevcutsa 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.
Desen şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" } machine storage.cloudprovider.com password RANDOM-TOKEN Authorization: Bearer RANDOM-TOKEN |
canonical_id |
Dize; isteğe bağlı
İndirilen dosyanın standart kimliği. Belirtilen ve boş olmayan bir değer ise 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 canonical ID olarak kullanır. Bu, karma oluşturma işlemini güncellemeden URL'leri güncellemeyle ilgili yaygın hatayı yakalamanıza yardımcı olur. Bu hata, yerel olarak başarılı olan ancak önbellekte dosyası olmayan 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 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ı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak bu özellik veya "sha256" gönderimden önce 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; isteğe bağlı
Yalnızca "WORKSPACE" bağlamında: yerel depolama alanı adından genel depolama alanı adına giden bir sözlük. Bu, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olmanızı sağlar. Örneğin, "@foo": "@bar" girişi, bu deposunun "@foo"a bağımlı olduğu her durumda (ör. "@foo//some:target" bağımlılığı) bu bağımlılığı aslında global olarak tanımlanmış "@bar" ("@bar//some:target") içinde çözmesi gerektiğini belirtir. Bu özellik, "MODULE.bazel" bağlamında (bir modül uzantısının uygulama işlevi içinde bir depo kuralı çağırırken) _desteklenmez_. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256 karması. Bu, indirilen dosyanın SHA-256 değeriyle eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'yı çıkarmak güvenlik riski oluşturur._ Bu alanın çıkarılması, en iyi ihtimalle derlemenizin hermetik olmasını engeller. Geliştirmeyi kolaylaştırmak için isteğe bağlıdır ancak bu özellik veya "integrity", dağıtımdan önce ayarlanmalıdır. |
url |
Dize; isteğe bağlı
Bazel'in kullanabileceği bir dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmez. Getirilecek alternatif URL'leri belirtmenize olanak tanıyan urls parametresi sayesinde daha fazla esneklik elde edebilirsiniz. URL, ".jar" ile bitmelidir. |
urls |
Dize listesi; isteğe bağlı
Bazel'in kullanabileceği 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 aynaları listelemeniz gerekir. Tüm indirmeler başarısız olursa kural da başarısız olur. Tüm URL'ler ".jar" ile bitmelidir. |
ORTAM DEĞİŞKENLERİ
Bu depo kuralı aşağıdaki ortam değişkenlerine bağlıdır:
BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID