| 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) در نظر گرفته شده است. در حین توسعه، احتمالاً آنچه میخواهید ساخت یک هدف خاص <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).
راهنمای بیشتر (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 |