منصوبے کے بارے میں
گواوا گوگل سے حاصل شدہ ایک سیٹ آف کور جیورا لائبریریز ہے۔ اس میں multimap اور multiset جیسی نئی کولیکشن اقسام، immutable کولیکشنز، گراف لائبریری، اور concurrency، I/O، hashing، primitives، strings وغیرہ کے لیے اوزار شامل ہیں۔ README کے مطابق، یہ جزیرو پر زیادہ تر پراجیکٹس اور بہت سی دیگر کمپنیوں میں وسیع پیمانے پر استعمال ہوتا ہے۔
گواوا دو شکلوں میں آتا ہے۔ JRE شکل کے لیے JDK 1.8 یا اس سے اوپر درکار ہے۔ Android سپورٹ کے لیے ایک Android شکل دستیاب ہے جس کی source repository کے android directory میں موجود ہے۔
build میں Guava شامل کرنا: Maven group ID com.google.guava ہے اور artifact ID guava ہے۔ دو شکلوں کو Maven version field میں 33.7.1-jre یا 33.7.1-android کے طور پر specify کیا جاتا ہے۔ README میں Maven اور Gradle dependency snippets دیے گئے ہیں، بشمول Gradle میں api بمقابلہ implementation استعمال کرنے کے بارے میں رہنمائی۔
master branch سے بننے والے snapshots Maven کے ذریعے version 999.0.0-HEAD-jre-SNAPSHOT کے ساتھ دستیاب ہیں، یا Android شکل کے لیے 999.0.0-HEAD-android-SNAPSHOT۔ snapshot API Javadoc اور API diffs بھی دستیاب ہیں۔ Javadoc guava.dev/api پر حاصل کیا جا سکتا ہے، اور کسی خاص class کو guava.dev کے آخر میں اس کا نام append کر کے کھولا جا سکتا ہے۔
learning resources میں users' guide، Guava Explained، اور دیگر مددگار links کا مجموعہ شامل ہے۔ project اس کے GitHub project، issue tracker، StackOverflow tag، اور guava-announce اور guava-discuss Google groups سے link کرتا ہے۔
README میں اہم warnings درج ہیں۔ @Beta annotation سے mark کردہ APIs class یا method level پر change کی جاسکتی ہیں اور کسی بھی وقت modify یا remove کی جا سکتی ہیں؛ library authors کو beta APIs استعمال کرنے سے گریز کرنے کی نصیحت کی جاتی ہے جب تک کہ وہ انہیں repackage نہ کریں، اور ایک Guava Beta Checker کی سفارش کی جاتی ہے۔ بغیر @Beta APIs کی binary compatibility indefinite future تک برقرار رہے گی، اور حتیٰ کہ @Deprecated APIs بھی تب تک رہیں گی جب تک کہ وہ @Beta نہ ہوں۔ گواوا کا runtime linkage کے لیے ایک dependency com.google.guava:failureaccess:1.0.3 درکار ہے، ساتھ ہی کچھ annotation-only dependencies بھی ہیں۔ تمام objects کی serialized forms بغیر نوٹ ہونے کے بدلی جا سکتی ہیں، لہٰذا انہیں اس مفروضے کے ساتھ persist نہیں کرنا چاہیے کہ مستقبل کا version انہیں پڑھ سکے گا۔ classes malicious caller کے خلاف حفاظت کے لیے نہیں بنائے گئے ہیں اور انہیں trusted اور untrusted code کے درمیان مواصلت کے لیے استعمال نہیں کرنا چاہیے۔ mainline شکل کے لیے، libraries کو Linux اور Windows پر مختلف OpenJDK versions کے ساتھ test کیا جاتا ہے، اور کچھ features خاص طور پر com.google.common.io میں non-Linux environments میں صحیح طریقے سے کام نہ بھی کر سکیں۔ Android شکل کے لیے، unit tests API level 24 (Nougat) پر بھی چلاتے ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.