Twelve: Initial commit
Co-authored-by: Luca Stefani <luca.stefani.ge1@gmail.com>
Co-authored-by: Asher Simonds <dayanhammer@gmail.com>
Change-Id: Iaecc3b21a8b579ec0e4455f7aabdaa8c56d3045c
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 0000000..45c2624
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,103 @@
+/*
+ * SPDX-FileCopyrightText: 2024 The LineageOS Project
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import org.lineageos.generatebp.GenerateBpPlugin
+import org.lineageos.generatebp.GenerateBpPluginExtension
+import org.lineageos.generatebp.models.Module
+
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.kotlin.android)
+}
+
+apply {
+ plugin<GenerateBpPlugin>()
+}
+
+buildscript {
+ repositories {
+ maven("https://raw.githubusercontent.com/lineage-next/gradle-generatebp/v1.11/.m2")
+ }
+
+ dependencies {
+ classpath("org.lineageos:gradle-generatebp:+")
+ }
+}
+
+android {
+ namespace = "org.lineageos.twelve"
+ compileSdk = 35
+
+ defaultConfig {
+ applicationId = "org.lineageos.twelve"
+ minSdk = 30
+ targetSdk = 35
+ versionCode = 1
+ versionName = "1.0"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+
+ debug {
+ // Append .dev to package name so we won't conflict with AOSP build.
+ applicationIdSuffix = ".dev"
+ }
+ }
+
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_1_8
+ targetCompatibility = JavaVersion.VERSION_1_8
+ }
+
+ kotlinOptions {
+ jvmTarget = "1.8"
+ }
+}
+
+dependencies {
+ implementation(libs.androidx.activity)
+ implementation(libs.androidx.appcompat)
+ implementation(libs.androidx.constraintlayout)
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.fragment.ktx)
+ implementation(libs.androidx.lifecycle.service)
+ implementation(libs.androidx.media3.common.ktx)
+ implementation(libs.androidx.media3.exoplayer)
+ implementation(libs.androidx.media3.exoplayer.midi)
+ implementation(libs.androidx.media3.session)
+ implementation(libs.androidx.media3.ui)
+ implementation(libs.androidx.navigation.fragment.ktx)
+ implementation(libs.androidx.navigation.ui.ktx)
+ implementation(libs.androidx.recyclerview)
+ implementation(libs.androidx.viewpager2)
+ implementation(libs.kotlinx.coroutines.guava)
+ implementation(libs.material)
+}
+
+configure<GenerateBpPluginExtension> {
+ targetSdk.set(android.defaultConfig.targetSdk!!)
+ availableInAOSP.set { module: Module ->
+ when {
+ module.group.startsWith("androidx") -> {
+ // We provide our own androidx.media3
+ !module.group.startsWith("androidx.media3")
+ }
+ module.group.startsWith("org.jetbrains") -> true
+ module.group == "com.google.auto.value" -> true
+ module.group == "com.google.code.findbugs" -> true
+ module.group == "com.google.errorprone" -> true
+ module.group == "com.google.guava" -> true
+ module.group == "junit" -> true
+ else -> false
+ }
+ }
+}