REBAR3(1) General Commands Manual REBAR3(1) نام (NAME) rebar3 - ابزاری برای کار با پروژه‌های Erlang خلاصه دستور (SYNOPSIS) rebar3 --version rebar3 help rebar3 command [options] ... توضیحات (DESCRIPTION) ابزار Rebar3 یک ابزار Erlang است که ایجاد، توسعه و انتشار کتابخانه‌ها، برنامه‌ها و سیستم‌های Erlang را به شیوه‌ای تکرارپذیر آسان می‌سازد. مستندات کامل در http://www.rebar3.org دستورهای ضروری (ESSENTIAL COMMANDS) برای فهرست کامل دستورها، بخش COMMANDS را ببینید. با دستور rebar3 help ، دستورها و افزونه‌ها اطلاعات راهنمای خود را نمایش می‌دهند. compile کامپایل پروژه فعلی new (help [template])|template نمایش اطلاعات درباره قالب‌ها یا استفاده از یکی از آن‌ها update دریافت تازه‌ترین نسخه از نمایه Hex do command[,command,...] اجرای یک یا چند دستور به‌صورت متوالی shell راه‌اندازی پروژه فعلی در یک REPL. سپس می‌توانید با استفاده از r3:do(task) آن را بدون از دست رفتن وضعیت فعلی، روی پروژه فراخوانی کنید. دستورها (COMMANDS) as تأمین‌کننده رده‌بالا برای اجرای چندین وظیفه به‌صورت متوالی ذیل پروفایل‌های مشخص. clean [-a|--all] [-p|--profile] حذف فایل‌های کامپایل‌شده beam از برنامه‌ها. --all: پاک‌سازی تمام برنامه‌ها از جمله وابستگی‌ها (deps) --profile: پاک‌سازی ذیل پروفایل مشخص. معادل با `rebar3 as clean` compile [-d|--deps_only] کامپایل فایل‌های .app.src و .erl برنامه‌ها. --deps_only: فقط کامپایل وابستگی‌ها، هیچ‌کدام از برنامه‌های پروژه ساخته نخواهند شد. cover [-r|--reset] [-v|--verbose] [-m|--min_coverage] انجام تحلیل پوشش آزمون (coverage analysis). --reset: بازنشانی تمام داده‌های پوشش آزمون (coverdata). --verbose: چاپ نتایج تحلیل پوشش آزمون. --min_coverage: تعیین حداقل درصد پوشش لازم برای موفقیت (0..100) ct [--dir] [--suite] [--group] [--case] [--label] [--config] [--spec] [--join_specs] [--allow_user_terms] [--logdir] [--logopts] [--verbosity] [-c|--cover] [--cover_export_name] [--repeat] [--duration] [--until] [--force_stop] [--basic_html] [--stylesheet] [--decrypt_key] [--decrypt_file] [--abort_if_missing_suites] [--multiply_timetraps] [--scale_timetraps] [--create_priv_dir] [--include] [--readable] [-v|--verbose] [--name] [--sname] [--setcookie] [--sys_config] [--compile_only] [--retry] اجرای آزمون‌های Common Test. --dir: فهرستی از دایرکتوری‌های اضافی حاوی مجموعه‌های آزمون --suite: فهرستی از مجموعه‌های آزمون برای اجرا --group: فهرستی از گروه‌های آزمون برای اجرا --case: فهرستی از موارد آزمون (test cases) برای اجرا --label: برچسب آزمون --config: فهرستی از فایل‌های پیکربندی --spec: فهرستی از مشخصات آزمون --join_specs: ادغام تمام مشخصات آزمون و اجرای یکپارچه آزمون --allow_user_terms: مجاز دانستن مقادیر پیکربندی تعریف‌شده توسط کاربر در فایل‌های پیکربندی --logdir: پوشه گزارش‌ها (لاگ‌ها) --logopts: گزینه‌های ثبت گزارش آزمون عمومی --verbosity: سطح جزئیات خروجی --cover: تولید داده‌های پوشش آزمون --cover_export_name: نام پایه فایل coverdata برای نوشتن --repeat: تعداد دفعات تکرار آزمون‌ها --duration: حداکثر زمان اجرا (قالب: HHMMSS) --until: اجرا تا زمان مشخص‌شده (قالب: HHMMSS) --force_stop: توقف اجباری در صورت سرآمدن زمان آزمون (true | false | skip_rest) --basic_html: نمایش خروجی ساده HTML --stylesheet: شیوه‌نامه CSS برای اعمال روی خروجی HTML --decrypt_key: مسیر کلید برای رمزگشایی پیکربندی --decrypt_file: مسیر فایل حاوی کلید رمزگشایی پیکربندی --abort_if_missing_suites: توقف عملیات در صورت مفقود بودن مجموعه‌های آزمون --multiply_timetraps: --scale_timetraps: مقیاس‌بندی محدودیت‌های زمانی (timetraps) --create_priv_dir: ایجاد دایرکتوری priv‏ (auto_per_run | auto_per_tc | manual_per_tc) --include: دایرکتوری‌های حاوی فایل‌های include اضافی --readable: نمایش نام موارد آزمون و ارسال لاگ‌ها به پوسته تنها در زمان شکست (true | compact | false) --verbose: خروجی با جزئیات کامل --name: تخصیص نام بلند به گره --sname: تخصیص نام کوتاه به گره --setcookie: تنظیم کوکی در صورت توزیع‌شده بودن گره --sys_config: فهرستی از فایل‌های پیکربندی برنامه --compile_only: کامپایل ماژول‌های پروژه با پیکربندی آزمون بدون اجرای آزمون‌ها --retry: قابلیت آزمایشی؛ در صورت یافتن مشخصات آزمون‌هایی که قبلاً شکست خورده‌اند، آن‌ها را دوباره اجرا می‌کند. deps فهرست کردن وابستگی‌ها dialyzer [-u|--update-plt] [-s|--succ-typings] اجرای تحلیل‌گر Dialyzer روی پروژه. --update-plt: فعال‌سازی به‌روزرسانی PLT. پیش‌فرض: true --succ-typings: فعال‌سازی تحلیل انواع موفقیت‌آمیز (success typings). پیش‌فرض: true do تأمین‌کننده رده‌بالا برای اجرای چندین وظیفه به‌صورت متوالی. edoc تولید مستندات با استفاده از edoc. escriptize تولید آرشیو escript. eunit [--app] [--application] [-c|--cover] [--cover_export_name] [-d|--dir] [-f|--file] [-m|--module] [-s|--suite] [-v|--verbose] [--name] [--sname] [--setcookie] اجرای آزمون‌های EUnit. --app: فهرست جداشده با ویرگول از مجموعه‌های آزمون برنامه برای اجرا. معادل `[{application, App}]`. --application: فهرست جداشده با ویرگول از مجموعه‌های آزمون برنامه برای اجرا. معادل `[{application, App}]`. --cover: تولید داده‌های پوشش آزمون. پیش‌فرض: false. --cover_export_name: نام پایه فایل coverdata برای نوشتن --dir: فهرست جداشده با ویرگول از پوشه‌ها جهت بارگذاری آزمون‌ها. معادل `[{dir, Dir}]`. --file: فهرست جداشده با ویرگول از فایل‌ها جهت بارگذاری آزمون‌ها. معادل `[{file, File}]`. --module: فهرست جداشده با ویرگول از ماژول‌ها جهت بارگذاری آزمون‌ها. معادل `[{module, Module}]`. --suite: فهرست جداشده با ویرگول از ماژول‌ها جهت بارگذاری آزمون‌ها. معادل `[{module, Module}]`. --verbose: خروجی با جزئیات کامل. پیش‌فرض: false. --name: تخصیص نام بلند به گره --sname: تخصیص نام کوتاه به گره --setcookie: تنظیم کوکی در صورت توزیع‌شده بودن گره get-deps دریافت وابستگی‌ها. help نمایش فهرستی از وظایف یا راهنمایی مربوط به یک وظیفه یا زیروظیفه مشخص..TP new [-f|--force] ایجاد پروژه جدید از روی الگوها. --force: بازنویسی فایل‌های موجود path [--app] [--base] [--bin] [--ebin] [--lib] [--priv] [-s|--separator] [--src] [--rel] چاپ مسیرهای دایرکتوری‌های ساخت در نمایه (profile) فعلی. --app: فهرست جداشده با کاما از برنامه‌ها برای بازگرداندن مسیرهای آن‌ها. --base: بازگرداندن مسیر `base' نمایه فعلی. --bin: بازگرداندن مسیر `bin' نمایه فعلی. --ebin: بازگرداندن تمامی مسیرهای `ebin' برنامه‌های نمایه فعلی. --lib: بازگرداندن مسیر `lib' نمایه فعلی. --priv: بازگرداندن مسیر `priv' برنامه‌های نمایه فعلی. --separator: نویسه جداکننده مورد استفاده برای اتصال مسیرها در صورت وجود چند مسیر خروجی. --src: بازگرداندن مسیر `src' برنامه‌های نمایه فعلی. --rel: بازگرداندن مسیر `rel' نمایه فعلی. pkgs فهرست کردن اطلاعات یک بسته. release [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-dir] [-p|--path] [--default- libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override] [-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root] ساخت انتشار (release) پروژه. --relname: مشخص کردن نام انتشاری که تولید خواهد شد --relvsn: مشخص کردن نسخه انتشار --goal: مشخص کردن یک قید هدف بر روی سیستم. این‌ها معمولاً OTP هستند --upfrom: فقط با هدف relup معتبر است، مشخص کردن انتشاری که ارتقا از آن صورت می‌گیرد --output-dir: دایرکتوری خروجی برای انتشار. مقدار پیش‌فرض `./` است. --help: چاپ راهنمای استفاده --lib-dir: دایرکتوری اضافی که باید برای برنامه‌های کاربردی OTP جستجو شود --path: دایرکتوری اضافی جهت افزودن به مسیر کد (code path) --default-libs: تعیین استفاده از دایرکتوری‌های پیش‌فرض کتابخانه سیستم (بدین معنی که در غیر این صورت باید همه را دستی اضافه کنید). مقدار پیش‌فرض true است --verbose: سطح پرگویی خروجی، مقداری بین 0 تا 3 --dev-mode: ایجاد پیوند نمادین (symlink) از برنامه‌ها و پیکربندی در انتشار به جای رونوشت گرفتن از آن‌ها --include-erts: در صورت true بودن، گنجاندن یک رونوشت از erts مورد استفاده برای ساخت؛ اگر یک مسیر مشخص شود، گنجاندن erts در آن مسیر؛ اگر false باشد، erts گنجانده نمی‌شود --override: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت : --config: مسیر فایل پیکربندی --overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables) --vm_args: مسیر فایلی که برای vm.args استفاده می‌شود --sys_config: مسیر فایلی که برای sys.config استفاده می‌شود --system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang --version: چاپ نسخه relx --root: دایرکتوری ریشه پروژه relup [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-dir] [-p|--path] [--default- libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override] [-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root] ایجاد relup برای انتشارها. --relname: مشخص کردن نام انتشاری که تولید خواهد شد --relvsn: مشخص کردن نسخه انتشار --goal: مشخص کردن یک قید هدف بر روی سیستم. این‌ها معمولاً OTP هستند --upfrom: فقط با هدف relup معتبر است، مشخص کردن انتشاری که ارتقا از آن صورت می‌گیرد --output-dir: دایرکتوری خروجی برای انتشار. مقدار پیش‌فرض `./` است. --help: چاپ راهنمای استفاده --lib-dir: دایرکتوری اضافی که باید برای برنامه‌های کاربردی OTP جستجو شود --path: دایرکتوری اضافی جهت افزودن به مسیر کد (code path) --default-libs: تعیین استفاده از دایرکتوری‌های پیش‌فرض کتابخانه سیستم (بدین معنی که در غیر این صورت باید همه را دستی اضافه کنید). مقدار پیش‌فرض true است --verbose: سطح پرگویی خروجی، مقداری بین 0 تا 3 --dev-mode: ایجاد پیوند نمادین (symlink) از برنامه‌ها و پیکربندی در انتشار به جای رونوشت گرفتن از آن‌ها --include-erts: در صورت true بودن، گنجاندن یک رونوشت از erts مورد استفاده برای ساخت؛ اگر یک مسیر مشخص شود، گنجاندن erts در آن مسیر؛ اگر false باشد، erts گنجانده نمی‌شود --override: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت : --config: مسیر فایل پیکربندی --overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables) --vm_args: مسیر فایلی که برای vm.args استفاده می‌شود --sys_config: مسیر فایلی که برای sys.config استفاده می‌شود --system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang --version: چاپ نسخه relx --root: دایرکتوری ریشه پروژه report تهیه یک گزارش خرابی (crash report) برای ارسال به صفحه مشکلات (issues) در rebar3. shell [--config] [--name] [--sname] [--setcookie] [--script] [--apps] [--start-clean] [--user_drv_args] اجرای پوسته با قرار گرفتن برنامه‌ها و وابستگی‌های پروژه در مسیر (path). --config: مسیر فایل پیکربندی مورد استفاده. در صورت عدم تعیین، مقدار پیش‌فرض {shell, [{config, File}]} و سپس فایل sys.config در relx خواهد بود. --name: اختصاص یک نام کامل (long name) به گره (node). --sname: اختصاص یک نام کوتاه (short name) به گره. --setcookie: تنظیم کوکی در صورت توزیع‌شده (distributed) بودن گره. --script: مسیر یک فایل escript برای اجرا پیش از شروع برنامه‌های پروژه. در صورت عدم تعیین، مقدار پیش‌فرض {shell, [{script_file, File}]} در rebar.config خواهد بود. --apps: فهرستی از برنامه‌ها برای راه‌اندازی پیش از شروع پوسته (مثلاً --apps app1,app2,app3). در صورت عدم تعیین، مقدار پیش‌فرض {shell, [{apps, Apps}]} در rebar.config یا برنامه‌های relx خواهد بود. --start-clean: لغو راه‌اندازی هر برنامه‌ای که در فهرست 'apps' یا انتشار مشخص شده است. --user_drv_args: آرگومان‌های ارسالی به تابع شروع user_drv برای ایجاد پوسته‌های سفارشی. tar [-n|--relname] [-v|--relvsn] [-g|--goal] [-u|--upfrom] [-o|--output-dir] [-h|--help] [-l|--lib-dir] [-p|--path] [--default- libs] [-V|--verbose] [-d|--dev-mode] [-i|--include-erts] [-a|--override] [-c|--config] [--overlay_vars] [--vm_args] [--sys_config] [--system_libs] [--version] [-r|--root] ایجاد بایگانی Tar از انتشار ساخته‌شدهٔ پروژه. --relname: مشخص کردن نام انتشاری که تولید خواهد شد --relvsn: مشخص کردن نسخه انتشار --goal: مشخص کردن یک قید هدف بر روی سیستم. این‌ها معمولاً OTP هستند --upfrom: فقط با هدف relup معتبر است، مشخص کردن انتشاری که ارتقا از آن صورت می‌گیرد --output-dir: دایرکتوری خروجی برای انتشار. مقدار پیش‌فرض `./` است. --help: چاپ راهنمای استفاده --lib-dir: دایرکتوری اضافی که باید برای برنامه‌های کاربردی OTP جستجو شود --path: دایرکتوری اضافی جهت افزودن به مسیر کد (code path) --default-libs: تعیین استفاده از دایرکتوری‌های پیش‌فرض کتابخانه سیستم (بدین معنی که در غیر این صورت باید همه را دستی اضافه کنید). مقدار پیش‌فرض true است --verbose: سطح پرگویی خروجی، مقداری بین 0 تا 3 --dev-mode: ایجاد پیوند نمادین (symlink) از برنامه‌ها و پیکربندی در انتشار به جای رونوشت گرفتن از آن‌ها --include-erts: در صورت true بودن، گنجاندن یک رونوشت از erts مورد استفاده برای ساخت؛ اگر یک مسیر مشخص شود، گنجاندن erts در آن مسیر؛ اگر false باشد، erts گنجانده نمی‌شود --override: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت : --config: مسیر فایل پیکربندی --overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables) --vm_args: مسیر فایلی که برای vm.args استفاده می‌شود --sys_config: مسیر فایلی که برای sys.config استفاده می‌شود --system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang --version: چاپ نسخه relx --root: دایرکتوری ریشه پروژه tree [-v|--verbose] چاپ درخت وابستگی‌ها. --verbose: چاپ مخزن (repo) و شاخه/برچسب/مرجع (branch/tag/ref) برای وابستگی‌های git و hg unlock باز کردن قفل وابستگی‌ها. update به‌روزرسانی نمایه‌ی بسته‌ها. upgrade ارتقای وابستگی‌ها. version چاپ نسخه rebar و Erlang فعلی. xref اجرای تحلیل ارجاع متقابل (cross reference)..SH "محیط (ENVIRONMENT)" متغیرهای محیطی امکان کنترل کلی rebar3 را در میان اجرای دستورات مختلف فراهم می‌کنند. REBAR_PROFILE انتخاب یک نمایه (profile) پیش‌فرض. مقدار پیش‌فرض default است. HEX_CDN انتخاب یک آینه (mirror) جایگزین برای hex. REBAR_CACHE_DIR مکان دایرکتوری برای کَش محلی. مقدار پیش‌فرض hex.pm است. QUIET فقط خطاها را نمایش می‌دهد. DEBUG اطلاعات اشکال‌زدایی را نمایش می‌دهد. REBAR_COLOR=high|low میزان رنگ مورد استفاده در ترمینال. مقدار پیش‌فرض high است. REBAR_CONFIG نام فایل‌های پیکربندی rebar. مقدار پیش‌فرض rebar.config است. REBAR_GIT_CLONE_OPTIONS آرگومان‌هایی که پس از هر عملیات git clone اضافه می‌شوند. به عنوان مثال، مقدار --reference ~/.cache/repos.reference امکان ایجاد یک کَش از تمام مخازن دریافت‌شده را در طول ساخت‌های مختلف فراهم می‌کند. گزینه‌های فایل پیکربندی (CONFIGURATION FILE OPTIONS) به http://www.rebar3.org/v3.0/docs/configuration مراجعه کنید. Erlang November 2018 REBAR3(1)