ترحيل البناء منطقيًا من Groovy إلى Kotlin في خطوات قليلة

تم إصدار Gradle 5.0 مع الكثير من الميزات وخاصة بدعم Kotlin DSL الجاهز للإنتاج.

ملاحظة: للحصول على ملفات Gradle بلغة Kotlin ، تأكد من التحقق من إصدار Gradle الخاص بالمشروع. يجب أن يكون لديك الإصدار 5 وما فوق .

اقرأ ما هي لغة Kotlin؟

#Fri Apr 10 08:18:21 EDT 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

الخطوة 1 :
تحويل جميع علامات الاقتباس المفردة إلى علامات الاقتباس المزدوجة. أي ، قم بتغيير كل ‘ إلى ” ! استخدم اختصارات CTRL + SHIFT + R.

implementation 'androidx.lifecycle:lifecycle-viewmodel:2.0.0'

الی 

implementation "androidx.lifecycle:lifecycle-viewmodel:2.0.0"

الخطوة 2 :
حول كل المسافات إلى () أو =. إذا كانت دالة ، فيجب علينا استخدام () ، ولكن إذا كنا نتعامل مع خاصية ، فإننا نستخدم =.

applicationId "androidriver.ir"

الی
applicationId = "androidriver.ir"



implementation "androidx.lifecycle:lifecycle-viewmodel:2.0.0"
الی

implementation("androidx.lifecycle:lifecycle-viewmodel:2.0.0")

الخطوه 3:
في ملف build.gradle الخاص بالوحدة ، قم بتغيير قسم الملحقات على النحو التالي:

apply plugin: "com.android.application"
apply plugin: "kotlin-android"
apply plugin: "kotlin-android-extensions"

الی

plugins {
    id("com.android.application")
    id("kotlin-android")
    id("kotlin-android-extensions")
}

الخطوة الرابعة:
أضف .kts إلى نهاية ملفات gradle. هذا يعني أنه سيتم تحويل ملف settings.gradle إلى settings.gradle.kts ، ويفعل الشيء نفسه مع الملفات المستقبلية.

الخطوة الخامسة:
في ملف build.gradle ، يخضع مستوى المشروع للمهمة / قسم التنظيف للتغييرات:

tasks.register("clean").configure {
    delete("build")
}

أيضًا في ملف build.gradle ، يتغير مستوى الوحدة النمطية ، مثل تحويل الإصدار إلى getByName (“الإصدار”) وأيضًا تحويل minifyEnabled إلى isMinifyEnabled ، بالإضافة إلى تحويل شجرة الملف إلى شجرة fileTree (خرائط الخريطة)!

