พื้นที่เก็บข้อมูล GitHub นี้มีแหล่งที่มาของ 3 ห้องสมุดที่ใช้มาตรฐาน IVOA และโปรโตคอล:
สำหรับเอกสาร/บทช่วยสอนที่สมบูรณ์และการสาธิตของ 3 ห้องสมุดคุณควรเยี่ยมชมเว็บไซต์ต่อไปนี้: Adqltuto, Uwstuto และ Taptuto
ห้องสมุดเหล่านี้ได้รับการพัฒนาใน Java 7
ห้องสมุดทั้งสามนี้อยู่ภายใต้เงื่อนไขของใบอนุญาต LGPL V3 คุณสามารถค้นหาคำอธิบายทั้งหมดและเงื่อนไขการใช้งานทั้งหมดในไฟล์ SRC/การคัดลอกและ SRC/การคัดลอก
ฉันขอแนะนำให้คุณ ประกาศปัญหาใด ๆ ที่คุณพบ ที่นี่ ดังนั้นใครก็ตามที่มีปัญหาเดียวกันสามารถดูได้ว่าปัญหาของเขา/เธอเป็นที่รู้จักกันแล้วหรือไม่ หากปัญหาเป็นที่ทราบกันดีว่าความคืบหน้าและ/หรือความคิดเห็นเกี่ยวกับการแก้ปัญหาจะถูกเผยแพร่
นอกจากนี้หากคุณได้แยกพื้นที่เก็บข้อมูลนี้และทำการแก้ไขด้านข้างของคุณซึ่งมีแนวโน้มที่จะสนใจผู้ใช้รายอื่นของไลบรารีโปรด ส่งคำขอดึง ที่นี่ หากการดัดแปลงเหล่านี้เพียงพอกับคำจำกัดความของ IVOA และไม่เฉพาะเจาะจงกับ USECASE ของคุณมากเกินไปพวกเขาจะถูกรวมเข้าด้วยกัน (อาจหลังจากการแก้ไขบางอย่าง) ในที่เก็บนี้และทำให้ทุกคนพร้อมใช้งาน
แต่ละห้องสมุดมีแพ็คเกจของตัวเอง ( adql สำหรับ ADQL, uws สำหรับ UWS และ tap สำหรับ TAP) แพ็คเกจเหล่านี้มีความเป็นอิสระยกเว้น tap ซึ่งต้องการแพ็คเกจอื่นสองแพ็คเกจ นอกเหนือจากแพ็คเกจเหล่านี้คุณจะพบ cds ซึ่งเป็นการพึ่งพาห้องสมุด
ด้านล่างนี้จะรวมการพึ่งพาของแต่ละห้องสมุด:
| ADQL | UWS | แตะ | |
|---|---|---|---|
แพ็คเกจ adql | x | x | |
แพ็คเกจ cds.utils | x | x | |
| postgres ไดรเวอร์ JDBC | x | x | |
แพ็คเกจ uws | x | x | |
| ห้องสมุด JSON | x | x | |
| http servlet api | x | x | |
| HTTP Multipart Library | x | x | |
แพ็คเกจ cds.* | x | ||
| stil library | x |
ในไดเรกทอรี lib คุณจะพบไฟล์ 3 ขวด:
commons-fileupload-1.3.3.jar (และ commons-io-2.6.jar ) ห้องสมุดนี้ช่วยจัดการกับการอัปโหลดstil_3.3-2.jar (เช่นแพ็คเกจ 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 Libraries คือ org.postgresql (และโดยเฉพาะอย่างยิ่งคลาส org.postgresql.Driver )
โดยทั่วไปแล้ว HTTP Servlet API นั้นมีอยู่ในไลบรารีที่มาพร้อมกับเว็บแอปพลิเคชันเซิร์ฟเวอร์ที่คุณใช้ ตัวอย่างเช่นสำหรับ Tomcat มันอยู่ในไดเรกทอรี lib (หรือ /var/lib/tomcat-x/lib หากติดตั้งด้วยความถนัดในระบบ Linux; x คือจำนวนเวอร์ชันของ Tomcat) แพ็คเกจที่จำเป็นสำหรับ UWS และ TAP Library คือ javax.servlet
หมายเหตุ: ไดรเวอร์ Postgres JDBC และ HTTP Servlet API ไม่ได้ให้ไว้ในพื้นที่เก็บข้อมูล GIT นี้เพื่อหลีกเลี่ยงความไม่ลงรอยกันของเวอร์ชันกับระบบโฮสต์ (เช่นเครื่องของคุณเมื่อคุณชำระเงิน/โคลน/ส้อมที่เก็บนี้)
แหล่งที่มาของห้องสมุดทั้งสามนี้มาพร้อมกับไฟล์ทดสอบ Junit คุณสามารถค้นหาได้ในไดเรกทอรี test
หากคุณใช้ Eclipse (หรืออาจจะมีสภาพแวดล้อมการพัฒนาแบบบูรณาการอื่น) โดยทั่วไปแล้ว Junit จะมีอยู่แล้ว จากนั้นคุณสามารถเรียกใช้งานและรวบรวมไฟล์ทดสอบ Junit ที่ให้ไว้โดยตรง ดังนั้นคุณไม่จำเป็นต้องมีห้องสมุดทั้งสองที่กล่าวถึงด้านล่าง
มิฉะนั้นคุณจะต้องได้รับห้องสมุด Junit โดยทั่วไปจะมาพร้อมกับ JDK แต่คุณสามารถค้นหาขวดที่เกี่ยวข้องได้ในเว็บไซต์ Junit
คุณอาจต้องใช้ห้องสมุดอื่นที่เรียกว่า hamcrest คุณสามารถค้นหาอันนี้ได้ในที่เก็บ Maven เพียงเพื่อให้แน่ใจว่ามีทุกสิ่งที่จำเป็นเพียงแค่ใช้ hamcrest-all เป็นขวด
หมายเหตุ: ห้องสมุด Junit และ Hamcrest ไม่ได้ให้ไว้ในที่เก็บ Git นี้เพื่อหลีกเลี่ยงความไม่ลงรอยกันของเวอร์ชันกับระบบโฮสต์ (เช่นเครื่องของคุณเมื่อคุณชำระเงิน/โคลน/ส้อมที่เก็บนี้)
ที่รากของที่เก็บมี 3 สคริปต์มด แต่ละห้องมีห้องสมุดหนึ่งห้อง พวกเขาสามารถสร้างขวดสำหรับแหล่งที่มาไบนารีและ javadoc
4 คุณสมบัติต้องตั้งค่าก่อนใช้หนึ่งในสคริปต์เหล่านี้:
POSTGRES สำหรับ ADQL เท่านั้นและแตะหากคุณต้องการเก็บ adql.translator.pgspheretranslator : เส้นทางไปสู่ขวดหรือไดเรกทอรีไบนารีที่มี org.postgresql.* - [https://jdbc.postgresql.org/download.htmlSERVLET-API สำหรับ UWS และ tap : เส้นทางไปยังขวดหรือไดเรกทอรีไบนารีที่มี javax.servlet.*JUNIT-API ไม่จำเป็นหากคุณไม่สนใจโดยเรียกใช้การทดสอบ Junit : เส้นทางไปยังหนึ่งหรือหลายขวดหรือไดเรกทอรีไบนารีที่มีคลาสทั้งหมดเพื่อใช้ JunitJNDI-API สำหรับการแตะเท่านั้นและเฉพาะในกรณีที่คุณสนใจโดยใช้การทดสอบ Junit : เส้นทางไปยังหนึ่งหรือหลายขวดหรือไดเรกทอรีไบนารีที่มีคลาสทั้งหมดเพื่อเรียกใช้ JNDI มีห้องสมุดหลายแห่งสำหรับสิ่งนั้น Simple-jndi นั้นง่ายมากและใช้โดยนักพัฒนาห้องสมุดเพื่อเรียกใช้การทดสอบ Junit ที่เกี่ยวข้องหมายเหตุ: ไม่มีไลบรารี JNDI ในพื้นที่เก็บข้อมูล GIT นี้เนื่องจากห้องสมุด JNDI ใด ๆ อาจใช้งานได้และไม่มีเหตุผลที่จะกำหนดห้องพักที่เฉพาะเจาะจง นอกจากนี้ในทำนองเดียวกันกับไลบรารีอื่น ๆ ที่จำเป็นในการรวบรวมแหล่งที่มามันช่วยให้หลีกเลี่ยงเวอร์ชันที่เข้ากันไม่ได้กับระบบโฮสต์ (เช่นเครื่องของคุณเมื่อคุณชำระเงิน/โคลน/ส้อมที่เก็บนี้)
สคริปต์มดทั้งหมดเหล่านี้มีเป้าหมายหลักดังต่อไปนี้:
junitValidation : ดำเนินการทดสอบ Junit ทั้งหมดที่เกี่ยวข้องกับไลบรารีเป้าหมายและหยุดมดที่ข้อผิดพลาดใด ๆ หากไลบรารีเป้าหมายคือแตะการทดสอบ Junit ของห้องสมุดทั้งสามจะเรียกใช้buildLib เริ่มต้น : เรียกใช้การทดสอบ Junit และหากพวกเขาประสบความสำเร็จทั้งหมดให้รวบรวมคลาสของไลบรารีเป้าหมายและสร้างไฟล์ JAR กับพวกเขาและการพึ่งพาของพวกเขาbuildLibAndSrc : เหมือนกับ buildLib + การสร้างไฟล์ jar ที่มีแหล่งที่มาทั้งหมดและไลบรารีที่ต้องการbuildJavadoc : สร้างขวดที่มี Javadoc ของคลาสไลบรารีเป้าหมายbuildAll : เทียบเท่ากับ buildLibAndSrc และ buildJavadoc ด้วยกัน ผลที่ได้คือ 3 ขวด: หนึ่งที่มีคลาสที่คอมไพล์หนึ่งอันที่มีแหล่งที่มาที่สอดคล้องกันและคนสุดท้ายกับ Javadocรหัสสามารถสร้างด้วย Gradle ไม่ว่าจะเป็นไฟล์ JAR ที่จะรวมอยู่ในโครงการอื่น ๆ หรือเป็นไฟล์สงครามที่จะปรับใช้ใน Tomcat