Aperture: Convert gradle scripts to kotlin

https: //github.com/bernaferrari/GradleKotlinConverter
Change-Id: I049f5c7fb39ecb4b1b3a4d923dda90199f9620f8
diff --git a/app/build.gradle b/app/build.gradle
deleted file mode 100644
index 31ea115..0000000
--- a/app/build.gradle
+++ /dev/null
@@ -1,72 +0,0 @@
-plugins {
-    id 'com.android.application'
-    id 'org.jetbrains.kotlin.android'
-}
-
-android {
-    compileSdk 33
-
-    defaultConfig {
-        applicationId "org.lineageos.aperture"
-        minSdk 31
-        targetSdk 33
-        versionCode 1
-        versionName "1.0"
-
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
-    }
-
-    buildTypes {
-        release {
-            // Enables code shrinking, obfuscation, and optimization.
-            minifyEnabled true
-
-            // Enables resource shrinking.
-            shrinkResources true
-
-            // Includes the default ProGuard rules files.
-            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
-                    'proguard-rules.pro'
-        }
-    }
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
-    }
-    kotlinOptions {
-        jvmTarget = '1.8'
-    }
-}
-
-dependencies {
-    implementation 'androidx.core:core-ktx:1.8.0'
-    implementation 'androidx.appcompat:appcompat:1.5.0'
-    implementation 'androidx.concurrent:concurrent-futures-ktx:1.1.0'
-    implementation 'com.google.android.material:material:1.7.0-beta01'
-    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
-    implementation 'androidx.exifinterface:exifinterface:1.3.3'
-    implementation 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
-    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
-    implementation 'androidx.preference:preference:1.2.0'
-
-    // CameraX core library using the camera2 implementation
-    def camerax_version = "1.2.0-beta02"
-    // The following line is optional, as the core library is included indirectly by camera-camera2
-    implementation "androidx.camera:camera-core:${camerax_version}"
-    implementation "androidx.camera:camera-camera2:${camerax_version}"
-    // If you want to additionally use the CameraX Lifecycle library
-    implementation "androidx.camera:camera-lifecycle:${camerax_version}"
-    // If you want to additionally use the CameraX VideoCapture library
-    implementation "androidx.camera:camera-video:${camerax_version}"
-    // If you want to additionally use the CameraX View class
-    implementation "androidx.camera:camera-view:${camerax_version}"
-    // If you want to additionally use the CameraX Extensions library
-    implementation "androidx.camera:camera-extensions:${camerax_version}"
-
-    // ZXing
-    implementation 'com.google.zxing:core:3.5.0'
-
-    // Coil
-    implementation 'io.coil-kt:coil:2.2.0'
-    implementation 'io.coil-kt:coil-video:2.2.0'
-}
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..d58d508
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,75 @@
+plugins {
+    id("com.android.application")
+    id("kotlin-android")
+}
+
+android {
+    compileSdk = 33
+
+    defaultConfig {
+        applicationId = "org.lineageos.aperture"
+        minSdk = 31
+        targetSdk = 33
+        versionCode = 1
+        versionName = "1.0"
+
+        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+    }
+
+    buildTypes {
+        named("release") {
+            // Enables code shrinking, obfuscation, and optimization.
+            isMinifyEnabled = true
+
+            // Enables resource shrinking.
+            isShrinkResources = true
+
+            // Includes the default ProGuard rules files.
+            setProguardFiles(
+                listOf(
+                    getDefaultProguardFile("proguard-android-optimize.txt"),
+                    "proguard-rules.pro"
+                )
+            )
+        }
+    }
+
+    compileOptions {
+        sourceCompatibility = JavaVersion.VERSION_1_8
+        targetCompatibility = JavaVersion.VERSION_1_8
+    }
+
+    kotlinOptions {
+        jvmTarget = "1.8"
+    }
+}
+
+dependencies {
+    implementation("androidx.core:core-ktx:1.8.0")
+    implementation("androidx.appcompat:appcompat:1.5.0")
+    implementation("androidx.constraintlayout:constraintlayout:2.1.4")
+    implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1")
+    implementation("androidx.preference:preference-ktx:1.2.0")
+    implementation("com.google.android.material:material:1.8.0-alpha01")
+
+    // CameraX core library using the camera2 implementation
+    val cameraxVersion = "1.2.0-beta02"
+    // The following line is optional, as the core library is included indirectly by camera-camera2
+    implementation("androidx.camera:camera-core:${cameraxVersion}")
+    implementation("androidx.camera:camera-camera2:${cameraxVersion}")
+    // If you want to additionally use the CameraX Lifecycle library
+    implementation("androidx.camera:camera-lifecycle:${cameraxVersion}")
+    // If you want to additionally use the CameraX VideoCapture library
+    implementation("androidx.camera:camera-video:${cameraxVersion}")
+    // If you want to additionally use the CameraX View class
+    implementation("androidx.camera:camera-view:${cameraxVersion}")
+    // If you want to additionally use the CameraX Extensions library
+    implementation("androidx.camera:camera-extensions:${cameraxVersion}")
+
+    // ZXing
+    implementation("com.google.zxing:core:3.5.0")
+
+    // Coil
+    implementation("io.coil-kt:coil:2.2.0")
+    implementation("io.coil-kt:coil-video:2.2.0")
+}
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index 64f119e..0000000
--- a/build.gradle
+++ /dev/null
@@ -1,10 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-plugins {
-    id 'com.android.application' version '7.2.2' apply false
-    id 'com.android.library' version '7.2.2' apply false
-    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
-}
-
-task clean(type: Delete) {
-    delete rootProject.buildDir
-}
\ No newline at end of file
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 0000000..d47f7ab
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,10 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+    id("com.android.application") version "7.2.2" apply false
+    id("com.android.library") version "7.2.2" apply false
+    id("org.jetbrains.kotlin.android") version "1.7.10" apply false
+}
+
+tasks.register<Delete>("clean").configure {
+    delete(rootProject.buildDir)
+}
diff --git a/settings.gradle b/settings.gradle.kts
similarity index 68%
rename from settings.gradle
rename to settings.gradle.kts
index a59a474..e570fc8 100644
--- a/settings.gradle
+++ b/settings.gradle.kts
@@ -8,10 +8,10 @@
 dependencyResolutionManagement {
     repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
     repositories {
-        maven { url "https://raw.githubusercontent.com/luk1337/camerax_selfie/6b2510d11a28eb5e32a0e17fea3f91bc37ae4316/.m2" }
+        maven("https://raw.githubusercontent.com/luk1337/camerax_selfie/6b2510d11a28eb5e32a0e17fea3f91bc37ae4316/.m2")
         google()
         mavenCentral()
     }
 }
 rootProject.name = "Aperture"
-include ':app'
+include(":app")