يحتوي مستودع GitHub على مصادر 3 مكتبات تنفذ معايير وبروتوكولات IVOA:
للحصول على توثيق/تعليمي كامل وتوضيح للمكتبات الثلاث ، يجب عليك زيارة المواقع الإلكترونية التالية: Adqltuto و Uwstuto و Taptuto.
تم تطوير هذه المكتبات في Java 7 .
الثلاثة من هذه المكتبات تحت شروط ترخيص LGPL V3. يمكنك العثور على الوصف الكامل وجميع شروط الاستخدام في الملفات SRC/نسخ و SRC/copying.lesser.
أشجعك بشدة على إعلان أي مشكلة تواجهها هنا. وبالتالي ، يمكن لأي شخص لديه نفس المشكلة معرفة ما إذا كانت مشكلته معروفة بالفعل. إذا كانت المشكلة معروفة ، فسيتم نشر التقدم و/أو التعليقات حول قرارها.
بالإضافة إلى ذلك ، إذا كنت قد شربت هذا المستودع وقامت ببعض التصحيحات على جانبك والتي من المحتمل أن تهتم بأي مستخدم آخر للمكتبات ، من فضلك ، إرسال طلب سحب هنا. إذا كانت هذه التعديلات في الكفاءة مع تعريف IVOA ولم تكن خاصة جدًا باستيكاسك ، فسيتم دمجها (ربما بعد بعض التعديلات) في هذا المستودع وبالتالي توفر للجميع.
تحتوي كل مكتبة على حزمة خاصة بها ( adql لـ ADQL و uws لـ UWS tap للنقر). هذه الحزم مستقلة باستثناء tap التي تحتاج إلى الحزم الأخرى. بالإضافة إلى هذه الحزم ، ستجد أيضًا cds والتي تعتبر تبعية للمكتبات.
أدناه يتم تلخيص تبعيات كل مكتبة:
| ADQL | UWS | مقبض | |
|---|---|---|---|
حزمة adql | x | x | |
حزمة cds.utils | x | x | |
| Postgres JDBC Driver | x | x | |
حزمة uws | x | x | |
| مكتبة JSON | x | x | |
| HTTP Servlet API | x | x | |
| مكتبة HTTP Multipart | x | x | |
حزم cds.* | x | ||
| مكتبة Stil | x |
في دليل lib ، ستجد 3 ملفات جرة:
commons-fileupload-1.3.3.jar (و commons-io-2.6.jar ). تساعد هذه المكتبة في التعامل مع التحميلات.stil_3.3-2.jar (IE Packages nom.tap ، org.apache.tools.bzip2 ، uk.ac.starlink ). تساعد هذه المكتبة في دعم النواة (قراءة والكتابة) وبعض تنسيقات الإخراج الأخرى.json-20180813.jar (أي الحزمة السابقة تضمنت org.json ). تساعد هذه المكتبة في معالجة محتوى JSON. تم استخدام هذه المكتبة بالفعل (قبل V4.4 من UWS-LIB و V2.3 من TAP-LIB) ولكن تم تضمينها في المصادر بدلاً من اعتبارها مكتبة خارجية. لا يلزم برنامج Postgres JDBC إلا إذا كنت ترغب في استخدام (والاحتفاظ به) adql.translator.PgSphereTranslator . يمكنك الحصول على هذا السائق على موقع PostgreSQL. الحزمة المطلوبة للمكتبات ADQL و TAP هي org.postgresql (وخاصة الفئة org.postgresql.Driver ).
يتوفر API HTTP Servlet بشكل عام في المكتبات القادمة على طول خادم تطبيق الويب الذي تستخدمه. على سبيل المثال ، بالنسبة إلى Tomcat ، يقع في الدليل lib (أو /var/lib/tomcat-x/lib إذا تم تثبيته باستخدام الكفاءة على نظام Linux ؛ x هو رقم إصدار tomcat). الحزمة المطلوبة لـ UWS ومكتبة النقر هي javax.servlet .
ملاحظة: لا يتم توفير برنامج تشغيل Postgres JDBC و HTTP Servlet API في مستودع GIT هذا لتجنب عدم توافق الإصدار مع نظام المضيف (أي جهازك عند الخروج/استنساخ/شوكة هذا المستودع).
مصادر هذه المكتبات الثلاث تأتي مع بعض ملفات اختبار Junit. يمكنك العثور عليها في دليل test .
إذا كنت تستخدم Eclipse (أو ربما أيضًا مع بيئة تطوير متكاملة أخرى) ، فإن Junit متوفر بالفعل بالفعل. ثم يمكنك تنفيذ ملفات اختبار Junit المقدمة وتجميعها مباشرة. لذلك لا تحتاج إلى المكتبتين المذكورة أدناه.
خلاف ذلك ، ستحتاج إلى الحصول على مكتبة Junit. بشكل عام ، يتم توفيره مع JDK ، ولكن يمكنك العثور على الجرة المقابلة أيضًا على موقع Junit.
قد تحتاج أيضًا إلى مكتبة أخرى تسمى hamcrest . يمكنك العثور على هذا واحد على مستودع Maven الخاص به. فقط للتأكد من حاجة إلى كل شيء ، ما عليك سوى خذ hamcrest-all كجرة.
ملاحظة: لا يتم توفير مكتبات Junit و Hamcrest في مستودع GIT هذا لتجنب عدم توافق الإصدار مع نظام المضيف (أي جهازك عند الخروج/استنساخ/شوكة هذا المستودع).
في جذر المستودع ، هناك 3 نصوص النمل. كل مخصص لمكتبة واحدة. إنهم قادرون على توليد جرة للمصادر والثنائيات وجافادوك.
يجب تعيين 4 خصائص قبل استخدام أحد هذه البرامج النصية:
POSTGRES فقط لـ ADQL وانقر فوق إذا كنت تريد الاحتفاظ adql.translator.pgspheretranslator : طريق نحو جرة أو دليل ثنائي يحتوي على جميع org.postgresql.*SERVLET-API فقط من أجل UWS و TAP : مسار نحو جرة أو دليل ثنائي يحتوي على جميع javax.servlet.*JUNIT-API غير مطلوب إذا لم تكن مهتمًا بإجراء اختبارات Junit : مسار نحو واحد أو عدة جرار أو أدلة ثنائية تحتوي على جميع الفصول لاستخدام Junit.JNDI-API فقط للنقر وفقط إذا كنت مهتمًا بإجراء اختبارات JUNIT : مسار نحو واحد أو عدة جرار أو أدلة ثنائية تحتوي على جميع الفئات لتشغيل JNDI. توجد العديد من المكتبات لذلك ؛ Simple-Jndi بسيط للغاية ويستخدمه مطور المكتبات لتشغيل اختبارات Junit ذات الصلة.ملاحظة: لا يتم توفير مكتبة JNDI في مستودع GIT هذا لأن أي مكتبة JNDI قد تعمل ولا يوجد سبب لفرض نسخة محددة. علاوة على ذلك ، وبالمثل ، مثل المكتبات الأخرى المطلوبة لتجميع المصادر ، فإنها تتيح تجنب عدم توافق الإصدار مع النظام المضيف (أي جهازك عند الخروج/استنساخ/شوكة هذا المستودع).
كل هذه البرامج النصية ANT لها الأهداف الرئيسية التالية:
junitValidation : ينفذ جميع اختبارات JUNIT المتعلقة بالمكتبة المستهدفة وإيقاف ANT في أي خطأ. إذا تم النقر على المكتبة المستهدفة ، فسيتم تشغيل اختبارات Junit للمكتبات الثلاث.buildLib Default : قم بتشغيل اختبارات Junit ، وإذا كانت جميعها ناجحة ، فقم بتجميع فصول المكتبة المستهدفة وإنشاء ملف جرة معهم وتبعياتهم.buildLibAndSrc : مثل بناء buildLib + لملف جرة يحتوي على جميع المصادر والمكتبات المطلوبة.buildJavadoc : قم بإنشاء جرة تحتوي على جافادوك من فصول المكتبة المستهدفة.buildAll : ما يعادل buildLibAndSrc و buildJavadoc معًا. والنتيجة هي 3 جرار: واحدة مع الفصول المترجمة ، واحدة مع المصادر المقابلة والأخير مع Javadoc.يمكن بناء الرمز باستخدام Gradle ، إما كملف جرة ليتم تضمينه في مشاريع أخرى أو كملف الحرب الذي سيتم نشره في Tomcat.