DUNE-EXTERNAL-LIB-DEPS(1) Dune Manual DUNE-EXTERNAL-LIB-DEPS(1) نام (NAME) dune-external-lib-deps - انتقال یافته به دستور dune describe external- lib-deps خلاصه دستور (SYNOPSIS) dune external-lib-deps [OPTION]… [TARGET]… توضیحات (DESCRIPTION) این زیردستور در گذشته برای چاپ مجموعه‌ای تقریبی از کتابخانه‌های خارجی که برای ساخت مجموعه‌ای مشخص از هدف‌ها، بدون اجرای فرآیند ساخت، مورد نیاز بودند استفاده می‌شد. با وجود اینکه این قابلیت مفید بود، اما با گذشت زمان کیفیت تقریب کاهش یافت و هزینه نگهداری آن افزایش پیدا کرد، به همین دلیل تصمیم گرفته شد که حذف شود. گزینه‌ها (OPTIONS) --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 جهت بازتولیدپذیری بیشتر آزمون‌های کش خلاصه کاربرد دارد. گزینه‌های عمومی (COMMON OPTIONS) این گزینه‌ها میان تمامی دستورها مشترک هستند. --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) در نظر گرفته شده است. در حین توسعه، احتمالاً آنچه می‌خواهید ساخت یک هدف خاص .install است. -p PACKAGES, --for-release-of-packages=PACKAGES (required) کوتاه‌نوشتی برای --release --pkg=disabled --only-packages PACKAGE. شما باید از این گزینه در فایل‌های .opam خود استفاده کنید، تا زمانی که پروژه‌تان شامل چندین بسته است، فقط موارد ضروری ساخته شوند و ساخت‌های بازتولیدپذیر داشته باشید. --pkg=VAL فعال یا غیرفعال کردن مدیریت بسته. رفتار پیش‌فرض بستگی به وجود یا عدم وجود دایرکتوری قفل (lock directory) دارد. --profile=VAL (absent DUNE_PROFILE env) انتخاب نمایه ساخت (build profile)، برای نمونه dev یا release. مقدار پیش‌فرض dev است. --promote-install-files[=VAL] (default=true) ارتقای هر یک از فایل‌های تولیدشده .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. شما باید از این گزینه برای ساخت‌های انتشار استفاده کنید؛ برای مثال باید این گزینه را در فایل‌های .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). راهنمای بیشتر (MORE HELP) برای راهنمایی در مورد یک دستور تنها، از `dune COMMAND --help' استفاده کنید. وضعیت خروج (EXIT STATUS) دستور dune external-lib-deps با مقادیر زیر خارج می‌شود: 0 در صورت موفقیت. 1 در صورت بروز خطا. 130 در صورتی که با یک سیگنال متوقف شده باشد. محیط (ENVIRONMENT) این متغیرهای محیطی بر اجرای external-lib-deps تأثیر می‌گذارند: DUNE_BUILD_DIR دایرکتوری ساخت مشخص‌شده. در صورت تعیین نشدن، مقدار پیش‌فرض _build است. DUNE_CACHE فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیش‌فرض `enabled-except-user-rules' است. DUNE_CACHE_CHECK_PROBABILITY بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد قواعد تصادفی انتخاب‌شده و مقایسه نتایج آن‌ها با موارد ذخیره‌شده در کش Dune. توجه: با افزایش احتمال این بررسی‌ها، سرعت فرآیند ساخت کاهش می‌یابد. احتمال پیش‌فرض صفر است، یعنی هیچ قاعده‌ای بررسی نمی‌شود. DUNE_CACHE_STORAGE_MODE حالت ذخیره‌سازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیش‌فرض `hardlink' است. DUNE_CROSS_TARGET کامپایل متقابل با استفاده از این زنجیره ابزار (toolchain). DUNE_DEBUG_PACKAGE_LOGS همیشه گزارش‌های استاندارد را هنگام ساخت بسته‌ها چاپ می‌کند. DUNE_DIFF_COMMAND دستور پوسته برای مقایسه (diff) فایل‌ها. برای غیرفعال کردن چاپ تفاوت‌ها از - استفاده کنید. DUNE_DISABLE_PROMOTION غیرفعال کردن تمام قواعد ارتقا (promotion). DUNE_INSTRUMENT_WITH فعال‌سازی ابزاردقیق‌سازی (instrumentation) توسط BACKENDS. آرگومان BACKENDS فهرستی از نام‌های کتابخانه است که با کاما از یکدیگر جدا شده‌اند و هر یک از آن‌ها باید یک پشتیبان ابزاردقیق‌سازی را اعلان کند. DUNE_JOBS اجرای حداکثر JOBS دستور به طور هم‌زمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هسته‌ها (پیش‌فرض) باشد. DUNE_PROFILE نمایه ساخت (build profile). در صورت تعیین نشدن dev، یا در صورت تنظیم -p مقدار release است. DUNE_ROOT استفاده از این دایرکتوری به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدف‌های داده شده در خط فرمان را تغییر نمی‌دهد. این گزینه تنها برای اسکریپت‌ها در نظر گرفته شده است. DUNE_SANDBOX حالت ایزوله‌سازی (sandboxing) مورد استفاده به صورت پیش‌فرض (گزینه --sandbox را ببینید). DUNE_STORE_ORIG_SOURCE_DIR ذخیره مکان اصلی مبدا کد در فراداده‌های dune-package. DUNE_TARGET_EXEC دستور پوششی (wrapper) برای اجرای فایل‌های اجرایی هدف هنگام کامپایل متقابل (cross-compiling). قالب: TOOLCHAIN=CMD (مانند 'windows=wine'). DUNE_WORKSPACE استفاده از این فایل فضای کاری مشخص به جای جستجوی آن. اشکالات (BUGS) گزارش‌های اشکال را در https://github.com/ocaml/dune/issues بررسی کنید. همچنین ببینید (SEE ALSO) dune(1) Dune 3.24.2 DUNE-EXTERNAL-LIB-DEPS(1)