منصوبے کے بارے میں
JavaForce (JF) ایک Java لائبریری اور SDK ہے، ورژن 118.1، LGPL کے تحت لائسنس یافتہ، جو ڈیسک ٹاپ ایپس، کنسول ایپس اور سسٹم سروسز بنانے کے لیے ہے۔ یہ Apache Ant کے ساتھ بنایا گیا ہے اور اس کے لیے JDK 25+ درکار ہے۔
README میں بیان کردہ بنیادی صلاحیتیں:
- SIP/VoIP/RTSP اسٹیک
- FFmpeg، OpenGL، Vulkan، OpenCL اور Camera کے لیے native bindings
- PLC I/O
- کنسول ایپس، ڈیسک ٹاپ ایپس اور سسٹم سروسز کے لیے حسب ضرورت native loaders
- ایپس کو msi، deb، rpm، pac اور dmg کے طور پر پیکج کرنے کے لیے Ant tasks
java.exe کے بجائے، JavaForce ایک حسب ضرورت native loader بناتا ہے جو JVM کو embed کرتا ہے، classpath سیٹ کرتا ہے، native methods رجسٹر کرتا ہے اور پروگرام کے main method کو شروع کرتا ہے۔ ان لوگوں کے لیے جو حسب ضرورت loaders استعمال نہیں کرنا چاہتے، ایک shared library میں بھی native methods فراہم کیے گئے ہیں۔ پروجیکٹ native رسائی کے لیے JNI سے FFM (Foreign Function & Memory) API پر منتقل ہو گیا ہے، کارکردگی کے لیے arrays کو pin کرنے کے لیے کچھ JNI برقرار رکھا گیا ہے۔
شامل ایپلیکیشنز: README میں jfPhone، jfVideo Creator، jfAudio، jfMusic اور دیگر کا ذکر ہے، مکمل فہرست projects/readme.txt میں ہے۔ JavaForce jfLinux کی بنیادی لائبریری بھی ہے، جو ایک Java سے مزین Linux ڈسٹری بیوشن ہے، اور یہ jfCraft بنانے کے لیے استعمال ہوتا ہے، جو Minecraft کا ایک clone ہے۔
ریپوزٹری لے آؤٹ: Java sources کے لیے /src، generated اور dependency jars کے لیے /lib، native loaders کے لیے /native، ذیلی پروجیکٹ sources کے لیے /projects، build/install scripts کے لیے /iso اور /linux اور /windows، اور utility apps کے لیے /utils۔
Build ورک فلو: git اور Ant انسٹال کریں، line endings کنفیگر کریں، ریپوزٹری clone کریں، ایک version tag check out کریں، ant چلائیں، پھر native loaders بنائیں۔ Packaging tasks میں deb، rpm، pac، msi (bundled JRE کے ساتھ، WiX Toolset v4+ استعمال کرتے ہوئے)، اور dmg (macOS پر hdiutil استعمال کرتے ہوئے) شامل ہیں۔ JRE pre-linking tasks (jre-all، jre-base، jre-base-desktop، jre-base-javac) native packaging کی حمایت کرتے ہیں۔ JavaForce Maven Central پر شائع کیا جاتا ہے؛ Ant tasks dependency download اور upload سنبھالتے ہیں، اور Sonatype publishing کے لیے ایک minimal pom.xml درکار ہے۔
دیگر خصوصیات: graalagent اور graal Ant tasks کے ذریعے GraalVM AOT سپورٹ (GraalVM AWT سپورٹ ابھی کام جاری ہے)، JF_DEBUG اور JF_DEBUG_PORT environment variables یا .cfg settings کے ذریعے JMX debugging، اور ایک .cfg فائل فارمیٹ جو CLASSPATH، MAINCLASS، DEBUG، DEBUG_PORT، OPTIONS، JAVA_HOME اور METHOD کو کنٹرول کرتا ہے۔
تقاضے: JDK 25+، Apache Ant 1.10+، Linux پر gcc، Windows پر VC++ اور WiX Toolset 4+، macOS پر Xcode gcc، OpenGL/Vulkan کے لیے FFmpeg 7.1+ اور glfw 3.5.1۔ Wayland، Bluetooth اور RDP اجزاء کام جاری ہونے کے طور پر درج ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.