https://docs.gradle.org/current/userguide/version_catalogs.html

name

fdasf

TIP

STATUS: This project uses: KTOR, EXPOSED, H2, DOCKER

روشی که در کد شما استفاده شده است، Gradle Kotlin DSL نام دارد که به شما امکان می‌دهد از زبان Kotlin برای پیکربندی پروژه‌های Gradle استفاده کنید.

توضیح روش:

  1. build.gradle.kts: در این فایل، از Kotlin برای نوشتن تنظیمات پروژه استفاده می‌کنید.

    • تعریف نسخه‌ها و استفاده از متغیرها (مانند val exposedVersion) به کمک Kotlin امکان‌پذیر است.
    • این روش تایپ ایمنی (type safety) و پشتیبانی از ابزارهایی مثل autocomplete در IDEها (مانند IntelliJ IDEA) را فراهم می‌کند.
  2. gradle.properties: فایل تنظیمات عمومی که مقادیر متغیرهایی مثل exposedVersion را تعریف می‌کند. این روش نسخه‌بندی را جدا می‌کند تا مدیریت آن راحت‌تر باشد.


مقایسه با TOML

Gradle در حال حاضر از TOML برای مدیریت نسخه‌ها در فایل version catalog (به نام libs.versions.toml) پشتیبانی می‌کند. این ویژگی با نام Version Catalogs در Gradle معرفی شده است.

مزایای استفاده از TOML:

  1. ساختار خواناتر: TOML ساده‌تر و شبیه به فایل‌های کانفیگ معمولی است.

    toml

    Copy code

    [versions] exposed = "0.57.0" [libraries] exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }

  2. جداسازی تنظیمات: تمام نسخه‌ها و وابستگی‌ها در یک مکان متمرکز هستند.

  3. مدیریت تیمی بهتر: فایل‌های TOML خوانایی بیشتری دارند، بنابراین برای تیم‌هایی که نیاز به مدیریت وابستگی‌ها دارند مناسب‌تر است.


کدام بهتر است؟

  • اگر با Kotlin و Gradle DSL راحت هستید: Gradle Kotlin DSL ممکن است ترجیح داده شود چون به شما انعطاف و تایپ ایمنی می‌دهد.
  • اگر پروژه بزرگ است یا نسخه‌ها زیاد هستند: TOML و Version Catalog بهتر عمل می‌کنند چون خوانایی بیشتری دارد و از جداسازی تنظیمات پشتیبانی می‌کند.

در کل، بستگی به نیاز پروژه شما دارد. برای پروژه‌های بزرگ و تیمی، استفاده از TOML پیشنهاد می‌شود، ولی برای پروژه‌های شخصی یا کوچک، Gradle Kotlin DSL می‌تواند کافی باشد.