Aşağıdaki işlevler şuradan yüklenebilir:
@bazel_tools//tools/build_defs/repo:git.bzl
Harici git depolarını klonlama kuralları.
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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Harici git deposunu klonlama.
Bir Git deposunu klonlar, belirtilen etiketi kontrol eder, kaydeder ve hedeflerini bağlamaya hazır hale getirir. Ayrıca, komutun doğrulanıp doğrulanmadığını ve parametreleri içeren bir bu kuralın tekrarlanabilir bir sürümünü sağlar (bunun bir etiket olması .
Bazel, önce yalnızca belirtilen kaydetme için yüzeysel bir getirme gerçekleştirmeye çalışır. Bu başarısız olursa (genellikle sunucu desteğinin eksikliğinden dolayı), tam getirme işlemini gerçekleştirir.
git_repository
yerine http_archive
tercih edin.
Nedenler şunlardır:
- Git deposu kuralları,
git(1)
sistemine bağlıdır ancak HTTP indirme aracı derlenmiştir hiçbir sistem bağımlılığı yoktur. http_archive
, ayna olarakurls
listesini,git_repository
ise yalnızca listeyi destekler tek birremote
.http_archive
, depo önbelleği ile çalışır, ancakgit_repository
. Görüntüleyin Daha fazla bilgi için #5116.
Özellikler
name |
Ad; zorunlu
Bu depo için benzersiz bir ad. |
branch |
String; isteğe bağlı
dalını denetlemeniz gerekir. Dal, etiket veya kaydetmeden tam olarak biri belirtilmelidir. |
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_content |
String; isteğe bağlı
Bu depo için BUILD dosyasının içeriği. |
commit |
String; isteğe bağlı
kontrol edilecek. Dal, etiket veya kaydetmeden 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 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. |
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 |
String; 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. |
recursive_init_submodules |
Boole; isteğe bağlı
Depoda alt modüllerin yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
String; zorunlu
Uzak Git deposunun URI'si |
repo_mapping |
Sözlük: Dize -> String; zorunlu
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. |
shallow_since |
String; isteğe bağlı
belirtilen taahhütten sonra değil, isteğe bağlı bir tarih , bir etiket veya dal belirtilmişse bağımsız değişkene izin verilmez (her zaman --depth=1 ile klonlanabilir). Böyle bir tarihin belirtilen kayda yakın bir değere ayarlanması, sunucu rastgele kaydetme işlemlerinin yüzeysel olarak getirilmesini desteklemese bile deponun yüzeysel bir klonuna izin verebilir. Git'in --shallow uygulamasından itibaren uygulanmasındaki hatalar nedeniyle, getirme hatalarına neden olabileceği için bu özelliğin kullanılması önerilmez. |
strip_prefix |
String; isteğe bağlı
Ayıklanan dosyalardan alınacak dizin ön eki. |
tag |
String; isteğe bağlı
etiketine ekleyerek kontrol edebilirsiniz. Dal, etiket veya kaydetmeden tam olarak biri belirtilmelidir. |
verbose |
Boole; isteğe bağlı |
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 |
String; 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. |
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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
Harici git deposunu klonlama.
Bir Git deposunu klonlar, belirtilen etiketi kontrol eder, kaydeder ve hedeflerini bağlamaya hazır hale getirir. Ayrıca, komutun doğrulanıp doğrulanmadığını ve parametreleri içeren bir bu kuralın tekrarlanabilir bir sürümünü sağlar (bunun bir etiket olması .
Bazel, önce yalnızca belirtilen kaydetme için yüzeysel bir getirme gerçekleştirmeye çalışır. Bu başarısız olursa (genellikle sunucu desteğinin eksikliğinden dolayı), tam getirme işlemini gerçekleştirir.
git_repository
yerine http_archive
tercih edin.
Nedenler şunlardır:
- Git deposu kuralları,
git(1)
sistemine bağlıdır ancak HTTP indirme aracı derlenmiştir hiçbir sistem bağımlılığı yoktur. http_archive
, ayna olarakurls
listesini,git_repository
ise yalnızca listeyi destekler tek birremote
.http_archive
, depo önbelleği ile çalışır, ancakgit_repository
. Görüntüleyin Daha fazla bilgi için #5116.
Özellikler
name |
Ad; zorunlu
Bu depo için benzersiz bir ad. |
branch |
String; isteğe bağlı
dalını denetlemeniz gerekir. Dal, etiket veya kaydetmeden tam olarak biri belirtilmelidir. |
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_content |
String; isteğe bağlı
Bu depo için BUILD dosyasının içeriği. |
commit |
String; isteğe bağlı
kontrol edilecek. Dal, etiket veya kaydetmeden 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 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. |
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 |
String; 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. |
recursive_init_submodules |
Boole; isteğe bağlı
Depoda alt modüllerin yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
String; zorunlu
Uzak Git deposunun URI'si |
repo_mapping |
Sözlük: Dize -> String; zorunlu
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. |
shallow_since |
String; isteğe bağlı
belirtilen taahhütten sonra değil, isteğe bağlı bir tarih , bir etiket veya dal belirtilmişse bağımsız değişkene izin verilmez (her zaman --depth=1 ile klonlanabilir). Böyle bir tarihin belirtilen kayda yakın bir değere ayarlanması, sunucu rastgele kaydetme işlemlerinin yüzeysel olarak getirilmesini desteklemese bile deponun yüzeysel bir klonuna izin verebilir. Git'in --shallow uygulamasından itibaren uygulanmasındaki hatalar nedeniyle, getirme hatalarına neden olabileceği için bu özelliğin kullanılması önerilmez. |
strip_prefix |
String; isteğe bağlı
Ayıklanan dosyalardan alınacak dizin ön eki. |
tag |
String; isteğe bağlı
etiketine ekleyerek kontrol edebilirsiniz. Dal, etiket veya kaydetmeden tam olarak biri belirtilmelidir. |
verbose |
Boole; isteğe bağlı |
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 |
String; 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. |