Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:git.bzl konumundan yüklenebilir.
Harici Git depolarını klonlama kuralları.
git_repository
load("@bazel//tools/build_defs/repo:git.bzl", "git_repository")
git_repository(name, branch, build_file, build_file_content, canonical_id, commit, init_submodules,
patch_args, patch_cmds, patch_cmds_win, patch_strip, patch_tool, patches,
recursive_init_submodules, remote, remote_module_file_integrity,
remote_module_file_urls, remote_patch_strip, remote_patches, shallow_since,
sparse_checkout_file, sparse_checkout_patterns, strip_prefix, tag, verbose,
workspace_file, workspace_file_content)
Harici bir Git deposunu klonlayın.
Bir Git deposunu klonlar, belirtilen dalı, etiketi veya kaydı kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Şube, etiket veya commit belirtilmemişse deponun varsayılan şubesini kullanın. Ayrıca, kullanıma alınan commit'in kimliğini ve tarihini belirleyin ve bu kuralın yeniden üretilebilir bir sürümünü sağlayan parametrelerle (etiket veya dalın mutlaka olması gerekmez) bir sözlük döndürün.
Bazel, önce yalnızca belirtilen commit'in yüzeysel bir şekilde getirilmesini deneyecektir. Bu işlem başarısız olursa (genellikle sunucu desteğinin olmaması nedeniyle) depo tam olarak getirilir.
git_repository yerine http_archive tercih edilir.
Nedenleri:
- Git deposu kuralları sistem
git(1)'ya bağlıdır. HTTP indirici ise Bazel'e yerleştirilmiştir ve sistem bağımlılıkları yoktur. http_archive, yansıtma olarakurlslistesini destekler.git_repositoryise yalnızca tek birremote'ü destekler.http_archive, depo önbelleği ile çalışır ancakgit_repositoryile çalışmaz. Daha fazla bilgi için #5116 numaralı makaleyi inceleyin.
ÖZELLİKLER
name |
Ad; zorunlu
Bu depo için benzersiz bir ad. |
branch |
Dize; isteğe bağlı
uzak depodaki dalı kontrol edin. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
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 gibi bir ad, dosyayı depodaki asıl BUILD dosyalarından ayırt etmek için iyi bir seçenek olabilir). |
build_file_content |
Dize; isteğe bağlı
Bu depo için DERLEME dosyasının içeriği. |
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 yerel olarak başarılı olan ancak önbellekte dosya bulunmayan makinelerde başarısız olan derlemeler oluşturma gibi yaygın bir hatayı yakalamaya yardımcı olur. Bu davranış, --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0 ile devre dışı bırakılabilir. |
commit |
Dize; isteğe bağlı
belirli bir commit'i kullanmak için. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
init_submodules |
Boole; isteğe bağlı
Depodaki alt modüllerin klonlanıp klonlanmayacağı. |
patch_args |
Dize listesi; isteğe bağlı
Yama aracına verilen bağımsız değişkenler. Varsayılan olarak -p0'dır (bkz. "patch_strip" özelliği). 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. |
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. Bunun için Bash ikili programının mevcut olması gerekir. |
patch_strip |
Tamsayı; isteğe bağlı
`N` olarak ayarlandığında, `patch_args` değerinin başına `-pN` eklenmesiyle aynı etkiye sahiptir. |
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. |
recursive_init_submodules |
Boole; isteğe bağlı
Alt modüllerin depoda yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
Dize; zorunlu
Uzak Git deposunun URI'si |
remote_module_file_integrity |
Dize; isteğe bağlı
Yalnızca dahili kullanım içindir. |
remote_module_file_urls |
Dize listesi; isteğe bağlı
Yalnızca dahili kullanım içindir. |
remote_patch_strip |
Tamsayı; 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, depoyu klonladıktan sonra ve `patches` özelliğindeki yama dosyalarını uygulamadan önce uygulanır. Bazel'e özgü yama uygulamasını kullanır. Yama şeridi numarasını `remote_patch_strip` ile belirtebilirsiniz. |
shallow_since |
Dize; isteğe bağlı
Belirtilen commit'ten sonra olmayan isteğe bağlı bir tarih; bir etiket veya dal belirtilmişse bağımsız değişkene izin verilmez (bu, her zaman --depth=1 ile klonlanabilir). Böyle bir tarihi belirtilen işleme yakın bir tarihe ayarlamak, sunucu rastgele işlemelerin sığ getirilmesini desteklemese bile deponun sığ bir şekilde klonlanmasına olanak tanıyabilir. Git'in --shallow-since uygulamasındaki hatalar nedeniyle, bu özelliğin kullanılması getirme hatalarına yol açabileceğinden önerilmez. |
sparse_checkout_file |
Etiket; isteğe bağlı
Bu depodaki dosyaların seyrek ödeme işlemi için .gitignore tarzı kalıplar içeren dosya. `sparse_checkout_patterns` veya `sparse_checkout_file` özelliklerinden biri ya da hiçbiri belirtilebilir ancak ikisi birden belirtilemez. |
sparse_checkout_patterns |
Dize listesi; isteğe bağlı
Bu depodaki dosyaların seyrek ödeme için kalıpların sırası. |
strip_prefix |
Dize; isteğe bağlı
Çıkarılan dosyalardan kaldırılacak bir dizin öneki. |
tag |
Dize; isteğe bağlı
etiketi, uzak depoda kullanıma alınır. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
verbose |
Boole; isteğe bağlı |
workspace_file |
Etiket; isteğe bağlı
İşlem yapmayan özellik; kullanmayın. |
workspace_file_content |
Dize; isteğe bağlı
İşlem yapmayan özellik; kullanmayın. |
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
new_git_repository
load("@bazel//tools/build_defs/repo:git.bzl", "new_git_repository")
new_git_repository(name, branch, build_file, build_file_content, canonical_id, commit,
init_submodules, patch_args, patch_cmds, patch_cmds_win, patch_strip, patch_tool,
patches, recursive_init_submodules, remote, remote_module_file_integrity,
remote_module_file_urls, remote_patch_strip, remote_patches, shallow_since,
sparse_checkout_file, sparse_checkout_patterns, strip_prefix, tag, verbose,
workspace_file, workspace_file_content)
Harici bir Git deposunu klonlayın.
Bir Git deposunu klonlar, belirtilen dalı, etiketi veya kaydı kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Şube, etiket veya commit belirtilmemişse deponun varsayılan şubesini kullanın. Ayrıca, kullanıma alınan commit'in kimliğini ve tarihini belirleyin ve bu kuralın yeniden üretilebilir bir sürümünü sağlayan parametrelerle (etiket veya dalın mutlaka olması gerekmez) bir sözlük döndürün.
Bazel, önce yalnızca belirtilen commit'in yüzeysel bir şekilde getirilmesini deneyecektir. Bu işlem başarısız olursa (genellikle sunucu desteğinin olmaması nedeniyle) depo tam olarak getirilir.
git_repository yerine http_archive tercih edilir.
Nedenleri:
- Git deposu kuralları sistem
git(1)'ya bağlıdır. HTTP indirici ise Bazel'e yerleştirilmiştir ve sistem bağımlılıkları yoktur. http_archive, yansıtma olarakurlslistesini destekler.git_repositoryise yalnızca tek birremote'ü destekler.http_archive, depo önbelleği ile çalışır ancakgit_repositoryile çalışmaz. Daha fazla bilgi için #5116 numaralı makaleyi inceleyin.
ÖZELLİKLER
name |
Ad; zorunlu
Bu depo için benzersiz bir ad. |
branch |
Dize; isteğe bağlı
uzak depodaki dalı kontrol edin. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
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 gibi bir ad, dosyayı depodaki asıl BUILD dosyalarından ayırt etmek için iyi bir seçenek olabilir). |
build_file_content |
Dize; isteğe bağlı
Bu depo için DERLEME dosyasının içeriği. |
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 yerel olarak başarılı olan ancak önbellekte dosya bulunmayan makinelerde başarısız olan derlemeler oluşturma gibi yaygın bir hatayı yakalamaya yardımcı olur. Bu davranış, --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0 ile devre dışı bırakılabilir. |
commit |
Dize; isteğe bağlı
belirli bir commit'i kullanmak için. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
init_submodules |
Boole; isteğe bağlı
Depodaki alt modüllerin klonlanıp klonlanmayacağı. |
patch_args |
Dize listesi; isteğe bağlı
Yama aracına verilen bağımsız değişkenler. Varsayılan olarak -p0'dır (bkz. "patch_strip" özelliği). 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. |
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. Bunun için Bash ikili programının mevcut olması gerekir. |
patch_strip |
Tamsayı; isteğe bağlı
`N` olarak ayarlandığında, `patch_args` değerinin başına `-pN` eklenmesiyle aynı etkiye sahiptir. |
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. |
recursive_init_submodules |
Boole; isteğe bağlı
Alt modüllerin depoda yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
Dize; zorunlu
Uzak Git deposunun URI'si |
remote_module_file_integrity |
Dize; isteğe bağlı
Yalnızca dahili kullanım içindir. |
remote_module_file_urls |
Dize listesi; isteğe bağlı
Yalnızca dahili kullanım içindir. |
remote_patch_strip |
Tamsayı; 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, depoyu klonladıktan sonra ve `patches` özelliğindeki yama dosyalarını uygulamadan önce uygulanır. Bazel'e özgü yama uygulamasını kullanır. Yama şeridi numarasını `remote_patch_strip` ile belirtebilirsiniz. |
shallow_since |
Dize; isteğe bağlı
Belirtilen commit'ten sonra olmayan isteğe bağlı bir tarih; bir etiket veya dal belirtilmişse bağımsız değişkene izin verilmez (bu, her zaman --depth=1 ile klonlanabilir). Böyle bir tarihi belirtilen işleme yakın bir tarihe ayarlamak, sunucu rastgele işlemelerin sığ getirilmesini desteklemese bile deponun sığ bir şekilde klonlanmasına olanak tanıyabilir. Git'in --shallow-since uygulamasındaki hatalar nedeniyle, bu özelliğin kullanılması getirme hatalarına yol açabileceğinden önerilmez. |
sparse_checkout_file |
Etiket; isteğe bağlı
Bu depodaki dosyaların seyrek ödeme işlemi için .gitignore tarzı kalıplar içeren dosya. `sparse_checkout_patterns` veya `sparse_checkout_file` özelliklerinden biri ya da hiçbiri belirtilebilir ancak ikisi birden belirtilemez. |
sparse_checkout_patterns |
Dize listesi; isteğe bağlı
Bu depodaki dosyaların seyrek ödeme için kalıpların sırası. |
strip_prefix |
Dize; isteğe bağlı
Çıkarılan dosyalardan kaldırılacak bir dizin öneki. |
tag |
Dize; isteğe bağlı
etiketi, uzak depoda kullanıma alınır. Dal, etiket veya commit'ten tam olarak biri belirtilmelidir. |
verbose |
Boole; isteğe bağlı |
workspace_file |
Etiket; isteğe bağlı
İşlem yapmayan özellik; kullanmayın. |
workspace_file_content |
Dize; isteğe bağlı
İşlem yapmayan özellik; kullanmayın. |
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