| DUNE-CLEAN(1) | Dune Manual | DUNE-CLEAN(1) |
نام (NAME)
dune-clean - پاکسازی پروژه
خلاصه دستور (SYNOPSIS)
dune clean [OPTION]… [PATH]…
توضیحات (DESCRIPTION)
فایلهای اضافهشده توسط dune مانند _build، <package>.install و .merlin را حذف میکند.
اگر یک یا چند آرگومان PATH ارائه شده باشند، تنها آن مسیرها از دایرکتوری ساخت حذف میشوند.
گزینهها (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 (در صورت عدم تعیین=deterministic)
- زمان گزارش خطاهای ساخت را کنترل میکند. مقدار early خطاها را به محض شناسایی گزارش میدهد. مقدار deterministic خطاها را در پایان فرایند ساخت و با ترتیبی مشخص و معین گزارش میکند. مقدار twice هر خطا را دو بار گزارش میدهد: یک بار به محض شناسایی خطا و سپس مجدداً در پایان ساخت با ترتیبی معین.
- -f, --force
- اجرای مجدد اجباری عملیاتهای مرتبط با نامهای مستعار (alias) حتی در صورتی که وابستگیهای آنها تغییر نکرده باشد.
- --file-watcher=VAL (در صورت عدم تعیین=automatic)
- سازوکار تشخیص تغییرات در کد منبع. مقدار Automatic باعث میشود dune یک برنامه خارجی را برای تشخیص تغییرات اجرا کند. مقدار Manual به dune اطلاع میدهد که تغییر فایلها به صورت دستی اعلام میشود.
- --passive-watch-mode
- مشابه [--watch]، اما فرایند ساخت فقط زمانی آغاز میشود که از بیرون از طریق یک RPC دستور داده شود.
- --sandbox=VAL (در صورت عدم وجود متغیر محیطی DUNE_SANDBOX)
- تنظیم حالت سندباکس (محیط ایزوله). برخی عملیاتها نیازمند حالت سندباکس خاصی هستند، بنابراین این تنظیم را نادیده میگیرند. مقادیر مجاز عبارتند از: none، symlink، copy، hardlink.
- --stop-on-first-error
- توقف فرایند ساخت به محض مواجهه با نخستین خطا.
- -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 (در صورت عدم وجود متغیر محیطی 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
- تخلیه آمار زبالهروب در یک فایل پس از تکمیل ساخت.
- --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)
- فعالسازی ابزار دقیق توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانههاست که با کاما جدا شدهاند و هر یک از آنها باید یک backend ابزار دقیق را اعلان کرده باشد.
- -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
- نادیده گرفتن بندهای مربوط به بستهای که در 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)
- دستور پوششی برای اجرای باینریهای مقصد هنگام کامپایل متقابل. قالب: 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)
- کامپایل متقابل با استفاده از این زنجیره ابزار.
راهنمای بیشتر (MORE HELP)
برای دریافت راهنما درباره یک دستور خاص، از `dune COMMAND --help' استفاده کنید.
وضعیت خروج (EXIT STATUS)
دستور dune clean با مقادیر زیر خارج میشود:
- 0
- در صورت موفقیت.
- 1
- در صورت بروز خطا.
- 130
- اگر با یک سیگنال متوقف شود.
محیط (ENVIRONMENT)
این متغیرهای محیطی بر اجرای clean تأثیر میگذارند:
- 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
- دستور شل مورد استفاده برای مقایسه (diff) فایلها. از - برای غیرفعال کردن چاپ تفاوتها استفاده کنید.
- DUNE_DISABLE_PROMOTION
- غیرفعال کردن تمام قواعد ترفیع.
- DUNE_INSTRUMENT_WITH
- فعالسازی ابزار دقیق توسط BACKENDS. مقدار BACKENDS فهرستی از نامهای کتابخانههاست که با کاما جدا شدهاند و هر یک از آنها باید یک backend ابزار دقیق را اعلان کرده باشد.
- 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 |