Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:http.bzl
üzerinden yüklenebilir.
HTTP üzerinden dosya ve arşiv indirme kuralları.
Kurulum
Bu kuralları kullanmak için WORKSPACE
dosyanıza aşağıdaki şekilde yükleyin:
load(
"@bazel_tools//tools/build_defs/repo:http.bzl",
"http_archive",
"http_file",
"http_jar",
)
Bu kurallar, yerel http kurallarının iyileş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_file_integrity, remote_file_urls, remote_patch_strip, remote_patches, repo_mapping, sha256, strip_prefix, type, url, urls, workspace_file, workspace_file_content)
Bazel deposunu sıkıştırılmış arşiv dosyası olarak indirir, sıkıştırılmış dosyayı açar ve hedeflerini bağlama için uygun 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, ~/chat-app
dizininde bulunan bir sohbet programının kaynak kodunun bulunduğunu varsayalım. Bunun, http://example.com/openssl.zip adresindeki bir SSL kitaplığına bağlı olması gerekir. 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"],
)
Aşağıdaki satırlar ~/chat-app/WORKSPACE
bölümüne 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",
)
Ardından hedefler bağımlılık olarak @my_ssl//:openssl-lib
değerini belirtir.
Özellikler
name |
Ad; gerekli
Bu depo 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 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" ile açılır. |
auth_patterns |
Sözlük: Dize -> Dize; isteğe bağlı
Ana makine adlarını özel yetkilendirme kalıplarıyla eşleştiren isteğe bağlı bir dikte.
Bir URL'nin ana makine adı bu diktede 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ılabilmesini sağlar.
Kalıp şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" }netrc: machine storage.cloudprovider.com password RANDOM-TOKENNihai HTTP isteği aşağıdaki başlığa sahip olur: Authorization: Bearer RANDOM-TOKEN |
build_file |
Etiket; isteğe bağlı
Bu kod deposu 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ına gerek yoktur, ancak şöyle olabilir: (BUILD.new-repo-name gibi bir ad, onu deponun gerçek BUILD dosyalarından ayırt etmek için işe yarayabilir. Build_file veya build_file_content ikisi 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 ikisi belirtilebilir ancak ikisi birden belirtilemez. |
canonical_id |
Dize; isteğe bağlı
İndirilen dosyanın standart kimliği. Belirtilir ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemiş veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini standart kimlik olarak kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Bu sayede, derlemeler yerel olarak başarılı olurken önbellekte dosya bulunmayan makinelerde başarısız 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 değer, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamının atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak 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 değeri gerekir. Birden fazla -p bağımsız değişkeni belirtilirse son bağımsız değişken geçerli olur. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'da yerel yama uygulaması yerine yama komut satırı aracını kullanmak için yedeklenir. Yama komut satırı aracına geri dönülürken ve patch_tool özelliği belirtilmediyse "patch" kullanılır. Bu durum yalnızca "yamalar" ö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'da uygulanacak Powershell komutları dizisi. Bu özellik ayarlanmazsa patch_cmds Windows'da yürütülür ve bu da Bash ikili programının mevcut olmasını gerektirir. |
patch_tool |
Dize; isteğe bağlı
Kullanılacak yama(1) yardımcı programı. Bu belirtilirse Bazel, Bazel'de yerel yama uygulaması yerine belirtilen yama 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, fuzz eşleme ve ikili yamayı desteklemeyen Bazel'da yerel yama uygulamasını kullanır. Ancak "yama_aracı" ö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 devam eder. |
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) haritası. 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 depoda yer paylaşımlı dosyalar olarak kullanıma sunulacak URL'lerin (değer) listesine giden göreli yolların (anahtar) eşlemesi. Bu, mevcut bir deponun üzerine WORKSPACE veya BUILD.bazel dosyaları eklemek istediğinizde kullanışlıdır. Yamalar "yamalar" özelliğine uygulanmadan önce dosyalar indirilir ve URL listesinin tümü aynı dosyanın olası yansıtmaları olmalıdır. URL'ler, biri başarılı olana kadar sırayla denenir. |
remote_patch_strip |
Tam sayı; isteğe bağlı
Uzak yamalarda dosya adından çıkarılacak baştaki 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 "yamalar" özelliğinden yama dosyaları uygulanmadan önce uygulanır. Bazel'da yerel yama uygulamasını kullanır. Yama şeridi numarasını "remote_patch_strip" ile belirtebilirsiniz. |
repo_mapping |
Sözlük: Dize -> Dize; gerekli
Yerel depo adından genel depo adına bir sözlük. Bu sayede, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olursunuz. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" öğesine bağlı olduğu her durumda (örneğin, @foo//some:target'a bağlı olan bir bağımlılığın aslında genel olarak tanımlanan "@bar" ("@bar//some:target") içindeki bağımlılığı çözmesi gerektiğini belirtir. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256'sıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'nın atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik olmayan hale getirir. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce bu özellik veya "bütünlük" ayarlanmalıdır. |
strip_prefix |
Dize; isteğe bağlı
Ayıklanan dosyalardan alınacak dizin ön eki. Birçok arşiv, arşivdeki tüm yararlı dosyaları içeren üst düzey bir dizin içerir. Bu ön eki "build_file" içinde tekrar tekrar belirtmek yerine, bu alan onu çıkarılan tüm dosyalardan ayırmak için kullanılabilir. Örneğin, 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çeren "foo-lib-Son.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 dizin dışında dosyalar varsa bunların silineceğini ve erişilemeyeceklerini (ör. üst düzey bir lisans dosyası) unutmayın. Buna, önekle başlayan ancak dizinde bulunmayan dosyalar/dizinler dahildir (ör. "foo-lib-1.2.3.release-notes"). Belirtilen ön ek arşivdeki bir dizinle eşleşmezse Bazel bir 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 şunlardan birini açıkça belirtebilirsiniz: `"zip"`, `"jar"`, `"war"`, `"aar"`, `"tar"`, `"tar.gz", `"tgz"`, `"tar.xz"`, `"txz"", ``z.", ``ztar", `"tar. |
url |
Dize; isteğe bağlı
Bazel'in kullanımına sunulacak dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirilecek alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik elde edebilir. |
urls |
Dize listesi; isteğe bağlı
Bazel'ın kullanımına sunulacak 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, başarılı olana kadar sırayla denenir. Bu nedenle ö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"den biri belirtilebilir ya da 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"den biri belirtilebilir ya da 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 bunu, 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 adresinde bulabilirsiniz. Ardından WORKSPACE dosyanıza:
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ı bir bağımlılık olarak @my_deb//file
belirtir.
Özellikler
name |
Ad; gerekli
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şleştiren isteğe bağlı bir dikte.
Bir URL'nin ana makine adı bu diktede 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ılabilmesini sağlar.
Kalıp şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" }netrc: machine storage.cloudprovider.com password RANDOM-TOKENNihai HTTP isteği aşağıdaki başlığa sahip olur: Authorization: Bearer RANDOM-TOKEN |
canonical_id |
Dize; isteğe bağlı
İndirilen dosyanın standart kimliği. Belirtilir ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemiş veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini standart kimlik olarak kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Bu sayede, derlemeler yerel olarak başarılı olurken önbellekte dosya bulunmayan makinelerde başarısız 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 gelip gelmediği. |
integrity |
Dize; isteğe bağlı
İndirilen dosyanın Alt Kaynak Bütünlüğü biçiminde beklenen sağlama toplamı. Bu değer, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamının atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak 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 |
Sözlük: Dize -> Dize; gerekli
Yerel depo adından genel depo adına bir sözlük. Bu sayede, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olursunuz. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" öğesine bağlı olduğu her durumda (örneğin, @foo//some:target'a bağlı olan bir bağımlılığın aslında genel olarak tanımlanan "@bar" ("@bar//some:target") içindeki bağımlılığı çözmesi gerektiğini belirtir. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256'sıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'nın atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik olmayan hale getirir. Geliştirmeyi kolaylaştırmak 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 dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirilecek alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik elde edebilir. |
urls |
Dize listesi; isteğe bağlı
Bazel'ın kullanımına sunulacak 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, başarılı olana kadar sırayla denenir. Bu nedenle ö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)
URL'den bir jar dosyası indirir ve java_import olarak kullanılabilir hale getirir
İndirilen dosyaların uzantısı .jar olmalıdır.
Örnekler: Mevcut depoda, ~/chat-app
dizininde bulunan bir sohbet programının kaynak kodunun bulunduğunu varsayalım. http://example.com/openssl-0.2.jar
sağlayıcısında bulunan bir SSL kitaplığına bağlı olması gerekir.
Aşağıdaki satırlar ~/chat-app/WORKSPACE
bölümüne 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ğımlı bir bağımlılık olarak @my_ssl//jar
belirtir.
Unix tabanlı bir sistem kullanıyorsanız "file:///path/to/file"ı kullanarak mevcut sistemdeki (localhost) dosyalara referans verebilirsiniz. Windows kullanıyorsanız "file:///c:/path/to/file"ı kullanın. Her iki örnekte de üç eğik çizgiye (/
) dikkat edin. İlk iki eğik çizgi file://
, üçüncü eğik çizgi ise dosyanın mutlak yoluna aittir.
Özellikler
name |
Ad; gerekli
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şleştiren isteğe bağlı bir dikte.
Bir URL'nin ana makine adı bu diktede 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ılabilmesini sağlar.
Kalıp şu anda 2 jetonu desteklemektedir: auth_patterns = { "storage.cloudprovider.com": "Bearer <password>" }netrc: machine storage.cloudprovider.com password RANDOM-TOKENNihai HTTP isteği aşağıdaki başlığa sahip olur: Authorization: Bearer RANDOM-TOKEN |
canonical_id |
Dize; isteğe bağlı
İndirilen dosyanın standart kimliği. Belirtilir ve boş değilse Bazel, aynı standart kimliğe sahip bir istek tarafından önbelleğe eklenmediği sürece dosyayı önbellekten almaz. Belirtilmemiş veya boşsa Bazel, varsayılan olarak dosyanın URL'lerini standart kimlik olarak kullanır. Bu, karmayı güncellemeden URL'leri güncelleme gibi yaygın bir hatanın yakalanmasına yardımcı olur. Bu sayede, derlemeler yerel olarak başarılı olurken önbellekte dosya bulunmayan makinelerde başarısız 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ı
Jartona atanan dosya adı indirildi |
integrity |
Dize; isteğe bağlı
İndirilen dosyanın Alt Kaynak Bütünlüğü biçiminde beklenen sağlama toplamı. Bu değer, indirilen dosyanın sağlama toplamıyla eşleşmelidir. _Uzak dosyalar değişebileceği için sağlama toplamının atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik hale getirmez. Geliştirmeyi kolaylaştırmak 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 |
Sözlük: Dize -> Dize; gerekli
Yerel depo adından genel depo adına bir sözlük. Bu sayede, bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olursunuz. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" öğesine bağlı olduğu her durumda (örneğin, @foo//some:target'a bağlı olan bir bağımlılığın aslında genel olarak tanımlanan "@bar" ("@bar//some:target") içindeki bağımlılığı çözmesi gerektiğini belirtir. |
sha256 |
Dize; isteğe bağlı
İndirilen dosyanın beklenen SHA-256'sı. Bu, indirilen dosyanın SHA-256'sıyla eşleşmelidir. _Uzak dosyalar değişebileceği için SHA-256'nın atlanması güvenlik riski oluşturur._ Bu alanın atlanması, derlemenizi hermetik olmayan hale getirir. Geliştirmeyi kolaylaştırmak isteğe bağlıdır ancak gönderimden önce bu özellik veya "bütünlük" ayarlanmalıdır. |
url |
Dize; isteğe bağlı
Bazel'in kullanımına sunulacak dosyanın URL'si. Bu bir dosya, http veya https URL'si olmalıdır. Yönlendirmeler takip edilir. Kimlik doğrulama desteklenmiyor. Getirilecek alternatif URL'lerin belirtilmesine olanak tanıyan urls parametresi, daha fazla esneklik elde edebilir. URL ".jar" ile bitmelidir. |
urls |
Dize listesi; isteğe bağlı
Bazel'ın kullanımına sunulacak 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, başarılı olana kadar sırayla denenir. Bu nedenle ö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. |