DUNE-EXTERNAL-LIB-DEPS(1) Dune Manual DUNE-EXTERNAL-LIB-DEPS(1)

dune-external-lib-deps - انتقال یافته به دستور dune describe external-lib-deps

dune external-lib-deps [OPTION]… [TARGET]…

این زیردستور در گذشته برای چاپ مجموعه‌ای تقریبی از کتابخانه‌های خارجی که برای ساخت مجموعه‌ای مشخص از هدف‌ها، بدون اجرای فرآیند ساخت، مورد نیاز بودند استفاده می‌شد. با وجود اینکه این قابلیت مفید بود، اما با گذشت زمان کیفیت تقریب کاهش یافت و هزینه نگهداری آن افزایش پیدا کرد، به همین دلیل تصمیم گرفته شد که حذف شود.

--action-stderr-on-success=VAL
مشابه --action-stdout-on-success است اما به جای خروجی استاندارد، برای خطای استاندارد اعمال می‌شود. یک مقدار پیش‌فرض مناسب برای مخازن بزرگ تک‌مخزنی (monorepo)، مقدار --action-stdout-on-success=swallow --action-stderr-on-success=must-be-empty است. این کار تضمین می‌کند که یک ساخت موفقیت‌آمیز، خروجی خالی و تمیزی داشته باشد.
--action-stdout-on-success=VAL
نحوه برخورد با خروجی استاندارد عملیات‌ها را در صورت موفقیت مشخص می‌کند. مقادیر ممکن عبارتند از: print برای چاپ ساده در خروجی Dune، swallow برای نادیده گرفتن کامل آن و must-be-empty برای الزام به اینکه عملیات هیچ خروجی چاپ نکرده باشد. با انتخاب must-be-empty، اگر عملیات چیزی در خروجی استاندارد خود چاپ کند، Dune آن را ناموفق تلقی خواهد کرد. مقدار پیش‌فرض print است.
--build-info
نمایش اطلاعات ساخت.
--display-separate-messages
جداسازی پیام‌های خطا با یک خط خالی.
--error-reporting=VAL (absent=deterministic)
زمان گزارش خطاهای ساخت را کنترل می‌کند. مقدار early خطاها را به محض کشف شدن گزارش می‌کند. مقدار deterministic خطاها را در پایان ساخت و با ترتیبی معین گزارش می‌دهد. مقدار twice هر خطا را دو بار گزارش می‌کند: یک بار به محض کشف خطا و بار دیگر در پایان ساخت با ترتیبی معین.
-f, --force
عملیات‌های مرتبط با نام‌های مستعار (aliasها) را وادار می‌کند تا دوباره اجرا شوند، حتی اگر وابستگی‌های آن‌ها تغییر نکرده باشد.
--file-watcher=VAL (absent=automatic)
سازوکار تشخیص تغییرات در مبدا کد. مقدار automatic باعث می‌شود dune برنامه‌ای خارجی را برای تشخیص تغییرات اجرا کند. مقدار manual برای اطلاع‌رسانی دستی تغییر فایل‌ها به dune به کار می‌رود.
--missing
استفاده‌نشده.
--passive-watch-mode
مشابه [--watch]، اما فرآیند ساخت را تنها زمانی آغاز می‌کند که از خارج و از طریق RPC دستور داده شود.
--sandbox=VAL (absent DUNE_SANDBOX env)
تنظیم حالت ایزوله‌سازی (sandboxing). برخی از عملیات‌ها به حالت ایزوله‌سازی خاصی نیاز دارند، بنابراین این تنظیم را نادیده می‌گیرند. مقادیر مجاز عبارتند از: none، symlink، copy و hardlink.
--sexp
استفاده‌نشده.
--stop-on-first-error
متوقف کردن فرآیند ساخت به محض مواجهه با اولین خطا.
--unstable-by-dir
استفاده‌نشده.
-w, --watch
به جای خاتمه دادن به ساخت پس از اتمام، به طور مداوم منتظر تغییرات فایل‌ها می‌ماند.
--wait-for-filesystem-clock
ابزار Dune محتوای فایل‌ها را برای عملکرد افزایشی بهتر خلاصه‌سازی (digest) می‌کند. این خلاصه‌ها خودشان کش می‌شوند. در برخی موارد، Dune برای اطمینان از صحت عملکرد باید برخی مدخل‌های کش خلاصه را دور بریزد. این گزینه باعث می‌شود Dune منتظر جلو رفتن ساعت سیستم فایل بماند تا نیازی به دور ریختن اطلاعات نباشد. معمولاً نیازی به توجه به این گزینه نخواهید داشت؛ این گزینه بیشتر برای توسعه‌دهندگان Dune جهت بازتولیدپذیری بیشتر آزمون‌های کش خلاصه کاربرد دارد.

