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, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote,
               remote_module_file_integrity, remote_module_file_urls, repo_mapping, shallow_since,
               strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Harici bir Git deposunu klonlayın.
Bir Git deposunu klonlar, belirtilen etiketi veya commit'i kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Ayrıca, gerçekten kullanıma alınan taahhüdün kimliğini ve tarihini belirleyin ve bu kuralın yeniden üretilebilir bir sürümünü sağlayan parametrelerle bir sözlük döndürün (etiket zorunlu değildir).
Bazel, önce yalnızca belirtilen commit'in yüzeysel bir şekilde getirilmesini deneyecek. 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.
Bunun nedenleri şunlardır:
- Git deposu kuralları sistem git(1)'ya bağlıyken HTTP indirici Bazel'e yerleştirilmiştir ve sistem bağımlılıkları yoktur.
- http_archive, yansıtma olarak- urlslistesini destekler.- git_repositoryise yalnızca tek bir- remote'ü destekler.
- http_archive, depo önbelleği ile çalışır ancak- git_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 etmeniz gerekir. 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, 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 BUILD dosyasının içeriği. | 
| 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 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. | 
| 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 mevcut olması 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. | 
| 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. | 
| repo_mapping | Sözlük: Dize -> Dize; isteğe bağlı Yalnızca "WORKSPACE" bağlamında: Yerel depo adından genel depo adına kadar olan sözlük. Bu, bu depodaki bağımlılıklar için çalışma alanı bağımlılığı çözümlemesi üzerinde kontrol sağlar. Örneğin, `"@foo": "@bar"` girişi, bu deponun `@foo` öğesine bağlı olduğu her durumda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığı aslında genel olarak bildirilen `@bar` içinde (`@bar//some:target`) çö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ılırken) _desteklenmez_. | 
| 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 commit'e yakın bir tarihe ayarlamak, sunucu rastgele commit'lerin yüzeysel getirilmesini desteklemese bile deponun yüzeysel 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. | 
| 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. | 
new_git_repository
load("@bazel//tools/build_defs/repo:git.bzl", "new_git_repository")
new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
                   recursive_init_submodules, remote, remote_module_file_integrity,
                   remote_module_file_urls, repo_mapping, shallow_since, strip_prefix, tag, verbose,
                   workspace_file, workspace_file_content)
Harici bir Git deposunu klonlayın.
Bir Git deposunu klonlar, belirtilen etiketi veya commit'i kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Ayrıca, gerçekten kullanıma alınan taahhüdün kimliğini ve tarihini belirleyin ve bu kuralın yeniden üretilebilir bir sürümünü sağlayan parametrelerle bir sözlük döndürün (etiket zorunlu değildir).
Bazel, önce yalnızca belirtilen commit'in yüzeysel bir şekilde getirilmesini deneyecek. 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.
Bunun nedenleri şunlardır:
- Git deposu kuralları sistem git(1)'ya bağlıyken HTTP indirici Bazel'e yerleştirilmiştir ve sistem bağımlılıkları yoktur.
- http_archive, yansıtma olarak- urlslistesini destekler.- git_repositoryise yalnızca tek bir- remote'ü destekler.
- http_archive, depo önbelleği ile çalışır ancak- git_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 etmeniz gerekir. 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, 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 BUILD dosyasının içeriği. | 
| 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 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. | 
| 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 mevcut olması 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. | 
| 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. | 
| repo_mapping | Sözlük: Dize -> Dize; isteğe bağlı Yalnızca "WORKSPACE" bağlamında: Yerel depo adından genel depo adına kadar olan sözlük. Bu, bu depodaki bağımlılıklar için çalışma alanı bağımlılığı çözümlemesi üzerinde kontrol sağlar. Örneğin, `"@foo": "@bar"` girişi, bu deponun `@foo` öğesine bağlı olduğu her durumda (ör. `@foo//some:target` öğesine bağımlılık) bu bağımlılığı aslında genel olarak bildirilen `@bar` içinde (`@bar//some:target`) çö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ılırken) _desteklenmez_. | 
| 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 commit'e yakın bir tarihe ayarlamak, sunucu rastgele commit'lerin yüzeysel getirilmesini desteklemese bile deponun yüzeysel 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. | 
| 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. |