Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file added build.gradle.kts
Empty file.
2 changes: 2 additions & 0 deletions buildSrc/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
.gradle
/build
22 changes: 22 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
plugins {
`kotlin-dsl`
`kotlin-dsl-precompiled-script-plugins`
}

dependencies {
implementation(libs.jetbrains.kotlin)
implementation( libs.android.build.gradle)
}

gradlePlugin {
plugins {
create("android-library-module") {
id = "android-library-module"
implementationClass = "gradlePlugins.AndroidLibraryPlugin"
}
create("android-application-module"){
id = "android-application-module"
implementationClass = "gradlePlugins.AndroidApplicationPlugin"
}
}
}
34 changes: 34 additions & 0 deletions buildSrc/settings.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
pluginManagement {

repositories {
gradlePluginPortal()
google()
mavenCentral()
mavenLocal()
}
buildscript {
repositories {
mavenCentral()
// maven {
// url = uri("https://storage.googleapis.com/r8-releases/raw")
// }
}
// dependencies {
// classpath("com.android.tools:r8:8.2.42")
// }
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
}
versionCatalogs {
create("libs") {
from(files("../gradle/libs.versions.toml"))
}
}
}

rootProject.name = "buildSrc"
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
package gradlePlugins

import com.android.build.gradle.BaseExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalog
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

class AndroidApplicationPlugin : Plugin<Project> {

private val Project.android: BaseExtension
get() = extensions.findByName("android") as? BaseExtension
?: error("Not an Android module: $name")

override fun apply(project: Project) =
with(project) {
val libs = project.rootProject
.extensions
.getByType(VersionCatalogsExtension::class.java)
.named("libs")
applyPlugins()
androidConfig(libs)
dependenciesConfig()
}

private fun Project.applyPlugins() {
plugins.run {
apply("com.android.application")
apply("org.jetbrains.kotlin.android")
}
}

private fun Project.androidConfig(libs: VersionCatalog) {
val javaVer = JavaVersion.valueOf(libs.findVersion("java_compatibility").get().displayName)
android.run {
compileSdkVersion( libs.findVersion("compile_sdk").get().displayName.toInt())
defaultConfig {
minSdk = libs.findVersion("compile_sdk").get().displayName.toInt()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
targetSdk = libs.findVersion("compile_sdk").get().displayName.toInt()
versionCode = libs.findVersion("versionCode").get().displayName.toInt()
versionName = libs.findVersion("versionName").get().displayName
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
}
getByName("release") {
isMinifyEnabled= false
consumerProguardFiles("consumer-rules.pro")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
// isCoreLibraryDesugaringEnabled = true
sourceCompatibility = javaVer
targetCompatibility = javaVer
}
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions.jvmTarget = javaVer.toString()
}
}
}
private fun Project.dependenciesConfig() {
dependencies {
// "coreLibraryDesugaring"( "com.android.tools:desugar_jdk_libs:${ver.android.desugar}")
}
}
}
71 changes: 71 additions & 0 deletions buildSrc/src/main/kotlin/gradlePlugins/AndroidLibraryPlugin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
package gradlePlugins

import com.android.build.gradle.BaseExtension
import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalog
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.withType
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

class AndroidLibraryPlugin : Plugin<Project> {

private val Project.android: BaseExtension
get() = extensions.findByName("android") as? BaseExtension
?: error("Not an Android module: $name")

override fun apply(project: Project) =
with(project) {
val libs = project.rootProject
.extensions
.getByType(VersionCatalogsExtension::class.java)
.named("libs")
applyPlugins()
androidConfig(libs)
dependenciesConfig()
}

private fun Project.applyPlugins() {
plugins.run {
apply("com.android.library")
// apply("kotlin-multiplatform")
apply("org.jetbrains.kotlin.android")
}
}

private fun Project.androidConfig(libs: VersionCatalog) {
val javaVer = JavaVersion.valueOf(libs.findVersion("java_compatibility").get().displayName)
android.run {
compileSdkVersion( libs.findVersion("compile_sdk").get().displayName.toInt())
defaultConfig {
minSdk = libs.findVersion("min_sdk").get().displayName.toInt()
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
}
getByName("release") {
isMinifyEnabled= false
consumerProguardFiles("consumer-rules.pro")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
// isCoreLibraryDesugaringEnabled = true
sourceCompatibility = javaVer
targetCompatibility = javaVer
}
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions.jvmTarget = javaVer.toString()
}
}
}
private fun Project.dependenciesConfig() {
dependencies {
// "coreLibraryDesugaring"( "com.android.tools:desugar_jdk_libs:${ver.android.desugar}")
}
}
}
50 changes: 0 additions & 50 deletions car-lib/CarGearViewerKotlin/automotive/build.gradle

This file was deleted.

22 changes: 22 additions & 0 deletions car-lib/CarGearViewerKotlin/automotive/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
plugins {
kotlin("android")
id("android-application-module")
}

android {
namespace = "com.example.cargearviewer"
defaultConfig {
applicationId = "com.example.cargearviewer"
}
// android.car exists since Android 10 (API level 29) Revision 5.
useLibrary("android.car")
}

dependencies {
implementation(libs.androidx.core.ktx)
}
//dependencies {
// implementation fileTree(include: ['*.jar'], dir: 'libs')
// implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
// implementation 'androidx.core:core-ktx:1.3.1'
//}
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@android:style/Theme.DeviceDefault.NoActionBar">
<activity android:name="com.example.cargearviewer.MainActivity">
<activity android:name="com.example.cargearviewer.MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Expand Down
Binary file not shown.
1 change: 0 additions & 1 deletion car-lib/CarGearViewerKotlin/settings.gradle

This file was deleted.

16 changes: 16 additions & 0 deletions car_app_library/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
/java_pid17944.hprof
47 changes: 0 additions & 47 deletions car_app_library/build.gradle

This file was deleted.

33 changes: 0 additions & 33 deletions car_app_library/gradle.properties

This file was deleted.

1 change: 1 addition & 0 deletions car_app_library/helloworld/automotive/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/build
Loading