OSS Attribution Builder هو موقع ويب يساعد الفرق على إنشاء مستندات إسناد لمنتجات البرمجيات. مستند الإسناد هو ملف نصي أو صفحة ويب أو شاشة في كل تطبيق برنامج يسرد مكونات البرنامج المستخدمة وتراخيصهم. غالبًا ما تكون في شاشات حول حولها ، وأحيانًا يتم تصنيفها "إشعارات مفتوحة المصدر" أو "الاعتمادات" أو غيرها من المصطلحات المماثلة.
لقطة شاشة
docker-compose upadmin لاختبار وظائف المسؤول. انظر الوثائق:
كان منشئ الإسناد في الأصل أداة Amazon-Internal. كان لا بد من إزالة بعض الأجزاء لجعل هذا مشروعًا مفتوحًا معقولًا. على هذا النحو ، هناك بعض الثآليل:
سيتم إصلاح كل هذا في الوقت المناسب ، ولكن يجب أن تدرك أن بعض الأشياء قد تكون غريبة لفترة من الوقت.
إذا كنت مستعدًا لدمج منشئ الإسناد في بيئتك الخاصة ، فهناك بعض الأشياء التي يجب إعدادها:
افتح تكوين/default.js والوخص. يتم تشغيل هذا التكوين عند تشغيل docker-compose أو تشغيل التطبيق بطريقة أخرى.
يتمتع منشئ الإسناد بدعم لنوعين من تعريفات الترخيص:
تُستخدم معرفات SPDX فقط لإملاء محدد الترخيص مسبقًا ، ولكن ليس لديها (حاليًا) نصوصًا. النوع الأكثر فائدة من الترخيص هو ترخيص "معروف" ، حيث تقوم (المسؤول) بتزويد نص الترخيص وأي علامات ترغب في تطبيقها.
للحصول على معلومات حول إضافة التراخيص "المعروفة" الخاصة بك ، راجع ترخيص ReadMe. هناك نوعان من التراخيص الحاليين في نفس الدليل الذي يمكنك النظر إليهما للحصول على أمثلة.
تسمح لك العلامات بإضافة قواعد التحقق التعسفية إلى ترخيص. يمكن أن تكون مفيدة ل:
للحصول على معلومات حول العلامات التي يمكن أن تفعلها وكيفية إنشاء علاماتك الخاصة ، راجع العلامات README.
يوفر منشئ الإسناد شكلاً من أشكال الامتدادات التي تتيح لك تغيير سلوك ومظهر الموقع من جانب العميل ، دون الحاجة إلى تصحيح الداخلية. هذا يمكن أن يجعل ترقيات أسهل.
انظر الامتدادات ReadMe للحصول على التفاصيل.
يدعم منشئ الإسناد القدرة على تقييد الوصول إلى بعض الأشخاص أو المجموعات باستخدام ACLS للمشروع. يمكن أيضًا استخدامها للإدارة و "التحقق من" الحزم (التفاصيل حول ذلك في قسم لاحق). التنفيذ الافتراضي nullauth ليس مفيدًا جدًا لمعظم البيئات ؛ سترغب في كتابة بنفسك عند الإطلاق على نطاق أوسع.
انظر واجهة المصادقة الأساسية لتفاصيل التنفيذ.
لبدء تشغيل الخادم ، يجب عليك تشغيل build/server/localserver.js بعد الإنشاء باستخدام npm run build . هناك بعض متغيرات البيئة التي ربما ترغب في تعيينها عند التشغيل:
NODE_ENV على الأرجح يجب ضبطه على productionCONFIG_NAME على الاسم الأساسي (بدون امتداد) لملف التكوين الذي أنشأته أعلاه. الافتراضي هو "افتراضي".يعمل الخادم في HTTP فقط. ربما تريد وضع خادم ويب HTTPS رفيع أو وكيل أمامه.
انظر المساهمة للحصول على المعلومات.
npm install ثم npm run dev سوف يخرجك من الأرض للتنمية المحلية. سيبدأ هذا حاوية Docker لـ PostgreSQL ، ولكنها ستستخدم نسخة محلية من TSC و WebPack و Node ، وما إلى ذلك حتى تتمكن من التكرار بسرعة.
بمجرد بدء الأمور ، يمكنك فتح http://0.0.0.0:2425/webpack-dev-server/. سيتم إعادة تحميل هذا تلقائيًا على تغييرات المتصفح ، وسيتم إعادة تشغيل الواجهة الخلفية تلقائيًا على التغييرات من جانب الخادم.
متغيرات البيئة المفيدة:
NODE_ENV : عند إلغاء ضبط أو development ، ستحصل على خرائط المصادر بالكامل وسجلات التصحيحDEBUG_SQL : عند تعيين (إلى أي شيء) ، سيظهر هذا استعلامات SQL على المحطة أثناء تنفيذها سيقوم npm test بإجراء اختبارات الوحدة. هذه هي في المقام الأول تركيز الخادم.
سيتم تشغيل npm run test-ui اختبارات السيلينيوم. يمكنك تعيين متغير البيئة SELENIUM_DRIVER إذا كنت تريد برنامج تشغيل مخصص - افتراضيًا ، سيحاول استخدام Chrome ، وإذا لم يكن ذلك متاحًا ، فسوف يعود إلى Phantomjs.
عند اختبارات تصحيح UI ، قد يكون من الأسهل تغيير standalone-chrome إلى standalone-chrome-debug في docker-compose.selenium.yml ، ثم الاتصال بالحاوية عبر VNC (المنفذ 5900 ، كلمة المرور "Secret"). قم بتشغيل الحاوية واختباراتك بشكل منفصل:
docker-compose -f docker-compose.selenium.yml up --buildtsc && jasmine --stop-on-failure=true 'build/selenium/*.spec.js' اختبارات الفشل على ما يبدو لا سبب؟ driver.sleep لا يعمل؟ تأكد من أن مهلة الياسمين الخاصة بك في اختبارك مرتفع بما فيه الكفاية.