Sfoglia il codice sorgente

[优化] 优化了Gradle相关代码

HapeLee 9 mesi fa
parent
commit
1df1bf9c50
6 ha cambiato i file con 299 aggiunte e 436 eliminazioni
  1. 5 8
      .github/workflows/test.yml
  2. 0 390
      app/build.gradle
  3. 271 0
      app/build.gradle.kts
  4. 1 1
      app/proguard-rules.pro
  5. 0 37
      build.gradle
  6. 22 0
      build.gradle.kts

+ 5 - 8
.github/workflows/test.yml

@@ -134,11 +134,11 @@ jobs:
       - uses: actions/checkout@v5
         with:
           fetch-depth: 0
-      - name: Set up JDK 17
+      - name: Set up JDK 21
         uses: actions/setup-java@v5
         with:
           distribution: 'temurin'
-          java-version: 17
+          java-version: 21
       - name: Clear 18PlusList.txt
         run: |
           echo "清空18PlusList.txt"
@@ -154,18 +154,15 @@ jobs:
       - name: Set up Gradle
         uses: gradle/actions/setup-gradle@v4
 
-      - name: 统一版本号
-        run: |
-          VERSIONL="${{ env.VERSIONL }}"
-          BUILD_NUMBER="${{ env.BUILD_NUMBER }}"
-          echo "开始修改 build.gradle 中的版本号..."
-          sed -i "s/ext.versionName = .*/ext.versionName = \"$VERSIONL\"/" $GITHUB_WORKSPACE/app/build.gradle
 
       - name: Build With Gradle
         run: |
           echo "开始${{ env.product }}${{ env.type }}构建"
           chmod +x gradlew
           ./gradlew assemble${{ env.product }}Release
+        env:
+          BUILD_NUMBER: ${{ env.BUILD_NUMBER }}
+          APP_VERSION_NAME: ${{ env.VERSIONL }}
 
       - name: Move Missing Rules Files
         run: |

+ 0 - 390
app/build.gradle

