Aşağıdaki işlevler @bazel_tools//tools/build_defs/repo:git.bzl
üzerinden yüklenebilir.
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 klonlayın.
Bir Git deposunu klonlar, belirtilen etiketi veya kaydı kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Ayrıca kontrol edilen kaydın kimliğini ve tarihini belirleyip bu kuralın yeniden oluşturulabilir sürümünü sağlayan parametreler içeren bir dikte döndürün (etiketin olması gerekmez).
Bazel, ilk olarak yalnızca belirtilen kaydın yüzeysel getirme işlemini gerçekleştirmeyi dener. Bu işlem başarısız olursa (genellikle sunucu desteğinin eksik olması nedeniyle) deponun tam getirme işlemi yapılır.
git_repository
için http_archive
ürününü tercih et.
Bunun nedenleri şunlardır:
- Git deposu kuralları,
git(1)
sistemine bağlıdır. HTTP indirme aracı ise Bazel'de yerleşiktir ve sistem bağımlılığı yoktur. http_archive
ayna olarakurls
listesini vegit_repository
yalnızca tek birremote
listesini destekler.http_archive
, depo önbelleği ile çalışır, ancakgit_repository
ile çalışmaz. Daha fazla bilgi için bkz. #5116.
Özellikler
name |
Ad; zorunlu
Bu kod deposu için benzersiz bir ad. |
branch |
Dize; isteğe bağlı
şubesini tıklayın. Dal, etiket veya kaydetme değerlerinden tam olarak biri belirtilmelidir. |
build_file |
Etiket; isteğe bağlı
Bu kod deposu için DERLEME dosyası olarak kullanılacak dosya.Bu özellik mutlak bir etikettir (ana depo için "@//" ifadesini kullanın). Dosyanın BUILD olarak adlandırılmasına gerek yoktur, ancak olabilir (BUILD.new-repo-name gibi bir ad, kodu deponun gerçek BUILD dosyalarından ayırt etmek için işe yarayabilir). |
build_file_content |
Dize; isteğe bağlı
Bu kod deposu için DERLEME dosyasının içeriği. |
commit |
Dize; isteğe bağlı
kontrol edilmesi gereken bir taahhüt olduğunu unutmayın. Dal, etiket veya kaydetme değerlerinden 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 sonuncu bağımsız değişken uygulanır. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'de yerel yama uygulaması yerine yama komut satırı aracını kullanmak için geri döner. Yama komut satırı aracı ve patch_tool özelliği belirtilmezse "patch" kullanılır. |
patch_cmds |
Dize listesi; isteğe bağlı
Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası. |
patch_cmds_win |
Dize listesi; isteğe bağlı
Yamalar uygulandıktan sonra Windows'a uygulanacak Powershell komutlarının sırası. Bu özellik ayarlanmazsa patch_cmds, Windows'da yürütülür ve Bash ikili programının var olmasını gerektirir. |
patch_tool |
Dize; isteğe bağlı
Kullanılacak yama(1) yardımcı programı. Belirtilmişse Bazel, Bazel'da yerel yama uygulaması yerine belirtilen yama aracını kullanır. |
patches |
Etiket listesi; isteğe bağlı
Arşivin çıkarılmasından sonra yama olarak uygulanacak dosyaların listesi. Varsayılan olarak, fuzz eşleştirmesini ve ikili yamayı desteklemeyen Bazel'de yerel yama uygulamasını kullanır ancak "patch_tool" ö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 başlar. |
recursive_init_submodules |
Boole; isteğe bağlı
Alt modüllerin depodaki yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
Dize; zorunlu
Uzak Git deposunun URI'si |
repo_mapping |
Sözlük: Dize -> Dize; gerekli
Yerel kod deposu adından genel kod deposu adına bir sözlük. Böylece bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olabilirsiniz. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" bağımsız değişkenine bağlı olduğu her zaman ("@foo//some:target" bağımlılığı gibi) söz konusu bağımlılığı, genel olarak bildirilen "@bar" ("@bar//some:target") içinde çözmesi gerektiğini bildirir. |
shallow_since |
Dize; isteğe bağlı
isteğe bağlı bir tarih; belirtilen kayıttan sonra değil; bir etiket veya dal belirtilirse bağımsız değişkene izin verilmez (ki bu her zaman --deeplink=1 ile klonlanabilir). Sunucu, rastgele kaydetmelerin yüzeysel getirmelerini desteklemese bile bu tarihin belirtilen kayda yakın bir değere ayarlanması, deponun yüzeysel bir klonuna izin verebilir. Git'in --shallow-since uygulamasındaki hatalar nedeniyle, getirme hatalarına neden olabileceğinden bu özelliğin kullanılması önerilmez. |
strip_prefix |
Dize; isteğe bağlı
Çıkarılan dosyalardan çıkarılacak bir dizin öneki. |
tag |
Dize; isteğe bağlı
etiketini eklemeniz gerekir. Dal, etiket veya kaydetme değerlerinden 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" ikisinden biri belirtilebilir veya ikisi birden belirtilemez. |
workspace_file_content |
Dize; isteğe bağlı
Bu kod deposundaki WORKSPACE dosyasının içeriği. "workspace_file" veya "workspace_file_content" ikisinden biri belirtilebilir veya 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 klonlayın.
Bir Git deposunu klonlar, belirtilen etiketi veya kaydı kontrol eder ve hedeflerini bağlama için kullanılabilir hale getirir. Ayrıca kontrol edilen kaydın kimliğini ve tarihini belirleyip bu kuralın yeniden oluşturulabilir sürümünü sağlayan parametreler içeren bir dikte döndürün (etiketin olması gerekmez).
Bazel, ilk olarak yalnızca belirtilen kaydın yüzeysel getirme işlemini gerçekleştirmeyi dener. Bu işlem başarısız olursa (genellikle sunucu desteğinin eksik olması nedeniyle) deponun tam getirme işlemi yapılır.
git_repository
için http_archive
ürününü tercih et.
Bunun nedenleri şunlardır:
- Git deposu kuralları,
git(1)
sistemine bağlıdır. HTTP indirme aracı ise Bazel'de yerleşiktir ve sistem bağımlılığı yoktur. http_archive
ayna olarakurls
listesini vegit_repository
yalnızca tek birremote
listesini destekler.http_archive
, depo önbelleği ile çalışır, ancakgit_repository
ile çalışmaz. Daha fazla bilgi için bkz. #5116.
Özellikler
name |
Ad; zorunlu
Bu kod deposu için benzersiz bir ad. |
branch |
Dize; isteğe bağlı
şubesini tıklayın. Dal, etiket veya kaydetme değerlerinden tam olarak biri belirtilmelidir. |
build_file |
Etiket; isteğe bağlı
Bu kod deposu için DERLEME dosyası olarak kullanılacak dosya.Bu özellik mutlak bir etikettir (ana depo için "@//" ifadesini kullanın). Dosyanın BUILD olarak adlandırılmasına gerek yoktur, ancak olabilir (BUILD.new-repo-name gibi bir ad, kodu deponun gerçek BUILD dosyalarından ayırt etmek için işe yarayabilir). |
build_file_content |
Dize; isteğe bağlı
Bu kod deposu için DERLEME dosyasının içeriği. |
commit |
Dize; isteğe bağlı
kontrol edilmesi gereken bir taahhüt olduğunu unutmayın. Dal, etiket veya kaydetme değerlerinden 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 sonuncu bağımsız değişken uygulanır. -p dışındaki bağımsız değişkenler belirtilirse Bazel, Bazel'de yerel yama uygulaması yerine yama komut satırı aracını kullanmak için geri döner. Yama komut satırı aracı ve patch_tool özelliği belirtilmezse "patch" kullanılır. |
patch_cmds |
Dize listesi; isteğe bağlı
Yamalar uygulandıktan sonra Linux/Macos'a uygulanacak Bash komutlarının sırası. |
patch_cmds_win |
Dize listesi; isteğe bağlı
Yamalar uygulandıktan sonra Windows'a uygulanacak Powershell komutlarının sırası. Bu özellik ayarlanmazsa patch_cmds, Windows'da yürütülür ve Bash ikili programının var olmasını gerektirir. |
patch_tool |
Dize; isteğe bağlı
Kullanılacak yama(1) yardımcı programı. Belirtilmişse Bazel, Bazel'da yerel yama uygulaması yerine belirtilen yama aracını kullanır. |
patches |
Etiket listesi; isteğe bağlı
Arşivin çıkarılmasından sonra yama olarak uygulanacak dosyaların listesi. Varsayılan olarak, fuzz eşleştirmesini ve ikili yamayı desteklemeyen Bazel'de yerel yama uygulamasını kullanır ancak "patch_tool" ö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 başlar. |
recursive_init_submodules |
Boole; isteğe bağlı
Alt modüllerin depodaki yinelemeli olarak klonlanıp klonlanmayacağı. |
remote |
Dize; zorunlu
Uzak Git deposunun URI'si |
repo_mapping |
Sözlük: Dize -> Dize; gerekli
Yerel kod deposu adından genel kod deposu adına bir sözlük. Böylece bu deponun bağımlılıkları için çalışma alanı bağımlılık çözümü üzerinde kontrol sahibi olabilirsiniz. Örneğin, ""@foo": "@bar"" girişi, bu deponun "@foo" bağımsız değişkenine bağlı olduğu her zaman ("@foo//some:target" bağımlılığı gibi) söz konusu bağımlılığı, genel olarak bildirilen "@bar" ("@bar//some:target") içinde çözmesi gerektiğini bildirir. |
shallow_since |
Dize; isteğe bağlı
isteğe bağlı bir tarih; belirtilen kayıttan sonra değil; bir etiket veya dal belirtilirse bağımsız değişkene izin verilmez (ki bu her zaman --deeplink=1 ile klonlanabilir). Sunucu, rastgele kaydetmelerin yüzeysel getirmelerini desteklemese bile bu tarihin belirtilen kayda yakın bir değere ayarlanması, deponun yüzeysel bir klonuna izin verebilir. Git'in --shallow-since uygulamasındaki hatalar nedeniyle, getirme hatalarına neden olabileceğinden bu özelliğin kullanılması önerilmez. |
strip_prefix |
Dize; isteğe bağlı
Çıkarılan dosyalardan çıkarılacak bir dizin öneki. |
tag |
Dize; isteğe bağlı
etiketini eklemeniz gerekir. Dal, etiket veya kaydetme değerlerinden 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" ikisinden biri belirtilebilir veya ikisi birden belirtilemez. |
workspace_file_content |
Dize; isteğe bağlı
Bu kod deposundaki WORKSPACE dosyasının içeriği. "workspace_file" veya "workspace_file_content" ikisinden biri belirtilebilir veya ikisi birden belirtilemez. |