این گزینه‌ها میان تمامی دستورها مشترک هستند.

--always-show-command-line
همیشه خط فرمان کامل برنامه‌های اجرا شده توسط dune را نمایش می‌دهد.
--auto-promote
ارتقای خودکار فایل‌ها. این کار مشابه اجرای dune promote پس از فرآیند ساخت است.
--build-dir=FILE (absent DUNE_BUILD_DIR env)
دایرکتوری ساخت مشخص‌شده. در صورت تعیین نشدن، مقدار پیش‌فرض _build است.
--cache=VAL (absent DUNE_CACHE env)
فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است.
--cache-check-probability=VAL (absent DUNE_CACHE_CHECK_PROBABILITY env)
بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد قواعد تصادفی انتخاب‌شده و مقایسه نتایج آن‌ها با موارد ذخیره‌شده در کش Dune. توجه: با افزایش احتمال این بررسی‌ها، سرعت فرآیند ساخت کاهش می‌یابد. احتمال پیش‌فرض صفر است، یعنی هیچ قاعده‌ای بررسی نمی‌شود.
--cache-storage-mode=VAL (absent DUNE_CACHE_STORAGE_MODE env)
حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است.
--config-file=FILE
بارگذاری این فایل پیکربندی به جای فایل پیش‌فرض.
--debug-backtraces
همیشه ردگیری پشته (backtrace) استثناها را چاپ می‌کند.
--debug-dependency-path
در صورت بروز خطا، مسیر وابستگی را از هدف‌های مشخص‌شده در خط فرمان تا قاعده‌ای که با شکست مواجه شده است، چاپ می‌کند.
--debug-package-logs (absent DUNE_DEBUG_PACKAGE_LOGS env)
همیشه گزارش‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند.
--default-target=TARGET (absent=@@default)
تعیین هدف پیش‌فرضی که در صورت مشخص نشدن هیچ هدفی برای dune build استفاده می‌شود.
--diff-command=VAL (absent DUNE_DIFF_COMMAND env)
دستور پوسته برای مقایسه (diff) فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید.
--disable-promotion (absent DUNE_DISABLE_PROMOTION env)
غیرفعال کردن تمام قواعد ارتقا (promotion).
--display=MODE
کنترل حالت نمایش خروجی Dune. برای جزئیات بیشتر به dune-config(5) مراجعه کنید. مقادیر معتبر برای این گزینه عبارتند از: progress، verbose، short، quiet یا tui.
--dump-gc-stats=FILE
ذخیره آمار زباله‌روب (garbage collector) در یک فایل پس از اتمام ساخت.
--help[=FMT] (default=auto)
نمایش این راهنما در قالب FMT. مقدار FMT باید یکی از auto، pager، groff یا plain باشد. با مقدار auto، چنانچه متغیر محیطی TERM برابر با dumb بوده یا تعریف نشده باشد، قالب به صورت pager یا plain خواهد بود.
--ignore-promoted-rules
نادیده گرفتن قواعد دارای (mode promote)، به جز مواردی که دارای (only ...) هستند. متغیر %{ignoring_promoted_rules} در فایل‌های dune مشخص می‌کند که این گزینه داده شده است یا خیر.
--instrument-with=BACKENDS (absent DUNE_INSTRUMENT_WITH env)
فعال‌سازی ابزاردقیق‌سازی (instrumentation) توسط BACKENDS. آرگومان BACKENDS فهرستی از نام‌های کتابخانه است که با کاما از یکدیگر جدا شده‌اند و هر یک از آن‌ها باید یک پشتیبان ابزاردقیق‌سازی را اعلان کند.
-j JOBS (absent DUNE_JOBS env)
اجرای حداکثر JOBS دستور به طور هم‌زمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد.
--no-buffer
خروجی دستورات اجرا شده توسط dune را بافر نمی‌کند. به طور پیش‌فرض dune خروجی زیردستورها را بافر می‌کند تا از درهم‌آمیزی خروجی‌ها هنگام اجرای موازی چندین دستور جلوگیری شود. با این حال، این مورد هنگام اشکال‌زدایی آزمون‌های طولانی می‌تواند مشکل‌ساز باشد. با استفاده از --no-buffer، دستورها دسترسی مستقیم به ترمینال خواهند داشت. توجه داشته باشید که در نتیجه این کار، خروجی آن‌ها در فایل لاگ ثبت نخواهد شد. برای جلوگیری از تداخل خروجی‌ها باید از این گزینه همراه با -j 1 استفاده کنید. علاوه بر این، بهتر است از گزینه --verbose نیز استفاده کنید تا مطمئن شوید دستورها پیش از اجرا چاپ می‌شوند.
--no-config
بارگذاری نکردن فایل پیکربندی.
--no-print-directory
عدم نمایش پیام‌های «Entering directory» (ورود به دایرکتوری).
--only-packages=PACKAGES
نادیده گرفتن بندهایی (stanzas) که به بسته‌ای ارجاع می‌دهند که در PACKAGES نیست. مقدار PACKAGES فهرستی از نام‌های بسته است که با کاما از هم جدا شده‌اند. توجه داشته باشید که این کار تأثیری مشابه با حذف بندهای مربوطه از فایل‌های dune دارد. این گزینه بیشتر برای انتشار نسخه‌ها (releases) در نظر گرفته شده است. در حین توسعه، احتمالاً آنچه می‌خواهید ساخت یک هدف خاص <package>.install است.
-p PACKAGES, --for-release-of-packages=PACKAGES (required)
کوتاه‌نوشتی برای --release --pkg=disabled --only-packages PACKAGE. شما باید از این گزینه در فایل‌های <package>.opam خود استفاده کنید، تا زمانی که پروژه‌تان شامل چندین بسته است، فقط موارد ضروری ساخته شوند و ساخت‌های بازتولیدپذیر داشته باشید.
--pkg=VAL
فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری قفل (lock directory) دارد.
--profile=VAL (absent DUNE_PROFILE env)
انتخاب نمایه ساخت (build profile)، برای نمونه dev یا release. مقدار پیش‌فرض dev است.
--promote-install-files[=VAL] (default=true)
ارتقای هر یک از فایل‌های تولیدشده <package>.install به درخت مبدا کد.
--release
قرار دادن dune در حالت بازتولیدپذیر release. کوتاه‌نوشتی برای --root . --ignore-promoted-rules --no-config --profile release --always-show-command-line --promote-install-files --require-dune-project-file --default-target @install. شما باید از این گزینه برای ساخت‌های انتشار استفاده کنید؛ برای مثال باید این گزینه را در فایل‌های <package>.opam خود به کار ببرید، مگر اینکه از قبل از -p استفاده کرده باشید، چرا که -p به طور ضمنی شامل این گزینه است.
--require-dune-project-file[=VAL] (default=true)
در صورت مفقود بودن فایل dune-project با خطا مواجه می‌شود.
--root=DIR (absent DUNE_ROOT env)
استفاده از این دایرکتوری به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده شده در خط فرمان را تغییر نمی‌دهد. این گزینه تنها برای اسکریپت‌ها در نظر گرفته شده است.
--store-orig-source-dir (absent DUNE_STORE_ORIG_SOURCE_DIR env)
ذخیره مکان اصلی مبدا کد در فراداده‌های dune-package.
--target-exec=TOOLCHAIN=CMD (absent DUNE_TARGET_EXEC env)
دستور پوششی (wrapper) برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقابل (cross-compiling). قالب: TOOLCHAIN=CMD (مانند 'windows=wine').
--terminal-persistence=MODE
تغییر نحوه نمایش گزارش نتایج ساخت در کنسول بین بازساخت‌ها در حین قرار داشتن در حالت --watch. حالت‌های پشتیبانی‌شده: preserve، clear-on-rebuild، clear-on-rebuild-and-flush-history.
--trace-file=FILE
ارائه داده‌های ردگیری (trace) در قالب catapult (سازگار با chrome://tracing).
--verbose
مشابه --display verbose.
--version
نمایش اطلاعات نسخه.
--watch-exclusions=REGEX
یک عبارت باقاعده POSIX اضافه می‌کند که دایرکتوری‌های منطبق را از `dune build --watch` مستثنی می‌کند. گزینه --watch-exclusions می‌تواند برای افزودن چندین مورد استثنا تکرار شود. همچنین می‌توان از نقطه‌ویرگول به عنوان جداکننده استفاده کرد. اگر هیچ استثنایی ارائه نشود، مجموعه‌ای استاندارد از استثناها استفاده می‌شود؛ اما اگر یک یا چند گزینه --watch-exclusions استفاده شود، هیچ‌یک از استثناهای استاندارد اعمال نخواهند شد. استثناهای استاندارد عبارتند از: ^_opam /_opam ^_esy /_esy ^\.#.* /\.#.* ~$ ^#[^#]*#$ /#[^#]*#$ ^4913$ /4913$ /.git /.hg :/windows
--workspace=FILE (absent DUNE_WORKSPACE env)
استفاده از این فایل فضای کاری مشخص به جای جستجوی آن.
-x VAL (absent DUNE_CROSS_TARGET env)
کامپایل متقابل با استفاده از این زنجیره ابزار (toolchain).

برای راهنمایی در مورد یک دستور تنها، از `dune COMMAND --help' استفاده کنید.

دستور dune external-lib-deps با مقادیر زیر خارج می‌شود:

0
در صورت موفقیت.
1
در صورت بروز خطا.
130
در صورتی که با یک سیگنال متوقف شده باشد.

این متغیرهای محیطی بر اجرای external-lib-deps تأثیر می‌گذارند:

دایرکتوری ساخت مشخص‌شده. در صورت تعیین نشدن، مقدار پیش‌فرض _build است.
فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است.
بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد قواعد تصادفی انتخاب‌شده و مقایسه نتایج آن‌ها با موارد ذخیره‌شده در کش Dune. توجه: با افزایش احتمال این بررسی‌ها، سرعت فرآیند ساخت کاهش می‌یابد. احتمال پیش‌فرض صفر است، یعنی هیچ قاعده‌ای بررسی نمی‌شود.
حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است.
کامپایل متقابل با استفاده از این زنجیره ابزار (toolchain).
همیشه گزارش‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند.
دستور پوسته برای مقایسه (diff) فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید.
غیرفعال کردن تمام قواعد ارتقا (promotion).
فعال‌سازی ابزاردقیق‌سازی (instrumentation) توسط BACKENDS. آرگومان BACKENDS فهرستی از نام‌های کتابخانه است که با کاما از یکدیگر جدا شده‌اند و هر یک از آن‌ها باید یک پشتیبان ابزاردقیق‌سازی را اعلان کند.
اجرای حداکثر JOBS دستور به طور هم‌زمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد.
نمایه ساخت (build profile). در صورت تعیین نشدن dev، یا در صورت تنظیم -p مقدار release است.
استفاده از این دایرکتوری به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده شده در خط فرمان را تغییر نمی‌دهد. این گزینه تنها برای اسکریپت‌ها در نظر گرفته شده است.
حالت ایزوله‌سازی (sandboxing) مورد استفاده به صورت پیش‌فرض (گزینه --sandbox را ببینید).
ذخیره مکان اصلی مبدا کد در فراداده‌های dune-package.
دستور پوششی (wrapper) برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقابل (cross-compiling). قالب: TOOLCHAIN=CMD (مانند 'windows=wine').
استفاده از این فایل فضای کاری مشخص به جای جستجوی آن.

گزارش‌های اشکال را در https://github.com/ocaml/dune/issues بررسی کنید.

dune(1)

Dune 3.24.2