@@ -1,390 +0,0 @@
-plugins {
-//    id "com.android.application"
-//    id 'org.jetbrains.kotlin.android'
-//    id 'kotlin-parcelize'
-//    //id 'kotlin-kapt'
-//    id 'com.google.devtools.ksp'
-//    id "com.google.gms.google-services"
-    alias libs.plugins.compose.compiler
-    alias libs.plugins.android.application
-    alias libs.plugins.kotlin.android
-    alias libs.plugins.kotlin.parcelize
-    alias libs.plugins.room
-    alias libs.plugins.ksp
-    alias libs.plugins.google.services
-}
-apply from: 'download.gradle'
-
-def versionPropsFile = file("version.properties")
-def versionProps = new Properties()
-versionProps.load(new FileInputStream(versionPropsFile))
-
-ext {
-    versionMajor = versionProps['VERSION_MAJOR'].toInteger()
-    versionMinor = versionProps['VERSION_MINOR'].toInteger()
-    versionPatch = versionProps['VERSION_PATCH'].toInteger()
-}
-
-def name = "legado"
-def gitCommits = Integer.parseInt('git rev-list HEAD --count'.execute().text.trim())
-
-ext.versionBuild = gitCommits
-ext.versionName = "${ext.versionMajor}.${ext.versionMinor}.${ext.versionPatch}"
-
-def getGitCommitHash() {
-    try {
-        def stdout = new ByteArrayOutputStream()
-        ExecOperations.exec {
-            commandLine 'git', 'rev-parse', '--short', 'HEAD'
-            standardOutput = stdout
-        }
-        return stdout.toString().trim()
-    } catch (Exception ignored) {
-        return "unknown"
-    }
-}
-
-android {
-    compileSdk = compile_sdk_version
-    namespace = "io.legado.app"
-
-    buildFeatures {
-        compose = true
-    }
-
-    kotlin {
-        jvmToolchain {
-            languageVersion.set(JavaLanguageVersion.of(21))
-            vendor.set(JvmVendorSpec.ADOPTIUM)
-        }
-    }
-
-    signingConfigs {
-        if (project.hasProperty("RELEASE_STORE_FILE")) {
-            myConfig {
-                storeFile file(RELEASE_STORE_FILE)
-                storePassword RELEASE_STORE_PASSWORD
-                keyAlias RELEASE_KEY_ALIAS
-                keyPassword RELEASE_KEY_PASSWORD
-                v1SigningEnabled true
-                v2SigningEnabled true
-                enableV3Signing = true
-                enableV4Signing = true
-            }
-        }
-    }
-
-    defaultConfig {
-        applicationId "io.legato.kazusa"
-        minSdk 26
-        targetSdk 36
-        versionCode 10000 + gitCommits
-        versionName project.ext.versionName
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-        project.ext.set("archivesBaseName", name + "_" + versionName)
-
-        buildConfigField "String", "Cronet_Version", "\"$CronetVersion\""
-        buildConfigField "String", "Cronet_Main_Version", "\"$CronetMainVersion\""
-
-        javaCompileOptions {
-            annotationProcessorOptions {
-                arguments += [
-                        "room.incremental"     : "true",
-                        "room.expandProjection": "true",
-                        "room.schemaLocation"  : "$projectDir/schemas".toString()
-                ]
-            }
-        }
-
-        def buildTime = new Date().format("yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone("UTC"))
-        buildConfigField "String", "BUILD_TIME", "\"${buildTime}\""
-    }
-
-    buildFeatures {
-        buildConfig = true
-        viewBinding = true
-    }
-
-    buildTypes {
-        release {
-            if (project.hasProperty("RELEASE_STORE_FILE")) {
-                signingConfig signingConfigs.myConfig
-            }
-            //applicationIdSuffix '.release'
-            manifestPlaceholders.put("app_name", "@string/app_name")
-
-            minifyEnabled = true
-            shrinkResources = true
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'cronet-proguard-rules.pro'
-        }
-        debug {
-            applicationIdSuffix ".debug"
-            if (project.hasProperty("RELEASE_STORE_FILE")) {
-                signingConfig signingConfigs.myConfig
-            }
-            manifestPlaceholders.put("app_name", "@string/app_name")
-
-            applicationIdSuffix '.debug'
-            versionNameSuffix "_debug+${getGitCommitHash()}"
-            minifyEnabled false
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'cronet-proguard-rules.pro'
-        }
-    }
-
-    splits {
-        abi {
-            enable = true
-            reset()
-            //noinspection ChromeOsAbiSupport
-            include 'armeabi-v7a', 'arm64-v8a'
-            universalApk = true
-        }
-    }
-
-    //noinspection GrDeprecatedAPIUsage
-    flavorDimensions = ['mode']
-    productFlavors {
-        app {
-            dimension "mode"
-            manifestPlaceholders.put("APP_CHANNEL_VALUE", "app")
-        }
-    }
-
-    android.applicationVariants.configureEach { variant ->
-        variant.outputs.configureEach { output ->
-            def abi = output.getFilter(com.android.build.OutputFile.ABI)
-            def flavor = variant.productFlavors[0].name
-            def baseVersionName = variant.versionName
-            def apkName = "${name}_${flavor}_${baseVersionName}"
-            if (abi != null) {
-                apkName += "_${abi}"
-            }
-            apkName += ".apk"
-            output.outputFileName = apkName
-        }
-    }
-
-
-
-    room {
-        schemaDirectory "$projectDir/schemas"
-    }
-    // 设定Room的KSP参数
-    ksp {
-        arg("room.incremental", "true")
-        arg("room.expandProjection", "true")
-        arg("room.generateKotlin", "false")
-        //arg("room.schemaLocation", "$projectDir/schemas")
-
-    }
-
-    compileOptions {
-        // Flag to enable support for the new language APIs
-        coreLibraryDesugaringEnabled = true
-        // Sets Java compatibility
-        sourceCompatibility JavaVersion.VERSION_21
-        targetCompatibility JavaVersion.VERSION_21
-    }
-    packaging {
-        resources.excludes.add('META-INF/*')
-    }
-
-    sourceSets {
-        // Adds exported schema location as test app assets.
-        androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
-    }
-    lint {
-        checkDependencies = true
-    }
-    tasks.withType(JavaCompile).tap {
-        configureEach {
-            //options.compilerArgs << "-Xlint:unchecked"
-        }
-    }
-}
-
-dependencies {
-    //compileOnly "com.android.tools.build:gradle:$agp_version"
-    //noinspection GradleDependency,GradlePackageUpdate
-    //coreLibraryDesugaring('com.android.tools:desugar_jdk_libs_nio:2.0.4')
-    coreLibraryDesugaring(libs.desugar)
-    testImplementation(libs.junit)
-    androidTestImplementation(libs.bundles.androidTest)
-    //kotlin
-    //noinspection GradleDependency,DifferentStdlibGradleVersion
-    implementation(libs.kotlin.stdlib)
-    //Kotlin反射
-    //noinspection GradleDependency,DifferentStdlibGradleVersion
-    //implementation(libs.kotlin.reflect)
-
-    //协程
-    //def coroutines_version = '1.7.3'
-    implementation(libs.bundles.coroutines)
-
-
-    //androidX
-    implementation(libs.core.ktx)
-    implementation(libs.appcompat.appcompat)
-    implementation(libs.activity.ktx)
-    implementation(libs.fragment.ktx)
-    implementation(libs.preference.ktx)
-    implementation(libs.androidx.constraintlayout)
-    implementation(libs.androidx.swiperefreshlayout)
-    implementation(libs.androidx.recyclerview)
-    implementation(libs.androidx.viewpager2)
-    implementation(libs.androidx.webkit)
-
-    //google
-    implementation(libs.material)
-    implementation(libs.flexbox)
-    implementation(libs.gson)
-
-    //lifecycle
-    implementation(libs.lifecycle.common.java8)
-    implementation(libs.lifecycle.service)
-
-    //media
-    implementation(libs.media.media)
-    // For media playback using ExoPlayer
-    implementation(libs.media3.exoplayer)
-    // For loading data using the OkHttp network stack
-    implementation(libs.media3.datasource.okhttp)
-    // For exposing and controlling media sessions
-    //implementation "androidx.media3:media3-session:$media3_version"
-
-    //Splitties
-    implementation(libs.splitties.appctx)
-    implementation(libs.splitties.systemservices)
-    implementation(libs.splitties.views)
-
-    //room sql语句不高亮解决方法https://issuetracker.google.com/issues/234612964#comment6
-    implementation(libs.room.runtime)
-    implementation(libs.room.ktx)
-    //kapt("androidx.room:room-compiler:$room_version")
-    ksp(libs.room.compiler)
-    androidTestImplementation(libs.room.testing)
-
-    //liveEventBus
-    implementation(libs.liveeventbus)
-
-    //规则相关
-    implementation(libs.jsoup)
-    implementation(libs.json.path)
-    implementation(libs.jsoupxpath)
-    implementation(project(path: ':modules:book'))
-    implementation(project(path: ':modules:rhino'))
-
-    //JS rhino
-
-    //网络
-    implementation(libs.okhttp)
-    implementation(fileTree(dir: 'cronetlib', include: ['*.jar', '*.aar']))
-    implementation(libs.protobuf.javalite)
-
-    //Glide
-    implementation(libs.glide.glide)
-    implementation(libs.glide.okhttp)
-    ksp(libs.glide.ksp)
-
-    //Svg
-    implementation(libs.androidsvg)
-    //Glide svg plugin
-    implementation(libs.glide.svg)
-
-    //webServer
-    implementation(libs.nanohttpd.nanohttpd)
-    implementation(libs.nanohttpd.websocket)
-
-    //二维码
-    //noinspection GradleDependency
-    implementation(libs.zxing.lite)
-
-    //颜色选择
-    implementation(libs.colorpicker)
-
-    //压缩解压
-    implementation libs.libarchive
-
-    //apache
-    implementation(libs.commons.text)
-
-    //MarkDown
-    implementation(libs.markwon.core)
-    implementation(libs.markwon.image.glide)
-    implementation(libs.markwon.ext.tables)
-    implementation(libs.markwon.html)
-
-    //转换繁体
-    implementation(libs.quick.chinese.transfer.core)
-
-    //加解密类库,有些书源使用
-    //noinspection GradleDependency,GradlePackageUpdate
-    implementation(libs.hutool.crypto)
-
-    //firebase, 崩溃统计和性能统计
-    implementation platform(libs.firebase.bom)
-    implementation libs.firebase.analytics
-    implementation libs.firebase.perf
-
-    implementation libs.glide.recyclerview
-
-    //LeakCanary, 内存泄露检测
-    //debugImplementation('com.squareup.leakcanary:leakcanary-android:2.7')
-
-    //com.github.AmrDeveloper:CodeView代码编辑已集成到应用内
-    //epubLib集成到应用内
-
-    implementation libs.androidx.datastore.preferences
-    implementation libs.androidx.palette
-    implementation libs.androidx.core.splashscreen
-    implementation libs.androidx.startup.runtime
-
-    // Compose 基础
-    implementation platform(libs.androidx.compose.bom)
-    implementation libs.activity.compose
-    implementation libs.androidx.compose.ui
-    implementation libs.androidx.compose.ui.tooling.preview
-    debugImplementation libs.androidx.compose.ui.tooling
-
-    // Material3
-    implementation libs.androidx.compose.material3
-
-    // Lifecycle
-    implementation libs.androidx.lifecycle.runtime.compose
-
-    // Activity
-    implementation libs.androidx.activity.compose
-
-    // Coil
-    implementation libs.coil.compose
-
-    // accompanist – WebView(打开网页)
-    implementation libs.accompanist.webview
-
-    // Markdown 渲染(Compose MD)
-    // implementation libs.markdown.compose
-
-    // 协程
-    implementation libs.kotlinx.coroutines.android
-    implementation libs.androidx.lifecycle.runtime.compose
-    implementation libs.androidx.lifecycle.viewmodel.compose
-    implementation libs.androidx.compose.animation
-    implementation libs.androidx.compose.foundation
-    implementation libs.androidx.constraintlayout.compose
-    implementation libs.androidx.compose.ui.viewbinding
-    implementation libs.androidx.navigation.compose
-    implementation libs.androidx.compose.material
-    implementation libs.compose.materialIcons
-
-    implementation(platform(libs.koin.bom))
-    implementation(libs.koin.core)
-    implementation(libs.koin.android)
-    implementation(libs.koin.compose)
-    implementation(libs.koin.compose.viewmodel)
-
-    implementation(libs.reorderable)
-    implementation(libs.material.kolor)
-    implementation(libs.haze.core)
-    implementation(libs.haze.materials)
-
-}

+ 271 - 0
app/build.gradle.kts

@@ -0,0 +1,271 @@
+import java.io.FileInputStream
+import java.util.Properties
+
+plugins {
+    alias(libs.plugins.compose.compiler)
+    alias(libs.plugins.android.application)
+    alias(libs.plugins.kotlin.android)
+    alias(libs.plugins.kotlin.parcelize)
+    alias(libs.plugins.room)
+    alias(libs.plugins.ksp)
+    alias(libs.plugins.google.services)
+}
+
+apply(from = "download.gradle")
+
+
+val versionPropsFile = file("version.properties")
+val versionProps = Properties().apply {
+    if (versionPropsFile.exists()) {
+        load(FileInputStream(versionPropsFile))
+    }
+}
+
+val versionMajor = versionProps["VERSION_MAJOR"]?.toString()?.toInt() ?: 0
+val versionMinor = versionProps["VERSION_MINOR"]?.toString()?.toInt() ?: 0
+val versionPatch = versionProps["VERSION_PATCH"]?.toString()?.toInt() ?: 0
+val appName = "legado"
+val projectVersionName = "$versionMajor.$versionMinor.$versionPatch"
+
+android {
+    compileSdk = 36
+    namespace = "io.legado.app"
+
+    kotlin {
+        jvmToolchain {
+            languageVersion.set(JavaLanguageVersion.of(21))
+            vendor.set(JvmVendorSpec.ADOPTIUM)
+        }
+    }
+
+    signingConfigs {
+        if (project.hasProperty("RELEASE_STORE_FILE")) {
+            create("myConfig") {
+                storeFile = file(project.property("RELEASE_STORE_FILE") as String)
+                storePassword = project.property("RELEASE_STORE_PASSWORD") as String
+                keyAlias = project.property("RELEASE_KEY_ALIAS") as String
+                keyPassword = project.property("RELEASE_KEY_PASSWORD") as String
+                enableV1Signing = true
+                enableV2Signing = true
+                enableV3Signing = true
+                enableV4Signing = true
+            }
+        }
+    }
+
+    defaultConfig {
+        applicationId = "io.legato.kazusa"
+        minSdk = 26
+        targetSdk = 36
+        versionCode = System.getenv("BUILD_NUMBER")?.toInt()?.let { 10000 + it } ?: 32640
+        versionName = System.getenv("APP_VERSION_NAME") ?: projectVersionName
+        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+
+        buildConfigField("String", "Cronet_Version", "\"${project.findProperty("CronetVersion")}\"")
+        buildConfigField(
+            "String",
+            "Cronet_Main_Version",
+            "\"${project.findProperty("CronetMainVersion")}\""
+        )
+
+        javaCompileOptions {
+            annotationProcessorOptions {
+                arguments += mapOf(
+                    "room.incremental" to "true",
+                    "room.expandProjection" to "true",
+                    "room.schemaLocation" to "$projectDir/schemas"
+                )
+            }
+        }
+    }
+
+    buildFeatures {
+        compose = true
+        buildConfig = true
+        viewBinding = true
+    }
+
+    buildTypes {
+        getByName("release") {
+            if (project.hasProperty("RELEASE_STORE_FILE")) {
+                signingConfig = signingConfigs.getByName("myConfig")
+            }
+            manifestPlaceholders["app_name"] = "@string/app_name"
+            isMinifyEnabled = true
+            isShrinkResources = true
+            proguardFiles(
+                getDefaultProguardFile("proguard-android-optimize.txt"),
+                "proguard-rules.pro",
+                "cronet-proguard-rules.pro"
+            )
+        }
+        getByName("debug") {
+            applicationIdSuffix = ".debug"
+            if (project.hasProperty("RELEASE_STORE_FILE")) {
+                signingConfig = signingConfigs.getByName("myConfig")
+            }
+            manifestPlaceholders["app_name"] = "@string/app_name"
+            versionNameSuffix = "_debug"
+            isMinifyEnabled = false
+            proguardFiles(
+                getDefaultProguardFile("proguard-android-optimize.txt"),
+                "proguard-rules.pro",
+                "cronet-proguard-rules.pro"
+            )
+        }
+    }
+
+    splits {
+        abi {
+            isEnable = true
+            reset()
+            include("armeabi-v7a", "arm64-v8a")
+            isUniversalApk = true
+        }
+    }
+
+    flavorDimensions += "mode"
+    productFlavors {
+        create("app") {
+            dimension = "mode"
+            manifestPlaceholders["APP_CHANNEL_VALUE"] = "app"
+        }
+    }
+
+    applicationVariants.all {
+        val variant = this
+        outputs.all {
+            val output = this as com.android.build.gradle.internal.api.BaseVariantOutputImpl
+            val abi = output.getFilter(com.android.build.OutputFile.ABI)
+            val flavor = variant.productFlavors[0].name
+            val baseVersionName = variant.versionName
+            var apkName = "${appName}_${flavor}_${baseVersionName}"
+            if (abi != null) {
+                apkName += "_$abi"
+            }
+            output.outputFileName = "$apkName.apk"
+        }
+    }
+
+    room {
+        schemaDirectory("$projectDir/schemas")
+    }
+
+    ksp {
+        arg("room.incremental", "true")
+        arg("room.expandProjection", "true")
+        arg("room.generateKotlin", "false")
+    }
+
+    compileOptions {
+        isCoreLibraryDesugaringEnabled = true
+        sourceCompatibility = JavaVersion.VERSION_21
+        targetCompatibility = JavaVersion.VERSION_21
+    }
+
+    packaging {
+        resources.excludes.add("META-INF/*")
+    }
+
+    sourceSets {
+        getByName("androidTest").assets.srcDirs("$projectDir/schemas")
+    }
+
+    lint {
+        checkDependencies = true
+    }
+}
+
+dependencies {
+    coreLibraryDesugaring(libs.desugar)
+    testImplementation(libs.junit)
+    androidTestImplementation(libs.bundles.androidTest)
+    implementation(libs.kotlin.stdlib)
+    implementation(libs.bundles.coroutines)
+    implementation(libs.core.ktx)
+    implementation(libs.appcompat.appcompat)
+    implementation(libs.activity.ktx)
+    implementation(libs.fragment.ktx)
+    implementation(libs.preference.ktx)
+    implementation(libs.androidx.constraintlayout)
+    implementation(libs.androidx.swiperefreshlayout)
+    implementation(libs.androidx.recyclerview)
+    implementation(libs.androidx.viewpager2)
+    implementation(libs.androidx.webkit)
+    implementation(libs.material)
+    implementation(libs.flexbox)
+    implementation(libs.gson)
+    implementation(libs.lifecycle.common.java8)
+    implementation(libs.lifecycle.service)
+    implementation(libs.media.media)
+    implementation(libs.media3.exoplayer)
+    implementation(libs.media3.datasource.okhttp)
+    implementation(libs.splitties.appctx)
+    implementation(libs.splitties.systemservices)
+    implementation(libs.splitties.views)
+    implementation(libs.room.runtime)
+    implementation(libs.room.ktx)
+    ksp(libs.room.compiler)
+    androidTestImplementation(libs.room.testing)
+    implementation(libs.liveeventbus)
+    implementation(libs.jsoup)
+    implementation(libs.json.path)
+    implementation(libs.jsoupxpath)
+    implementation(project(":modules:book"))
+    implementation(project(":modules:rhino"))
+    implementation(libs.okhttp)
+    implementation(fileTree(mapOf("dir" to "cronetlib", "include" to listOf("*.jar", "*.aar"))))
+    implementation(libs.protobuf.javalite)
+    implementation(libs.glide.glide)
+    implementation(libs.glide.okhttp)
+    ksp(libs.glide.ksp)
+    implementation(libs.androidsvg)
+    implementation(libs.glide.svg)
+    implementation(libs.glide.recyclerview)
+    implementation(libs.nanohttpd.nanohttpd)
+    implementation(libs.nanohttpd.websocket)
+    implementation(libs.zxing.lite)
+    implementation(libs.colorpicker)
+    implementation(libs.libarchive)
+    implementation(libs.commons.text)
+    implementation(libs.markwon.core)
+    implementation(libs.markwon.image.glide)
+    implementation(libs.markwon.ext.tables)
+    implementation(libs.markwon.html)
+    implementation(libs.quick.chinese.transfer.core)
+    implementation(libs.hutool.crypto)
+    implementation(platform(libs.firebase.bom))
+    implementation(libs.firebase.analytics)
+    implementation(libs.firebase.perf)
+    implementation(libs.androidx.datastore.preferences)
+    implementation(libs.androidx.palette)
+    implementation(libs.androidx.core.splashscreen)
+    implementation(libs.androidx.startup.runtime)
+    implementation(platform(libs.androidx.compose.bom))
+    implementation(libs.activity.compose)
+    implementation(libs.androidx.compose.ui)
+    implementation(libs.androidx.compose.ui.tooling.preview)
+    debugImplementation(libs.androidx.compose.ui.tooling)
+    implementation(libs.androidx.compose.material3)
+    implementation(libs.androidx.lifecycle.runtime.compose)
+    implementation(libs.coil.compose)
+    implementation(libs.accompanist.webview)
+    implementation(libs.kotlinx.coroutines.android)
+    implementation(libs.androidx.lifecycle.viewmodel.compose)
+    implementation(libs.androidx.compose.animation)
+    implementation(libs.androidx.compose.foundation)
+    implementation(libs.androidx.constraintlayout.compose)
+    implementation(libs.androidx.compose.ui.viewbinding)
+    implementation(libs.androidx.navigation.compose)
+    implementation(libs.androidx.compose.material)
+    implementation(libs.compose.materialIcons)
+    implementation(platform(libs.koin.bom))
+    implementation(libs.koin.core)
+    implementation(libs.koin.android)
+    implementation(libs.koin.compose)
+    implementation(libs.koin.compose.viewmodel)
+    implementation(libs.reorderable)
+    implementation(libs.material.kolor)
+    implementation(libs.haze.core)
+    implementation(libs.haze.materials)
+}

+ 1 - 1
app/proguard-rules.pro

@@ -1,6 +1,6 @@
 # Add project specific ProGuard rules here.
 # You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
+# proguardFiles setting in build.gradle.kts.
 #
 # For more details, see
 #   http://developer.android.com/guide/developing/tools/proguard.html

+ 0 - 37
build.gradle

@@ -1,37 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
-    ext{
-        compile_sdk_version = 36
-        build_tool_version = '34.0.0'
-//        kotlin_version = '1.9.22'
-//        ksp_version = "1.0.17"
-//        agp_version = '8.2.2'
-//        media3_version = "1.2.1"
-//        splitties_version = '3.0.0'
-//        room_version = '2.6.1'
-    }
-}
-
-plugins {
-    //id 'com.android.application' version "$agp_version" apply false
-    //id 'com.android.library' version "$agp_version" apply false
-    //id 'org.jetbrains.kotlin.android' version "$kotlin_version" apply false
-    //id 'com.google.devtools.ksp' version "$kotlin_version-$ksp_version" apply false
-    //id "de.undercouch.download" version "5.5.0" apply false
-    //id "com.google.gms.google-services" version "4.4.0" apply false
-    alias libs.plugins.compose.compiler apply false
-    alias libs.plugins.android.application apply false
-    alias libs.plugins.android.library apply false
-    alias libs.plugins.kotlin.android apply false
-    alias libs.plugins.kotlin.parcelize apply false
-    alias libs.plugins.ksp apply false
-    alias libs.plugins.google.services apply false
-    alias libs.plugins.room apply false
-
-    alias libs.plugins.download apply false
-}
-
-tasks.register('clean', Delete) {
-    delete rootProject.layout.buildDirectory
-}

+ 22 - 0
build.gradle.kts

@@ -0,0 +1,22 @@
+buildscript {
+    extra.apply {
+        set("compile_sdk_version", 36)
+        set("build_tool_version", "34.0.0")
+    }
+}
+
+plugins {
+    alias(libs.plugins.compose.compiler) apply false
+    alias(libs.plugins.android.application) apply false
+    alias(libs.plugins.android.library) apply false
+    alias(libs.plugins.kotlin.android) apply false
+    alias(libs.plugins.kotlin.parcelize) apply false
+    alias(libs.plugins.ksp) apply false
+    alias(libs.plugins.google.services) apply false
+    alias(libs.plugins.room) apply false
+    alias(libs.plugins.download) apply false
+}
+
+tasks.register<Delete>("clean") {
+    delete(rootProject.layout.buildDirectory)
+}