| DUNE-TOP(1) | Dune Manual | DUNE-TOP(1) |
نام (NAME)
dune-top - چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوریها و بارگذاری فایلهای cma
خلاصه دستور (SYNOPSIS)
dune top [گزینه]… [پوشه]
توضیحات (DESCRIPTION)
چاپ فهرستی از رهنمودهای toplevel برای گنجاندن دایرکتوریها و بارگذاری فایلهای cma.
خروجی dune ocaml top باید در یک toplevel ارزیابی شود تا کتابخانهها در آن در دسترس قرار گیرند.
در بسیاری از toplevelها میتوان با استفاده از دستور #use_output به این هدف رسید، مانند #use_output "dune ocaml top".
گزینهها (OPTIONS)
- --action-stderr-on-success=VAL
- مشابه --action-stdout-on-success اما برای خطای استاندارد به جای خروجی استاندارد. یک پیشفرض مناسب برای مخازن بزرگ یکپارچه (mono-repositories) به صورت --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
- نمایش اطلاعات ساخت.
- --context=CONTEXT (پیشفرض=default)
- انتخاب کانتکست برای ساخت/اجرای top.
- --display-separate-messages
- جداسازی پیامهای خطا با یک خط خالی.
- --error-reporting=VAL (پیشفرض=deterministic)
- کنترل زمان گزارش خطاهای ساخت. مقدار early خطاها را به محض شناسایی گزارش میدهد. مقدار deterministic خطاها را در پایان ساخت و با ترتیبی قطعی گزارش میدهد. مقدار twice هر خطا را دو بار گزارش میدهد: یک بار به محض شناسایی و بار دیگر در پایان ساخت با ترتیبی قطعی.
- -f, --force
- اجبار به اجرای مجدد اکشنهای مرتبط با نامهای مستعار (alias)، حتی اگر وابستگیهای آنها تغییری نکرده باشد.
- --file-watcher=VAL (پیشفرض=automatic)
- سازوکار تشخیص تغییرات در سورسکد. مقدار Automatic باعث میشود dune یک برنامه خارجی را برای تشخیص تغییرات اجرا کند. مقدار Manual برای اطلاعرسانی دستی تغییر فایلها به dune است.
- --passive-watch-mode
- مشابه [--watch]، اما فرآیند ساخت تنها زمانی آغاز میشود که از خارج از طریق یک RPC دستور داده شود.
- --sandbox=VAL (پیشفرض از متغیر محیطی DUNE_SANDBOX)
- تنظیم حالت ایزولهسازی (sandboxing). برخی اکشنها نیازمند حالت ایزولهسازی خاصی هستند و این تنظیم را نادیده میگیرند. مقادیر مجاز عبارتند از: none، symlink، copy، hardlink.
- --stop-on-first-error
- متوقف کردن ساخت به محض برخورد با اولین خطا.
- -w, --watch
- به جای خاتمه ساخت پس از تکمیل، به طور مداوم منتظر تغییرات فایلها میماند.
- --wait-for-filesystem-clock
- ابزار Dune محتوای فایلها را برای افزایش کارایی افزایشی خلاصهسازی (digest) میکند. این خلاصهها خودشان کش میشوند. در برخی موارد، Dune برای اطمینان از صحت عملکرد باید برخی از ورودیهای کش خلاصه را حذف کند. این گزینه باعث میشود Dune منتظر پیش رفتن ساعت سیستم فایل بماند تا نیازی به حذف چیزی نداشته باشد. احتمالاً نیازی به این گزینه نخواهید داشت؛ این گزینه بیشتر برای توسعهدهندگان Dune کاربرد دارد تا تستهای کش خلاصهسازی Dune بازتولیدپذیرتر شوند.
گزینههای عمومی (COMMON OPTIONS)
این گزینهها میان تمامی دستورات مشترک هستند.
- --always-show-command-line
- همیشه خط فرمان کامل برنامههای اجراشده توسط dune را نمایش میدهد.
- --auto-promote
- ترفیع خودکار فایلها. این کار مشابه اجرای دستور dune promote پس از ساخت است.
- --build-dir=FILE (پیشفرض از متغیر محیطی DUNE_BUILD_DIR)
- پوشه مشخصشده برای ساخت. در صورت عدم تعیین، _build استفاده میشود.
- --cache=VAL (پیشفرض از متغیر محیطی DUNE_CACHE)
- فعال یا غیرفعال کردن کش Dune (یکی از مقادیر disabled، enabled-except-user-rules یا enabled). مقدار پیشفرض `enabled-except-user-rules' است.
- --cache-check-probability=VAL (پیشفرض از متغیر محیطی DUNE_CACHE_CHECK_PROBABILITY)
- بررسی بازتولیدپذیری ساخت از طریق اجرای مجدد تصادفی قوانین و مقایسه نتایج با موارد ذخیرهشده در کش Dune. نکته: افزایش احتمال این بررسیها سرعت ساخت را کاهش میدهد. احتمال پیشفرض صفر است، یعنی هیچ قانونی بررسی نمیشود.
- --cache-storage-mode=VAL (پیشفرض از متغیر محیطی DUNE_CACHE_STORAGE_MODE)
- حالت ذخیرهسازی کش Dune (یکی از مقادیر auto، hardlink یا copy). مقدار پیشفرض `hardlink' است.
- --config-file=FILE
- بارگذاری این فایل پیکربندی به جای فایل پیشفرض.
- --debug-backtraces
- همیشه ردیابی برگشتی (backtrace) استثناها را چاپ میکند.
- --debug-dependency-path
- در صورت بروز خطا، مسیر وابستگی را از هدفهای مشخصشده در خط فرمان تا قانونی که شکست خورده چاپ میکند.
- --debug-package-logs (پیشفرض از متغیر محیطی DUNE_DEBUG_PACKAGE_LOGS)
- همیشه لاگهای استاندارد را هنگام ساخت بستهها چاپ میکند.
- --default-target=TARGET (پیشفرض=@@default)
- تنظیم هدف پیشفرضی که در صورت عدم تعیین به dune build داده میشود.
- --diff-command=VAL (پیشفرض از متغیر محیطی DUNE_DIFF_COMMAND)
- دستور پوسته برای مقایسه (diff) فایلها. برای غیرفعال کردن چاپ تفاوتها از - استفاده کنید.
- --disable-promotion (پیشفرض از متغیر محیطی DUNE_DISABLE_PROMOTION)
- غیرفعال کردن تمامی قوانین ترفیع.
- --display=MODE
- کنترل حالت نمایش Dune. برای جزئیات بیشتر به dune-config(5) مراجعه کنید. مقادیر مجاز برای این گزینه عبارتند از progress، verbose، short، quiet یا tui.
- --dump-gc-stats=FILE
- تخلیه آمار زبالهروب (GC) در یک فایل پس از تکمیل ساخت.
- --help[=FMT] (پیشفرض=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 (پیشفرض از متغیر محیطی DUNE_INSTRUMENT_WITH)
- فعالسازی ابزاردقیقسازی (instrumentation) توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانهها است که با کاما جدا شدهاند و هر کدام باید یک بکاند ابزاردقیقسازی را تعریف کرده باشند.
- -j JOBS (پیشفرض از متغیر محیطی DUNE_JOBS)
- اجرای حداکثر JOBS دستور به طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هستهها (پیشفرض) باشد.
- --no-buffer
- عدم بافر کردن خروجی دستورات اجراشده توسط dune. به طور پیشفرض dune خروجی زیردستورات را بافر میکند تا از تداخل خروجی دستورات همزمان جلوگیری شود. با این حال، این مسئله ممکن است هنگام اشکالزدایی تستهای طولانی مشکلساز شود. با گزینه --no-buffer، دستورات دسترسی مستقیم به ترمینال خواهند داشت. توجه داشته باشید که در این حالت خروجی آنها در فایل لاگ ثبت نخواهد شد. بهتر است از این گزینه همراه با -j 1 استفاده کنید تا از تداخل خروجیها جلوگیری شود. علاوه بر این، استفاده از --verbose نیز پیشنهاد میشود تا مطمئن شوید دستورات پیش از اجرا چاپ میشوند.
- --no-config
- عدم بارگذاری فایل پیکربندی.
- --no-print-directory
- عدم نمایش پیامهای "Entering directory".
- --only-packages=PACKAGES
- نادیده گرفتن استنزاهایی (stanza) که به بستهای ارجاع میدهند که در PACKAGES نیست. مقدار PACKAGES فهرستی از نامهای بستههاست که با کاما از هم جدا شدهاند. توجه داشته باشید که این کار تاثیری مشابه حذف استنزاهای مربوطه از فایلهای dune دارد. این گزینه عمدتاً برای انتشار بستهها کاربرد دارد. در زمان توسعه، احتمالاً ترجیح میدهید یک هدف مشخص مثل <package>.install را بسازید.
- -p PACKAGES, --for-release-of-packages=PACKAGES (الزامی)
- میانبری برای --release --pkg=disabled --only-packages PACKAGE. برای ساخت مواردی که واقعاً مورد نیاز هستند و دستیابی به ساختهای بازتولیدپذیر هنگامی که پروژه شامل چندین بسته است، باید از این گزینه در فایلهای <package>.opam خود استفاده کنید.
- --pkg=VAL
- فعال یا غیرفعال کردن مدیریت بسته. رفتار پیشفرض بستگی به وجود یا عدم وجود دایرکتوری lock دارد.
- --profile=VAL (پیشفرض از متغیر محیطی DUNE_PROFILE)
- انتخاب پروفایل ساخت، مثلاً dev یا release. پیشفرض dev است.
- --promote-install-files[=VAL] (پیشفرض=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] (پیشفرض=true)
- شکست در صورت عدم وجود فایل dune-project.
- --root=DIR (پیشفرض از متغیر محیطی DUNE_ROOT)
- استفاده از این پوشه به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدفهای دادهشده در خط فرمان را تغییر نمیدهد. این گزینه فقط برای اسکریپتها در نظر گرفته شده است.
- --store-orig-source-dir (پیشفرض از متغیر محیطی DUNE_STORE_ORIG_SOURCE_DIR)
- ذخیره مکان اصلی منبع در متادیتای dune-package.
- --target-exec=TOOLCHAIN=CMD (پیشفرض از متغیر محیطی DUNE_TARGET_EXEC)
- دستور بستهبندی برای اجرای فایلهای اجرایی هدف هنگام کامپایل متقاطع (cross-compiling). قالب: TOOLCHAIN=CMD (مانند 'windows=wine').
- --terminal-persistence=MODE
- تغییر نحوه نمایش لاگ نتایج ساخت در کنسول بین بازسازیها در حالت --watch. حالتهای پشتیبانیشده: preserve، clear-on-rebuild، clear-on-rebuild-and-flush-history.
- --trace-file=FILE
- خروجی دادههای ردیابی در قالب 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 (پیشفرض از متغیر محیطی DUNE_WORKSPACE)
- استفاده از این فایل فضای کاری مشخص به جای جستجوی آن.
- -x VAL (پیشفرض از متغیر محیطی DUNE_CROSS_TARGET)
- کامپایل متقاطع با استفاده از این زنجیره ابزار (toolchain).
راهنمای بیشتر (MORE HELP)
برای دریافت راهنمای یک دستور خاص از `dune COMMAND --help' استفاده کنید.
وضعیت خروج (EXIT STATUS)
دستور dune top با کدهای زیر خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- اگر با یک سیگنال متوقف شده باشد.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای top اثر میگذارند:
- 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
- کامپایل متقاطع با استفاده از این زنجیره ابزار.
- DUNE_DEBUG_PACKAGE_LOGS
- همیشه لاگهای استاندارد را هنگام ساخت بستهها چاپ میکند.
- DUNE_DIFF_COMMAND
- دستور پوسته برای مقایسه فایلها. برای غیرفعال کردن چاپ تفاوتها از - استفاده کنید.
- DUNE_DISABLE_PROMOTION
- غیرفعال کردن تمامی قوانین ترفیع.
- DUNE_INSTRUMENT_WITH
- فعالسازی ابزاردقیقسازی توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانههاست که با کاما جدا شدهاند و هر کدام باید یک بکاند ابزاردقیقسازی را تعریف کرده باشند.
- DUNE_JOBS
- اجرای حداکثر JOBS دستور به طور همزمان. مقدار JOBS باید یک عدد صحیح مثبت یا auto برای تشخیص خودکار تعداد هستهها (پیشفرض) باشد.
- DUNE_PROFILE
- پروفایل ساخت. در صورت عدم تعیین برابر با dev یا در صورت تنظیم -p برابر با release.
- DUNE_ROOT
- استفاده از این پوشه به عنوان ریشه فضای کاری به جای حدس زدن آن. توجه داشته باشید که این گزینه تفسیر هدفهای دادهشده در خط فرمان را تغییر نمیدهد. این گزینه فقط برای اسکریپتها در نظر گرفته شده است.
- DUNE_SANDBOX
- حالت ایزولهسازی پیشفرض. (مشاهده کنید --sandbox)
- DUNE_STORE_ORIG_SOURCE_DIR
- ذخیره مکان اصلی منبع در متادیتای dune-package.
- DUNE_TARGET_EXEC
- دستور بستهبندی برای اجرای فایلهای اجرایی هدف هنگام کامپایل متقاطع. قالب: TOOLCHAIN=CMD (مانند 'windows=wine').
- DUNE_WORKSPACE
- استفاده از این فایل فضای کاری مشخص به جای جستجوی آن.
اشکالات (BUGS)
گزارش اشکالات را در https://github.com/ocaml/dune/issues بررسی کنید
همچنین ببینید (SEE ALSO)
dune(1)
| Dune 3.24.2 |