REBAR3(1) General Commands Manual REBAR3(1)

rebar3 - ابزاری برای کار با پروژه‌های Erlang

rebar3 --version

rebar3 help

rebar3 command [options] ...

ابزار Rebar3 یک ابزار Erlang است که ایجاد، توسعه و انتشار کتابخانه‌ها، برنامه‌ها و سیستم‌های Erlang را به شیوه‌ای تکرارپذیر آسان می‌سازد.

مستندات کامل در http://www.rebar3.org

برای فهرست کامل دستورها، بخش COMMANDS را ببینید.

با دستور rebar3 help <task>، دستورها و افزونه‌ها اطلاعات راهنمای خود را نمایش می‌دهند.

کامپایل پروژه فعلی
نمایش اطلاعات درباره قالب‌ها یا استفاده از یکی از آن‌ها
دریافت تازه‌ترین نسخه از نمایه Hex
اجرای یک یا چند دستور به‌صورت متوالی
راه‌اندازی پروژه فعلی در یک REPL. سپس می‌توانید با استفاده از r3:do(task) آن را بدون از دست رفتن وضعیت فعلی، روی پروژه فراخوانی کنید.

تأمین‌کننده رده‌بالا برای اجرای چندین وظیفه به‌صورت متوالی ذیل پروفایل‌های مشخص.
حذف فایل‌های کامپایل‌شده beam از برنامه‌ها.
--all: پاک‌سازی تمام برنامه‌ها از جمله وابستگی‌ها (deps)
--profile: پاک‌سازی ذیل پروفایل مشخص. معادل با `rebar3 as <profile> clean`
کامپایل فایل‌های .app.src و .erl برنامه‌ها.
--deps_only: فقط کامپایل وابستگی‌ها، هیچ‌کدام از برنامه‌های پروژه ساخته نخواهند شد.
انجام تحلیل پوشش آزمون (coverage analysis).
--reset: بازنشانی تمام داده‌های پوشش آزمون (coverdata).
--verbose: چاپ نتایج تحلیل پوشش آزمون.
--min_coverage: تعیین حداقل درصد پوشش لازم برای موفقیت (0..100)
اجرای آزمون‌های 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: قابلیت آزمایشی؛ در صورت یافتن مشخصات آزمون‌هایی که قبلاً شکست خورده‌اند، آن‌ها را دوباره اجرا می‌کند.
فهرست کردن وابستگی‌ها
اجرای تحلیل‌گر Dialyzer روی پروژه.
--update-plt: فعال‌سازی به‌روزرسانی PLT. پیش‌فرض: true
--succ-typings: فعال‌سازی تحلیل انواع موفقیت‌آمیز (success typings). پیش‌فرض: true
تأمین‌کننده رده‌بالا برای اجرای چندین وظیفه به‌صورت متوالی.
تولید مستندات با استفاده از edoc.
تولید آرشیو escript.
اجرای آزمون‌های 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: تنظیم کوکی در صورت توزیع‌شده بودن گره
دریافت وابستگی‌ها.
نمایش فهرستی از وظایف یا راهنمایی مربوط به یک وظیفه یا زیروظیفه مشخص..TP new [-f|--force] ایجاد پروژه جدید از روی الگوها.
--force: بازنویسی فایل‌های موجود
چاپ مسیرهای دایرکتوری‌های ساخت در نمایه (profile) فعلی.
--app: فهرست جداشده با کاما از برنامه‌ها برای بازگرداندن مسیرهای آن‌ها.
--base: بازگرداندن مسیر `base' نمایه فعلی.
--bin: بازگرداندن مسیر `bin' نمایه فعلی.
--ebin: بازگرداندن تمامی مسیرهای `ebin' برنامه‌های نمایه فعلی.
--lib: بازگرداندن مسیر `lib' نمایه فعلی.
--priv: بازگرداندن مسیر `priv' برنامه‌های نمایه فعلی.
--separator: نویسه جداکننده مورد استفاده برای اتصال مسیرها در صورت وجود چند مسیر خروجی.
--src: بازگرداندن مسیر `src' برنامه‌های نمایه فعلی.
--rel: بازگرداندن مسیر `rel' نمایه فعلی.
فهرست کردن اطلاعات یک بسته.
ساخت انتشار (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: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت <appname>:<app directory>
--config: مسیر فایل پیکربندی
--overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables)
--vm_args: مسیر فایلی که برای vm.args استفاده می‌شود
--sys_config: مسیر فایلی که برای sys.config استفاده می‌شود
--system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang
--version: چاپ نسخه relx
--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: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت <appname>:<app directory>
--config: مسیر فایل پیکربندی
--overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables)
--vm_args: مسیر فایلی که برای vm.args استفاده می‌شود
--sys_config: مسیر فایلی که برای sys.config استفاده می‌شود
--system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang
--version: چاپ نسخه relx
--root: دایرکتوری ریشه پروژه
تهیه یک گزارش خرابی (crash report) برای ارسال به صفحه مشکلات (issues) در rebar3.
اجرای پوسته با قرار گرفتن برنامه‌ها و وابستگی‌های پروژه در مسیر (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 از انتشار ساخته‌شدهٔ پروژه.
--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: مشخص کردن نام یک برنامه و یک دایرکتوری برای جایگزینی به صورت <appname>:<app directory>
--config: مسیر فایل پیکربندی
--overlay_vars: مسیر فایلی از متغیرهای همپوشانی (overlay variables)
--vm_args: مسیر فایلی که برای vm.args استفاده می‌شود
--sys_config: مسیر فایلی که برای sys.config استفاده می‌شود
--system_libs: مسیر دایرکتوری کتابخانه‌های سیستمی Erlang
--version: چاپ نسخه relx
--root: دایرکتوری ریشه پروژه
چاپ درخت وابستگی‌ها.
--verbose: چاپ مخزن (repo) و شاخه/برچسب/مرجع (branch/tag/ref) برای وابستگی‌های git و hg
باز کردن قفل وابستگی‌ها.
به‌روزرسانی نمایه‌ی بسته‌ها.
ارتقای وابستگی‌ها.
چاپ نسخه rebar و Erlang فعلی.
اجرای تحلیل ارجاع متقابل (cross reference)..SH "محیط (ENVIRONMENT)"

متغیرهای محیطی امکان کنترل کلی rebar3 را در میان اجرای دستورات مختلف فراهم می‌کنند.

انتخاب یک نمایه (profile) پیش‌فرض. مقدار پیش‌فرض default است.
انتخاب یک آینه (mirror) جایگزین برای hex.
مکان دایرکتوری برای کَش محلی. مقدار پیش‌فرض hex.pm است.
فقط خطاها را نمایش می‌دهد.
اطلاعات اشکال‌زدایی را نمایش می‌دهد.
میزان رنگ مورد استفاده در ترمینال. مقدار پیش‌فرض high است.
نام فایل‌های پیکربندی rebar. مقدار پیش‌فرض rebar.config است.
آرگومان‌هایی که پس از هر عملیات git clone اضافه می‌شوند. به عنوان مثال، مقدار --reference ~/.cache/repos.reference امکان ایجاد یک کَش از تمام مخازن دریافت‌شده را در طول ساخت‌های مختلف فراهم می‌کند.

به http://www.rebar3.org/v3.0/docs/configuration مراجعه کنید.

November 2018 Erlang