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

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

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

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

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

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

[TOC]

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

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

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

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

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

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

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

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

  • اصلی
  • معامله شده است
  • oc-dev
  • oc-dev-plus-aosp
  • nyc-mr2-dev-plus-aosp
  • main-daydream-dev
  • اصلی-بدون فروشنده
  • سایش اصلی

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

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

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

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

AOSP

در aosp، واحد تست‌های contrib در 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@ تماس بگیرید تا موارد استفاده شما را بررسی کند و به شما توصیه کند.