افزونه ها در گردل
دو نوع افزونه در Gradle وجود دارااست ؛ اسکریپت طراحی اپلیکیشن در مشهد و باینری.
برای فایده مندی از یک کوشش مازاد، هر پلاگین بایستی دو مرحله را طی نماید: resolving و applying.
Resolving به معنای یافتن ورژن درست پلاگین jar و اضافه کردن آن به classpath پروژه میباشد.
Applying هم به معنای اجرای Plugin.apply(T) در پروژه میباشد.
Applying Script Plugins
در aplugin.gradle خواهیم توانست یک تسک به تفصیل تحت تعریفوتمجید کنیم :
task fromPlugin {
doLast {
println "I\'m from plugin"
}
}
COPY
درصورتیکه بخواهیم این پلاگین را در فولدر build.gradle پروژه خویش اجرا کنیم، فقط کاری که می بایست جاری ساختن دهیم این میباشد کهاین خط را به build.gradle خویش اضافه کنیم:
apply from: \'aplugin.gradle\'
COPY
اینک، اجرای فرمان gradle tasks بایستی تسک fromPlugin را در لیست تسک ها اکران دهد.
به کارگیری از افزونه های باینری با به کار گیری از افزونه های DSL
درخصوص افزودن یک افزونه core binary ، خواهیم توانست اسمهای کوتاه یا این که شناسه افزونه را اضافه کنیم:
plugins {
id \'application\'
}
COPY
اینک تسک جاری ساختن از پلاگین اپ بایستی در یک پروژه برای اجرای هر jar قابل انجام ، در دسترس باشد.
برای اجرا یک پلاگین انجمن، بایستی یک شناسه پلاگین تماماً دارای شرایط را بیان کنیم:
plugins {
id "org.shipkit.bintray" version "0.9.116"
}
COPY
محدودیت های پلاگین های DSL عبارتند از:
از کد Groovy در درون بلوک پلاگین ها جانبداری نمی نماید.
افزونه ها DSL را نمی اقتدار در افزونه اسکریپت، پوشه settings.gradle یا این که در اسکریپت های init نوشت.
Plugins DSL هنوز در درحال حاضر توسعه و گسترش میباشد پس DSL و بقیه پیکربندی ممکن میباشد در ورژن های آینده Gradle تغییر تحول نمایند.
مدیر Dependency
Gradle از سیستم رئیس Dependency بسیار انعطاف پذیر مدد می نماید، این سیستم با طیف پهناور ای از رویکردهای جانور سازگار میباشد.
شایسته ترین طریقها برای رئیس Dependency در Gradle عبارتند از versioning ، versioning پویا، resolving version conflicts و managing transitive dependencies.
Declaring Dependencies
بیایید به مثالی از اضافه کردن بعضا Dependencies ها (Spring و Hibernate) با استعمال از یکسری نحوه متعدد نگاه کنیم:
dependencies {
compile group:
\'org.springframework\', name: \'spring-core\', version: \'4.3.5.RELEASE\'
compile \'org.springframework:spring-core:4.3.5.RELEASE\',
\'org.springframework:spring-aop:4.3.5.RELEASE\'
compile(
[group: \'org.springframework\', name: \'spring-core\', version: \'4.3.5.RELEASE\'],
[group: \'org.springframework\', name: \'spring-aop\', version: \'4.3.5.RELEASE\']
)
testCompile(\'org.hibernate:hibernate-core:5.2.12.Final\') {
transitive = true
}
runtime(group: \'org.hibernate\', name: \'hibernate-core\', version: \'5.2.12.Final\') {
transitive = false
}
}
COPY
ما Dependencies ها را در تنظیماتهای متفاوت اعلام می کنیم : کامپایل، testCompile و فرصت انجام در پوستههای متفاوت.
بعضی اوقات ما به Dependencies هایی نیاز داریم که مصنوعات زیادی دارا هستند.
در اینگونه مواقعی، می توانیم یک نشان صرفا آرتیفکت @extensionName (یا این که ext به صورت پیشرفتیافته) برای دانلود آرتیفکت متبوع اضافه کنیم:
runtime "org.codehaus.groovy:groovy-all:2.4.11@jar"
runtime group: \'org.codehaus.groovy\', name: \'groovy-all\', version: \'2.4.11\', ext: \'jar\'
COPY
در اینجا، نشانه jar@ را اضافه کردیم تا تنها artifact jar را سوای Dependencies دانلود کنیم.
برای اضافه کردن Dependencies به هر پوشه محلی، قادر خواهیم بود از چیزی مشابه بدین به کارگیری کنیم:
compile files(\'libs/joda-time-2.2.jar\', \'libs/junit-4.12.jar\')
compile fileTree(dir: \'libs\', include: \'*.jar\')
افزونه ها در گردل
دو نوع افزونه در Gradle وجود دارااست ؛ اسکریپت طراحی اپلیکیشن در مشهد و باینری.
برای فایده مندی از یک کوشش مازاد، هر پلاگین بایستی دو مرحله را طی نماید: resolving و applying.
Resolving به معنای یافتن ورژن درست پلاگین jar و اضافه کردن آن به classpath پروژه میباشد.
Applying هم به معنای اجرای Plugin.apply(T) در پروژه میباشد.
Applying Script Plugins
در aplugin.gradle خواهیم توانست یک تسک به تفصیل تحت تعریفوتمجید کنیم :
task fromPlugin {
doLast {
println "I\'m from plugin"
}
}
COPY
درصورتیکه بخواهیم این پلاگین را در فولدر build.gradle پروژه خویش اجرا کنیم، فقط کاری که می بایست جاری ساختن دهیم این میباشد کهاین خط را به build.gradle خویش اضافه کنیم:
apply from: \'aplugin.gradle\'
COPY
اینک، اجرای فرمان gradle tasks بایستی تسک fromPlugin را در لیست تسک ها اکران دهد.
به کارگیری از افزونه های باینری با به کار گیری از افزونه های DSL
درخصوص افزودن یک افزونه core binary ، خواهیم توانست اسمهای کوتاه یا این که شناسه افزونه را اضافه کنیم:
plugins {
id \'application\'
}
COPY
اینک تسک جاری ساختن از پلاگین اپ بایستی در یک پروژه برای اجرای هر jar قابل انجام ، در دسترس باشد.
برای اجرا یک پلاگین انجمن، بایستی یک شناسه پلاگین تماماً دارای شرایط را بیان کنیم:
plugins {
id "org.shipkit.bintray" version "0.9.116"
}
COPY
محدودیت های پلاگین های DSL عبارتند از:
از کد Groovy در درون بلوک پلاگین ها جانبداری نمی نماید.
افزونه ها DSL را نمی اقتدار در افزونه اسکریپت، پوشه settings.gradle یا این که در اسکریپت های init نوشت.
Plugins DSL هنوز در درحال حاضر توسعه و گسترش میباشد پس DSL و بقیه پیکربندی ممکن میباشد در ورژن های آینده Gradle تغییر تحول نمایند.
مدیر Dependency
Gradle از سیستم رئیس Dependency بسیار انعطاف پذیر مدد می نماید، این سیستم با طیف پهناور ای از رویکردهای جانور سازگار میباشد.
شایسته ترین طریقها برای رئیس Dependency در Gradle عبارتند از versioning ، versioning پویا، resolving version conflicts و managing transitive dependencies.
Declaring Dependencies
بیایید به مثالی از اضافه کردن بعضا Dependencies ها (Spring و Hibernate) با استعمال از یکسری نحوه متعدد نگاه کنیم:
dependencies {
compile group:
\'org.springframework\', name: \'spring-core\', version: \'4.3.5.RELEASE\'
compile \'org.springframework:spring-core:4.3.5.RELEASE\',
\'org.springframework:spring-aop:4.3.5.RELEASE\'
compile(
[group: \'org.springframework\', name: \'spring-core\', version: \'4.3.5.RELEASE\'],
[group: \'org.springframework\', name: \'spring-aop\', version: \'4.3.5.RELEASE\']
)
testCompile(\'org.hibernate:hibernate-core:5.2.12.Final\') {
transitive = true
}
runtime(group: \'org.hibernate\', name: \'hibernate-core\', version: \'5.2.12.Final\') {
transitive = false
}
}
COPY
ما Dependencies ها را در تنظیماتهای متفاوت اعلام می کنیم : کامپایل، testCompile و فرصت انجام در پوستههای متفاوت.
بعضی اوقات ما به Dependencies هایی نیاز داریم که مصنوعات زیادی دارا هستند.
در اینگونه مواقعی، می توانیم یک نشان صرفا آرتیفکت @extensionName (یا این که ext به صورت پیشرفتیافته) برای دانلود آرتیفکت متبوع اضافه کنیم:
runtime "org.codehaus.groovy:groovy-all:2.4.11@jar"
runtime group: \'org.codehaus.groovy\', name: \'groovy-all\', version: \'2.4.11\', ext: \'jar\'
COPY
در اینجا، نشانه jar@ را اضافه کردیم تا تنها artifact jar را سوای Dependencies دانلود کنیم.
برای اضافه کردن Dependencies به هر پوشه محلی، قادر خواهیم بود از چیزی مشابه بدین به کارگیری کنیم:
compile files(\'libs/joda-time-2.2.jar\', \'libs/junit-4.12.jar\')
compile fileTree(dir: \'libs\', include: \'*.jar\')

راهکارهای کاهش CPC در کمپینها