همیاری در کد غیرهسته

برای فعال کردن تیم‌هایی که در پروژه‌های tradefederation کد منبع غیرهسته‌ای همیاری دارند مالکیت کامل فرایند مرور، پروژه‌های زیر با حقوق باز +۲ برای همه تیم‌ها ایجاد شده است. این کار بار همه بازبینی‌های کد غیرمرتبط با چارچوب اصلی را از دوش تیم اصلی tradefederation برمی‌دارد و درعین‌حال به تیم‌های دیگر اجازه می‌دهد تا در چرخه بازبینی خود سریع‌تر تکرار کنند.

غیرهسته‌ای src به‌عنوان کدی تعریف می‌شود که چارچوب tradefederation برای عملکرد صحیح به آن نیاز ندارد (برای نمونه، آزمایش‌های سفارشی، پیکربندی‌ها، ابزارهای آزمایش خاص).

مهم src غیرهسته نباید کلاس‌های هسته tradefederation را گسترش دهد. انجام این کار بر بازسازی/پاک‌سازی آینده تأثیر می‌گذارد. اگر مطمئن نیستید که کد شما متعلق به هسته یا مشارکت‌کننده است، برای دریافت توضیحات با android-tradefed@ تماس بگیرید. تیم اصلی tradefederation خوشحال است که مشاوره دهد و درخواست‌های ویژگی را دریافت کند.

یک نمونه کلاس tradefederation اصلی می‌تواند هر کلاسی در بسته com.google.android.tradefed.build باشد، مانند: com.google.android.tradefed.build.LaunchControlProvider

باز هم اگر برایتان روشن نیست که چه چیزی کلاس اصلی محسوب می‌شود، لطفاً با android-tradefed@ تماس بگیرید.

[TOC]

مسیرهای پروژه‌های همیار

این پروژه‌های مشارکت برای چه کسانی است؟

اگر درحال‌حاضر در پروژه‌های tradefederation درحال نوشتن آزمایش‌ها/ابزارهای آزمایش/پیکربندی‌ها هستید، این پروژه‌ها برای شما ایجاد شده است.

بازبینی کد در پروژه‌های مشارکت‌کننده

هدف پروژه‌های همیاری این است که به شما امکان دهد در Tradefed توسعه انجام دهید بدون اینکه نیاز به بررسی تیم اصلی (android-tradefed@) داشته باشید. بنابراین انتظار داریم تیم شما یا هر کسی که با زمینه شما آشنا است، بازبینی‌های کد را روی CLهای شما انجام دهد.

اگر گیر کردید یا برای مورد خاصی به راهنمایی نیاز داشتید، همیشه می‌توانید با android-tradefed@ تماس بگیرید، اما به‌طور پیش‌فرض برای انجام مرور کد در contrib به آن تکیه نکنید. تیم Tradefed درخصوص مرور کد در contrib هیچ SLO ندارد.

از کجا می‌توانم کار روی این پروژه‌ها را شروع کنم؟

این پروژه‌ها به مانیفست‌های شاخه زیر اضافه شده‌اند و ازقبل بخشی از تسویه‌حساب پلاتفرم اصلی هستند، بنابراین اگر پروژه‌ها را در محیطتان نمی‌بینید، با همگام‌سازی مخزن می‌توانید همیاری کنید.

  • اصلی
  • tradefed
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • اصلی-بدون-فروشنده
  • wear-main

توسعه و آزمایش

انتظار می‌رود توسعه در contrib همان سطح کیفیتی را داشته باشد که در هر جای دیگری در مخازن Android وجود دارد:

  • دستورالعمل‌های قالب‌بندی Android را رعایت کنید
  • کد آزمایش و با آزمایش‌ها ارسال می‌شود
  • طراحی سنجیده و منطقی است

چگونه به‌صورت محلی در contrib آزمایش کنم؟

AOSP

در aosp، آزمون‌های واحد همیار در platform/tools/tradefederation/contrib/tests/src/ قرار دارد و آزمون‌های واحد باید به com.android.tradefed.prodtests.UnitTests اضافه شود تا در پیش‌ارسال و دستورگان آزمون محلی انتخاب شود.

برنامه‌های محلی AOSP پس‌از اجرای ناهار:

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

به‌روزرسانی قوانین ساخت برای پروژه‌های همیاری

قوانین ساخت (makefiles) در پوشه build/ خودشان قرار دارند و با فایل OWNERS قفل شده‌اند که مانع از تغییر آن‌ها بدون بررسی اضافی ازسوی تیم اصلی می‌شود. این تنها محدودیت پروژه همیاری است.

این بازبینی را برای اطمینان از اینکه هیچ وابستگی غیرمنتظره‌ای بدون اطلاع یا موافقت تیم اصلی به پروژه‌های کلی Tradefed اضافه نشده است نیاز داریم. اگر واقعاً نیاز دارید وابستگی‌های جدیدی اضافه شود، لطفاً با android-tradefed@ تماس بگیرید تا موارد استفاده شما را بررسی کند و به شما مشاوره دهد.