git deposu kuralları

. Sorun bildirin Kaynağı göster Gece · 7,3 · 7,2 · 7,1 · 7,0 · 6,5

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 uygun 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 olarak urls listesini, git_repository ise yalnızca listeyi destekler tek bir remote.
  • http_archive, depo önbelleği ile çalışır, ancak git_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ğını belirler.

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 uygun 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 olarak urls listesini, git_repository ise yalnızca listeyi destekler tek bir remote.
  • http_archive, depo önbelleği ile çalışır, ancak git_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ğını belirler.

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.