buildTypes {
        getByName("release") {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
}

الخطوة 6:
قم بإنشاء دليل buildSrc وأنشئ ملف Dependencies.kt لجميع عمليات هبوط المشروع!
يمكنك إنشاء هذا الملف بالنقر بزر الماوس الأيمن على اسم المشروع واختيار دليل جديد ‌ واختيار buildSrc.
ثم قم بإنشاء دليل في buildSrc يسمى src. ثم قم بإنشاء دليل آخر لـ src يسمى main وثم دليل آخر للصفحة الرئيسية يسمى java.
من ثم في دليل java ، قم بإنشاء ملف Kotlin يسمى Dependencies.kt.

Deoendencies.kt

في هذا الملف ، أدخل جميع إصدارات ملف. على سبيل المثال ، في المشروع ، سيكون لدينا هذا الملف على النحو التالي:

const val kotlinVersion = "1.3.71"
 
object BuildPlugins {
 
    object Versions {
        const val buildToolsVersion = "3.6.2"
    }
 
    const val androidGradlePlugin = "com.android.tools.build:gradle:${Versions.buildToolsVersion}"
    const val kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    const val androidApplication = "com.android.application"
    const val kotlinAndroid = "kotlin-android"
    const val kotlinAndroidExtensions = "kotlin-android-extensions"
 
}
 
 
object AndroidSdk {
    const val min = 21
    const val compile = 29
    const val target = compile
}
 
object Libraries {
    private object Versions {
        const val jetpack = "1.0.0-beta01"
        const val constraintLayout = "1.1.2"
        const val ktx = "1.1.0-alpha05"
    }
 
    const val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
    const val appCompat = "androidx.appcompat:appcompat:${Versions.jetpack}"
    const val constraintLayout =
        "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val ktxCore = "androidx.core:core-ktx:${Versions.ktx}"
}
 
object TestLibraries {
    private object Versions {const val kotlinVersion = "1.3.71"
 
object BuildPlugins {
 
    object Versions {
        const val buildToolsVersion = "3.6.2"
    }
 
    const val androidGradlePlugin = "com.android.tools.build:gradle:${Versions.buildToolsVersion}"
    const val kotlinGradlePlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    const val androidApplication = "com.android.application"
    const val kotlinAndroid = "kotlin-android"
    const val kotlinAndroidExtensions = "kotlin-android-extensions"
 
}
 
 
object AndroidSdk {
    const val min = 21
    const val compile = 29
    const val target = compile
}
 
object Libraries {
    private object Versions {
        const val jetpack = "1.0.0-beta01"
        const val constraintLayout = "1.1.2"
        const val ktx = "1.1.0-alpha05"
    }
 
    const val kotlinStdLib = "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
    const val appCompat = "androidx.appcompat:appcompat:${Versions.jetpack}"
    const val constraintLayout =
        "androidx.constraintlayout:constraintlayout:${Versions.constraintLayout}"
    const val ktxCore = "androidx.core:core-ktx:${Versions.ktx}"
}
 
object TestLibraries {
    private object Versions {
        const val junit4 = "4.12"
        const val testRunner = "1.1.0-alpha4"
        const val espresso = "3.1.0-alpha4"
    }
 
    const val junit4 = "junit:junit:${Versions.junit4}"
    const val testRunner = "androidx.test:runner:${Versions.testRunner}"
    const val espresso = "androidx.test.espresso:espresso-core:${Versions.espresso}"

        const val junit4 = "4.12"
        const val testRunner = "1.1.0-alpha4"
        const val espresso = "3.1.0-alpha4"
    }
 
    const val junit4 = "junit:junit:${Versions.junit4}"
    const val testRunner = "androidx.test:runner:${Versions.testRunner}"
    const val espresso = "androidx.test.espresso:espresso-core:${Versions.espresso}"

كل شيء بسيط للغاية وواضح ولا داعي لمزيد من الشرح ، لذلك سنبدأ الخطوة التالية.
في نفس دليل buildSrc ، قم بإنشاء ملف يسمى build.gradle.kts ووضع هذا المحتوى فيه دون تغيير ثم قم بمزامنة المشروع.

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
repositories {
    jcenter()
}
 
plugins {
    `kotlin-dsl`
    kotlin("jvm") version "1.3.71"
}
 
kotlinDslPluginOptions {
    experimentalWarning.set(false)
}

ثم عد إلى ملفات gradle الخاصة بك وبدلاً من اسم كل تبعية أو إصدارها ، ما عليك سوى استخدام class Dependencies.kt على النحو التالي:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
 
buildscript {
    repositories {
        google()
        jcenter()
 
    }
    dependencies {
        classpath (BuildPlugins.androidGradlePlugin)
        classpath (BuildPlugins.kotlinGradlePlugin)
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
 
allprojects {
    repositories {
        google()
        jcenter()
 
    }
}
 
tasks.register("clean").configure {
    delete("build")
}
plugins {
    id(BuildPlugins.androidApplication)
    id(BuildPlugins.kotlinAndroid)
    id(BuildPlugins.kotlinAndroidExtensions)
}
 
android {
    compileSdkVersion(AndroidSdk.compile)
    defaultConfig {
        applicationId = "info.sanaebadi.kotlindsl"
        minSdkVersion(AndroidSdk.min)
        targetSdkVersion(AndroidSdk.target)
        versionCode = 1
        versionName = "1.0"
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
}
 
 
dependencies {
 
    implementation(Libraries.kotlinStdLib)
    implementation(Libraries.appCompat)
    implementation(Libraries.ktxCore)
    implementation(Libraries.constraintLayout)
 
    testImplementation(TestLibraries.junit4)
    androidTestImplementation(TestLibraries.testRunner)
    androidTestImplementation(TestLibraries.espresso)
}

الآن ، من خلال المزامنة ، سيكون لديك مشروع Android مع Kotlin Gradle.

أخيرًا ، أضع رابط فيديو لك على قناتي على YouTube ومشروع كامل على صفحة Github.

بالتوفیق !

سناء عبادي

مطورة تطبيقات الجوال وشريكة مؤسس في androidriver.net | محاولة تحقيق الحلم |

منشور ذات صلة
لغة Kotlin 20 Minutes

لغة Kotlin للمبتدئين

جاسم ناظري

في Kotlin هناك مجموعة من عوامل التشغیل المستخدمة في عمليات مختلفة مثل العمليات الحسابية وعمليات التخصيص وعمليات المقارنة وما إلى ذلك.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة