Servo: لم يتم فحص أي من صناديق الدعم مرتبة أو فحص الترخيص

تم إنشاؤها على ٤ سبتمبر ٢٠١٣  ·  27تعليقات  ·  مصدر: servo/servo

يتم سرد هذه كاستثناءات في tidy.py ، ولكن يتم الاحتفاظ بمعظمها من قبلنا. يجب التحقق من صحة الترخيص على وجه الخصوص على كل شيء نقوم بصيانته.

A-infrastructure

التعليق الأكثر فائدة

أعتقد أن الشاغل الأكثر أهمية هو أنه من الممكن تعديل tidy.py ومعرفة كيف تؤثر هذه التغييرات على ./mach test-tidy بأقل عدد ممكن من الخطوات الوسيطة.

ال 27 كومينتر

دليل النظام الأساسي لديه مشكلة مماثلة

بالنظر إلى قائمة الملفات التي تم تجاهلها ، قد يتم ذلك

مجموعة من الكود "الخاص بنا" (والتي يمكن تعريفها على أنها non-forks ضمن https://github.com/servo/) موجودة في مستودعات منفصلة ويتم استخدامها من خلال البضائع ، وبالتالي فهي غير مرئية لـ tidy.py . لذلك لم يتم ذلك ، والآن أصبحنا أصعب من ذي قبل انتقلنا إلى Cargo وكان كل شيء عبارة عن وحدة فرعية.

لا يمكننا وضع مرتبة في كل الريبو مع تكوين مختلف؟ يجب أن تكون جميع هذه المستودعات في نظام CI ، بحيث تحقق نفس الغاية.

كل مستودعات لها CI منفصلة خاصة بها والتي يمكن أن تحتوي على نسخة من tidy.py ، لكن هذا يعني أن العديد من النسخ يجب تحديثها عندما نريد إضافة شيء ما.

نقل مرتبة إلى وحدة فرعية؟ قم بتنزيله وتشغيله أثناء CI؟ هناك عدد قليل من الأساليب للحد من هذه المشكلة.

خيار يجب مراعاته: تحميل tidy إلى PyPi كـ servo_tidy وقم فقط بتنزيل أحدث إصدار متى أردنا الترتيب

تحرير: ضربني جاك

frewsxcv لكني أحب نسخة كوري الأكثر واقعية للاقتراح بشكل أفضل.

على ما يرام. لقد فكرت في هذا قليلاً وأعتقد أنني على مستوى التحدي. سأقوم بإبلاغ أفكاري قبل تنفيذ أي شيء ؛ قد أتمكن من إصلاح # 6999 في وقت واحد مع هذا.

بعد بعض التفكير ، هذا ما أقترحه:

  1. البيئات الافتراضية (بليه؟). عند تشغيل أي أمر mach ، ستقوم Python بإنشاء / تنشيط بيئة افتراضية (والتي ستعيش في مكان ما مثل .pyenv/ أو python/.pyenv/ ). ثم سنقوم بتثبيت / تحديث تبعياتنا وفقًا لملف python/requirements.txt ). سيسمح لنا ذلك بإزالة ما يلي من شجرتنا وإضافتها كمتطلبات PyPi:

    • python/mozdebug

    • python/mozinfo

    • python/mozlog

    • dependencies/*

    • python/toml

سيؤدي هذا أيضًا إلى إصلاح # 6999. اعتمادًا على ما إذا كان المنشئون يفجرون دليل العمل بعد كل بناء ، قد نحتاج إلى إضافة نوع من خيارات التخزين المؤقت أو معلمة Mach لتحديد Python virtualenv.

  1. حزمة tidy.py . قد يعني هذا إنشاء python/tidy/tidy.py و python/tidy/setup.py .
  2. دمج tidy.py في المستودعات الأخرى. هناك عدة طرق للقيام بذلك:

    1. حررها على PyPi. ما لم نقم بإنشاء نظام لأتمتة نشر حزمة Python كلما تغيرت ، فقد يكون إصدارها أمرًا مزعجًا.

    2. امتلاك جميع المستودعات الأخرى قم بما يلي:

pip install -e git+https://github.com/servo/servo.git#egg=servo_tidy&subdirectory=python/tidy

اسمحوا لي أن أعرف إذا كان لدى أي شخص أي أفكار أو أفكار أخرى

لدينا بالفعل Virtualenv لاختبارات منصة الويب ، وربما يمكن استخدامه أيضًا لهذا الغرض.

لدينا بالفعل Virtualenv لاختبارات منصة الويب ، وربما يمكن استخدامه أيضًا لهذا الغرض.

فكره جيده. كنت على وشك أن أقترح أن ننقل أيضًا tests/wpt/harness (wptrunner) خارج الشجرة (ونجعلها تبعية للنقطة) ، ولكن يبدو أنك أجريت للتو بعض التعديلات على نسختنا داخل الشجرة: P

المنبع لذلك هو https://github.com/w3c/wptrunner ، ومن المفترض أن يتم تحديث التغييرات التي تم إجراؤها في نسختنا. لا أعرف لماذا ليست وحدة فرعية أو مثبتة من PyPI. ولكن هذا نوعًا ما خارج عن الموضوع ، فلا تتردد في فتح مشكلة أخرى.

كنت أفكر في tests/wpt/_virtualenv (الذي تم إنشاؤه عند تشغيل ./mach test-wpt ) ، وليس tests/wpt/harness .

أيضًا إذا كان هذا _virtualenv سيقوم بمهام أكثر (وهو أمر جيد) ، فمن المحتمل أن يتحرك إلى أعلى الشجرة.

كنت أفكر في الاختبارات / wpt / _virtualenv (التي يتم إنشاؤها عند تشغيل ./mach test-wpt) ، وليس الاختبارات / wpt / harness.

حسنًا ، يبدو جيدًا. إن كود Python لإنشاء / تنشيط بيئة افتراضية جديدة ليس كثيرًا ، لذلك في حالة رغبتنا في فصل متطلبات WPT والمتطلبات المرتبة في المستقبل (بسبب عدم التوافق أو أي شيء آخر) ، لا ينبغي أن يكون الأمر بهذه الصعوبة.

أنا أيضًا لا أعارض نقل مسار virtualenv إلى مكان أكثر عمومية مثل python/_virtualenv

ومرة أخرى ، ضربني جاك

python/_virtualenv مكان جيد.

يستخدم ماش الآن python/_virtualenv ، بفضل دقة # 6999.

فائدة نشر الحزمة من حيث تعيش في شجرة مؤازرة هي أننا لن نضطر إلى تغيير جميع المستودعات الأخرى إذا قمنا بتقسيمها في النهاية ؛ العيب هو أنه يتعين علينا إدارة مجموعة أخرى من بيانات الاعتماد لـ pypi والتأكد من دفع التغييرات المطلوبة.

للنشر على pypi ، سيكون لدى شخص ما نسخة من .pypirc التي تحتفظ باسم المستخدم وكلمة المرور لحساب pypi ، ثم قم بتشغيل الأوامر للتسجيل وتحميل الحزمة. إذا كان "شخص ما" في هذه الحالة هو مضيف buildmaster ، فيمكننا أتمتة عملية تحديث الحزمة.

مع ذلك ، أنا بخير مع التثبيت المباشر أو pypi. يعد Pypi المزيد من العمل الآن ، والتثبيت المباشر يمثل متاعب أكبر في نقطة غير محددة في المستقبل ، وكلاهما يتطلب جعله منظمًا في حزمة.

shinglyu ، هل تريد

edunham : يمكنني فعل ذلك. :)

إن زميلي askeing مهتم جدًا بهذه المشكلة ، لذا سأترك هذا الأمر له.

مرحبًا edunham ،
أحاول إعدادها كحزمة Python (مع الاختبارات) هنا: https://github.com/askeing/servo_tidy

askeing شكرا لك! يبدو أنك قد أنجزت معظم العمل الشاق بالفعل. بلدي nitpick الوحيد هو أنه سيكون من المفيد أن يكون لديك setup() في setup.py يتضمن شيئًا مثل

entry_points={
        'console_scripts': [
            'servo-tidy=servo_tidy:scan',
        ],
    },

حتى نتمكن من استدعاء servo-tidy مباشرة في قسم البرنامج النصي بمشروع آخر .travis.yml بمجرد تثبيت الحزمة.

frewsxcvlarsbergstrommetajack ما هي أفكارك حول tidy يعيشون في شجرة مضاعفات مقابل في الريبو الخاصة به؟ ما مدى أهمية الاحتفاظ بسجل git tidy من الشجرة الحالية بالنسبة للمشروع؟ أنا شخصياً أفضل الاحتفاظ بالتاريخ كلما أمكن ذلك ، لكن هذا يتعلق بالرأي أكثر من الضرورة في هذه الحالة.

لا يوجد تفضيل قوي مني. تجدر الإشارة إلى أن tidy.py يبدو أنه نقطة انطلاق لبعض المساهمين الجدد ، وقد يؤدي وجود هذا الملف في مستودع منفصل إلى زيادة الحاجز الذي يواجهه هؤلاء المساهمون.

أعتقد أن الشاغل الأكثر أهمية هو أنه من الممكن تعديل tidy.py ومعرفة كيف تؤثر هذه التغييرات على ./mach test-tidy بأقل عدد ممكن من الخطوات الوسيطة.

عفوًا ، كان قول "إصلاحات" في تلك العلاقات العامة يذهب بعيدًا بعض الشيء. الصناديق لا تستخدمها في الواقع في CI الخاصة بهم حتى الآن.

أنا متأكد من أن هذا قد انخفض الآن ، أو أن هناك مشكلات أخرى حلت محل هذه المشكلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات