آرٹیکل 1: `gradle init` کمانڈ کے ذریعے شروع سے آخر تک Gradle پلگ ان بنائیں
شائع شدہ: 23 September 2025
تعارف
نئی گرائیڈ پلاگائن پروجیکٹ شروع کرنا ڈراؤناک لگ سکتا ہے۔ خوش قسمتی سے، گرائیڈ ایک طاقتور انٹریکٹیو اسسٹنٹ فراہم کرتا ہے، یہ کام`init`, پریjekt کے ایک مکمل، صاف اور استعمال کے لئے تیار ڈھانچہ پیدا کرنے والا۔ یہ ہدایت آپ کو دکھائے گی کہ اس آلات کا استعمال کرنے سے ایک صحت مند پلگ ان کی بنیاد کیسے بنانی ہے، اس ڈھانچے کی وضاحت کرے گی اور آپ کو ڈکھائے گی کہ کس طرح ابتدائی بنڈ ٹاسک کو شروع کرنا ہے۔
مرحلہ 1 : منصوبہ کے ایسٹنٹ کو شروع کریں
کمانڈ`gradle init`یہ شروع نقطہ ہے۔ یہ ایک کمند لائن اسسٹنٹ چلاتا ہے جو آپ سے سوالوں کی سری پوچھتا ہے تا کہ پروجیکٹ کو کنفیجر کیا جا سکے۔
اپنی ٹرمینل کو خالی ڈائریکٹری میں کھولیں اور چلائیں :
gradle init
آسسٹنٹ آپ کو راہ دے گا۔ یہ وہ انتخاب ہیں جو آپ کو ایک Kotlin میں لکھے گئے Gradle پلاگین کے لئے کرنے ہیں :
-
پروجیکٹ تیار کرنے کی قسم منتخب کریں:چنیں`Gradle plugin`.
-
ایمپلیمنٹیشن زبان چنیے:چنو`Kotlin`.
-
Select build script DSL:چنیجئے`Kotlin`.
-
پروجیکٹ کا نام:اپنا پروجیکٹ کا نام درج کریں (مثلاً:`site-baker`).
-
پلاگن آئی ڈی:اپنے پلاگ ان کو ایک منفرد شناخت دیں (ex:`com.cheroliv.site-baker`).
-
پلاگ ان کلاس:Implementation class ka naam batayein (mesal:`com.cheroliv.SiteBakerPlugin`).
مکمل ہونے پر، گریڈیل ایک مکمل فائلجر درخت پیدا کرتا ہے۔
@startuml start :Lancer `gradle init`; :Choisir "گریڈیل پلاگین"; :Choisir "Kotlin" (langage); :Choisir "Kotlin" (DSL); :Saisir nom, ID, et classe; :Projet généré; stop @enduml
مرحلہ 2 : پیدا شدہ ڈھانچے کی سمجھ
ایسسٹنٹ ایک multi-modules پروژیکٹ ڈھانچہ بناتا ہے جو رūt پروژیکٹ کو plug-in کے خود کے سرچس کوڈ سے الگ کرتا ہے۔
.
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── plugin/
│ ├── build.gradle.kts
│ └── src/
│ ├── main/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPlugin.kt
│ ├── test/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPluginTest.kt
│ └── functionalTest/
│ └── kotlin/
│ └── com/cheroliv/SiteBakerPluginFunctionalTest.kt
└── settings.gradle.kts
اہم فائلیں اور فولڈرز
-
settings.gradle.kts`یہ فائل جڑ پر موجود ماڈیولز کو بیلڈ میں شامل کرنے کا تعرّف کرتی ہے۔ یہاں، یہ سب‑پروجیکٹ شامل کرتی ہے۔`plugin. -
plugin/build.gradle.kts: یہ آپ کے پلگ ان کی کنفیگریشن کا مرکز ہے۔ یہ پلگ ان کو لاگو کرتا ہے`java-gradle-plugin`، ڈیپنڈینسیز (dependencies) کا اعلان کرتا ہے اور پلگ ان کے میٹا ڈیٹا کو کنفیگر کرتا ہے۔
gradlePlugin { val siteBaker by plugins.creating { id = "com.cheroliv.site-baker implementationClass = "com.cheroliv.SiteBakerPlugin } } Please provide the text you would like me to translate.
-
src/main/: آپ کے پلگ ان کا سورس کوڈ رکھتا ہے۔ -
src/test/: یونٹ ٹیسٹس پر مشتمل ہے۔ یہ تیزی سے اور علیحدگی میں چلتے ہیں۔ -
src/functionalTest/: فنکشنل ٹیسٹس پر مشتمل ہے۔ یہ ٹیسٹس استعمال کرتے ہیں`GradleRunner`ایک ٹیسٹ پروجیکٹ پر Gradle کا مکمل ورژن چلانے کے لیے، تاکہ آپ کے پلگ ان کے حقیقی استعمال کی نقل کی جا سکے۔
مرحلہ 3: پلگ ان کو بنانا اور ٹیسٹ کرنا
تولید شدہ پروجیکٹ میں شامل ہےGradle Wrapper(gradlew). Gradle کو چلانے کا یہ تجویز کردہ طریقہ ہے، کیونکہ یہ اس بات کو یقینی بناتا ہے کہ تمام ڈویلپرز ایک ہی ورژن استعمال کریں، جس سے ریپروڈیوسیبل بلڈز (reproducible builds) یقینی بناتے ہیں۔
بنیادی کام
-
پروجیکٹ بنائیں:
یہ کمانڈ آپ کے کوڈ کو کمپائل کرتی ہے، تمام ٹیسٹ (یونیٹ اور فنکشنل) چلاتی ہے، اور آپ کے پلگ ان کی JAR فائل تیار کرتی ہے۔ [ذریعہ,bash] Please provide the French text you would like me to translate into Urdu. ./gradlew build Please provide the text you would like me to translate.
-
تمام تصدیقات شروع کریں:
ٹاسک`check`ایک ایسا alias ہے جو تمام تصدیقی کام (verification tasks)を実行 کرتا ہے، بشمول`test` et functionalTest`آپ ایک پیشہ ور مترجم ہیں۔ فرانسیسی (fr) سے اردو (ur) میں ترجمہ کریں۔ تمام بیکٹک کوڈ اسپینز (…`) کو بالکل ویسا ہی برقرار رکھیں — بیکٹک کے مواد، سپیسنگ یا پوزیشن میں کبھی تبدیلی نہ کریں۔ یہ متن کسی بڑے جملے کا ایک ٹکڑا ہو سکتا ہے — مزید سیاق و سباق طلب کیے بغیر اس ٹکڑے کا ترجمہ کریں۔ صرف ترجمہ شدہ متن فراہم کریں — کوئی وضاحت، کوئی تبصرہ، کوئی تعارف، کوئی متبادل، یا کوئی آپشنز نہ دیں۔ [ذریعہ,bash] Please provide the text you would like me to translate. ./gradlew check Please provide the text you would like me to translate.
-
صرف یونٹ ٹیسٹ چلائیں:
ڈویلپمنٹ کے دوران فوری فیڈ بیک کے لیے۔ [ذریعہ,bash] Please provide the text you would like me to translate. ./gradlew test Please provide the text you would like me to translate.
|
کمانڈ`./gradlew :test`، جو واضح طور پر روٹ پروجیکٹ کو نشانہ بناتا ہے، ناکام ہو جائے گا کیونکہ اس میں کوئی ٹیسٹ موجود نہیں ہیں۔ اس کے برعکس:
* |
-
صرف فنکشنل ٹیسٹ چلائیں:
سست ہونے کے ناطے، یہ مجموعی رویے کی تصدیق کے لیے مفید ہیں۔ [ماخذ,bash] Please provide the French text you would like me to translate into Urdu. ./gradlew functionalTest Please provide the text you would like me to translate.
ٹیسٹوں کا نتیجہ اس فولڈر میں تیار کیا جاتا ہے`plugin/build/reports/tests/`۔ آپ فائل کھول سکتے ہیں`index.html`تفصیلی رپورٹ کے لیے اپنے براؤزر میں۔
نتیجہ
چند منٹوں میں،`gradle init`نے آپ کو آپ کے پلگ ان کی ڈویلپمنٹ کے لیے ایک مضبوط، جدید اور مکمل پروجیکٹ بیس فراہم کیا ہے۔ آپ کے پاس ایک واضح ڈھانچہ، پہلے سے ترتیب شدہ یونٹ اور فنکشنل ٹیسٹ، اور Gradle Wrapper کی بدولت ایک ریپروڈیوسیبل بلڈ سسٹم موجود ہے۔
اب آپ فائل کھولنے کے لیے تیار ہیں`SiteBakerPlugin.kt`اور اپنے پلگ ان کی بزنس لاجک (business logic) وہاں شامل کرنا شروع کریں!