diff --git a/.gitignore b/.gitignore index b4ae271..2f7fa49 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,17 @@ -.gradle -.idea +# Gradle and IDE-related files +.gradle/ +.idea/ *.iml -build + +# Build output directories +build/ + +# Local configuration files local.properties .classpath .project project.properties secure.properties + +# macOS-specific files .DS_Store diff --git a/app/.gitignore b/app/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/app/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index b2fcae3..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,69 +0,0 @@ -plugins { - id 'com.android.application' - id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' - id 'kotlin-android' -} - -android { - lint { - sarifOutput = file("$buildDir/reports/lint-results.sarif") - } - - buildFeatures { - buildConfig = true - } - - compileSdk 34 - namespace = "com.google.maps.android.rx.demo" - - defaultConfig { - applicationId "com.google.maps.android.rx.demo" - minSdkVersion 24 - targetSdkVersion 35 - versionCode 1 - versionName "1.0" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled false - 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 { - // RxJava bindings for the Maps SDK - implementation 'com.google.maps.android:maps-rx:1.0.0' - - // RxJava bindings for the Places SDK - implementation 'com.google.maps.android:places-rx:1.0.0' - - // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you - // have the latest features and bug fixes. - implementation "com.google.android.gms:play-services-maps:18.0.2" - implementation 'com.google.android.libraries.places:places:4.0.0' - implementation 'io.reactivex.rxjava3:rxjava:3.1.4' - - //implementation project(":maps-rx") - implementation "androidx.appcompat:appcompat:1.4.1" - implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.4.1" - implementation "com.google.android.material:material:1.5.0" - implementation "com.trello.rxlifecycle4:rxlifecycle-android-lifecycle-kotlin:4.0.2" - implementation "com.google.maps.android:maps-ktx:3.4.0" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21" -} - -secrets { - defaultPropertiesFileName 'local.defaults.properties' -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..703a703 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,67 @@ +plugins { + id("com.android.application") + id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") + id("kotlin-android") +} + +android { + lint { + sarifOutput = file("$buildDir/reports/lint-results.sarif") + } + + buildFeatures { + buildConfig = true + } + + compileSdk = 35 + namespace = "com.google.maps.android.rx.demo" + + defaultConfig { + applicationId = "com.google.maps.android.rx.demo" + minSdk = 24 + targetSdk = 35 + versionCode = 1 + versionName = "1.0" + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + getByName("release") { + isMinifyEnabled = false + 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 { + // RxJava bindings for the Maps SDK + implementation(libs.mapsRx) + + // RxJava bindings for the Places SDK + implementation(libs.placesRx) + + // It is recommended to also include the latest Maps SDK, Places SDK and RxJava so you + // have the latest features and bug fixes. + implementation(libs.playServicesMaps) + implementation(libs.places) + implementation(libs.rxJava) + implementation(libs.appCompat) + implementation(libs.lifecycleRuntimeKtx) + implementation(libs.material) + implementation(libs.rxLifecycle) + implementation(libs.mapsKtx) + implementation(libs.kotlinStdlib) +} + +secrets { + defaultPropertiesFileName = "local.defaults.properties" +} diff --git a/build.gradle.kts b/build.gradle.kts index f0beb41..c11e7b5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,10 +23,10 @@ buildscript { maven(url = "https://plugins.gradle.org/m2/") } dependencies { - classpath("com.android.tools.build:gradle:8.7.1") + classpath("com.android.tools.build:gradle:8.7.2") classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") - classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22") - classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.5.0") + classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.21") + classpath("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20") classpath("com.mxalbert.gradle:jacoco-android:0.2.1") } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..29c9cb4 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,30 @@ +[versions] +kotlin = "2.0.21" +rxandroid = "3.0.2" +rxjava = "3.1.8" +playServicesMaps = "19.0.0" +places = "4.1.0" +appCompat = "1.7.0" +lifecycleRuntimeKtx = "2.8.7" +material = "1.12.0" +rxLifecycle = "4.0.2" +mapsKtx = "5.1.1" +volley = "1.2.1" +mapsRx = "1.0.0" +placesRx = "1.0.0" + +[libraries] +mapsRx = { module = "com.google.maps.android:maps-rx", version.ref = "mapsRx" } +placesRx = { module = "com.google.maps.android:places-rx", version.ref = "placesRx" } +jetbrainsKotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } +kotlinStdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" } +rxJava = { module = "io.reactivex.rxjava3:rxjava", version.ref = "rxjava" } +rxAndroid = { module = "io.reactivex.rxjava3:rxandroid", version.ref = "rxandroid" } +playServicesMaps = { module = "com.google.android.gms:play-services-maps", version.ref = "playServicesMaps" } +places = { module = "com.google.android.libraries.places:places", version.ref = "places" } +appCompat = { module = "androidx.appcompat:appcompat", version.ref = "appCompat" } +lifecycleRuntimeKtx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } +material = { module = "com.google.android.material:material", version.ref = "material" } +rxLifecycle = { module = "com.trello.rxlifecycle4:rxlifecycle-android-lifecycle-kotlin", version.ref = "rxLifecycle" } +mapsKtx = { module = "com.google.maps.android:maps-ktx", version.ref = "mapsKtx" } +volley = { module = "com.android.volley:volley", version.ref = "volley" } diff --git a/maps-rx/.gitignore b/maps-rx/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/maps-rx/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/maps-rx/build.gradle b/maps-rx/build.gradle deleted file mode 100644 index 1db3512..0000000 --- a/maps-rx/build.gradle +++ /dev/null @@ -1,32 +0,0 @@ -android { - lint { - sarifOutput = file("$buildDir/reports/lint-results.sarif") - } - - namespace = "com.google.maps.android.rx.maps" - - compileSdk 34 - - defaultConfig { - minSdkVersion 24 - targetSdkVersion 35 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles "consumer-rules.pro" - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = "1.8" - freeCompilerArgs += '-Xexplicit-api=strict' - } -} - -dependencies { - implementation project(":shared") - implementation "com.google.android.gms:play-services-maps:17.0.1" - implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.21" - implementation "io.reactivex.rxjava3:rxandroid:3.0.0" - implementation "io.reactivex.rxjava3:rxjava:3.1.4" -} diff --git a/maps-rx/build.gradle.kts b/maps-rx/build.gradle.kts new file mode 100644 index 0000000..ddcb142 --- /dev/null +++ b/maps-rx/build.gradle.kts @@ -0,0 +1,33 @@ +android { + lint { + sarifOutput = file("$buildDir/reports/lint-results.sarif") + } + + namespace = "com.google.maps.android.rx.maps" + + compileSdk = 35 + + defaultConfig { + minSdk = 24 + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs += "-Xexplicit-api=strict" + } +} + +dependencies { + implementation(project(":shared")) + implementation(libs.playServicesMaps) + implementation(libs.jetbrainsKotlinStdlib) + implementation(libs.rxAndroid) + implementation(libs.rxJava) +} diff --git a/places-rx/.gitignore b/places-rx/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/places-rx/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/places-rx/build.gradle b/places-rx/build.gradle deleted file mode 100644 index 7d38565..0000000 --- a/places-rx/build.gradle +++ /dev/null @@ -1,33 +0,0 @@ -android { - lint { - sarifOutput = file("$buildDir/reports/lint-results.sarif") - } - - namespace = "com.google.maps.android.rx.places" - - compileSdk 34 - - defaultConfig { - minSdkVersion 24 - targetSdkVersion 35 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles "consumer-rules.pro" - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - kotlinOptions { - jvmTarget = '1.8' - freeCompilerArgs += '-Xexplicit-api=strict' - } -} - -dependencies { - implementation project(":shared") - implementation "com.google.android.libraries.places:places:2.4.0" - implementation "com.android.volley:volley:1.2.0" - implementation "io.reactivex.rxjava3:rxandroid:3.0.0" - implementation "io.reactivex.rxjava3:rxjava:3.0.10" - implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.21" -} diff --git a/places-rx/build.gradle.kts b/places-rx/build.gradle.kts new file mode 100644 index 0000000..1385801 --- /dev/null +++ b/places-rx/build.gradle.kts @@ -0,0 +1,34 @@ +android { + lint { + sarifOutput = file("$buildDir/reports/lint-results.sarif") + } + + namespace = "com.google.maps.android.rx.places" + + compileSdk = 35 + + defaultConfig { + minSdk = 24 + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } + + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs += "-Xexplicit-api=strict" + } +} + +dependencies { + implementation(project(":shared")) + implementation(libs.places) + implementation(libs.volley) + implementation(libs.rxAndroid) + implementation(libs.rxJava) + implementation(libs.jetbrainsKotlinStdlib) +} diff --git a/shared/.gitignore b/shared/.gitignore deleted file mode 100644 index 42afabf..0000000 --- a/shared/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build \ No newline at end of file diff --git a/shared/build.gradle b/shared/build.gradle deleted file mode 100644 index 20bcdaa..0000000 --- a/shared/build.gradle +++ /dev/null @@ -1,31 +0,0 @@ -plugins { - id "com.android.library" - id "kotlin-android" -} - -android { - lint { - sarifOutput = file("$buildDir/reports/lint-results.sarif") - } - namespace = "com.google.maps.android.rx.shared" - - compileSdk 34 - - defaultConfig { - minSdkVersion 24 - targetSdkVersion 35 - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - consumerProguardFiles "consumer-rules.pro" - } - - kotlinOptions { - jvmTarget = '1.8' - freeCompilerArgs += '-Xexplicit-api=strict' - } -} - -dependencies { - implementation "org.jetbrains.kotlin:kotlin-stdlib:1.5.21" - implementation "io.reactivex.rxjava3:rxandroid:3.0.0" - implementation "io.reactivex.rxjava3:rxjava:3.0.10" -} \ No newline at end of file diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts new file mode 100644 index 0000000..974a102 --- /dev/null +++ b/shared/build.gradle.kts @@ -0,0 +1,30 @@ +plugins { + id("com.android.library") + id("kotlin-android") +} + +android { + lint { + sarifOutput = file("$buildDir/reports/lint-results.sarif") + } + namespace = "com.google.maps.android.rx.shared" + + compileSdk = 35 + + defaultConfig { + minSdk = 24 + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs += "-Xexplicit-api=strict" + } +} + +dependencies { + implementation(libs.jetbrainsKotlinStdlib) + implementation(libs.rxAndroid) + implementation(libs.rxJava) +}