مشارکت در کد غیر اصلی

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

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

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

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

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

[فهرست محتویات]

مسیرهای پروژه‌ها را مشارکت دهید

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

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

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

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

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

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

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

  • اصلی
  • تجارت شده
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • توسعه‌دهنده اصلی رؤیاهای روزانه
  • اصلی-بدون-فروشنده
  • لباس اصلی

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

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

  • به دستورالعمل‌های قالب‌بندی اندروید احترام بگذارید
  • کد آزمایش شده و به همراه تست‌ها ارسال می‌شود.
  • طراحی متفکرانه و منطقی است

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

آئوسپ

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

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

tools/tradefederation/core/tests/run_tradefed_aosp_presubmit.sh

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

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

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