Skip to content

Commit

Permalink
Merge pull request #136 from Notificare/release/3.8.0
Browse files Browse the repository at this point in the history
3.8.0
  • Loading branch information
hpinhal committed Mar 7, 2024
2 parents fbed71e + e1bb353 commit f47dfbd
Show file tree
Hide file tree
Showing 95 changed files with 1,775 additions and 1,583 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# CHANGELOG

## 3.8.0

- Prevent processing location updates too close to the last known location
- Fix race condition where geo triggers and region sessions were sent multiple times
- Limit the amount of location points and ranged beacons in geo sessions

## 3.7.1

- Fix map loading conditionals leading to no camera updates
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Release process

1. Update the `maven_artifact_version` in `variables.gradle`.
1. Update the `maven-artifactVersion` in `gradle/libs.versions.toml`.
2. Update the `NOTIFICARE_VERSION` in `notificare/src/main/java/re/notifica/internal/Version.kt`.
3. Update the `CHANGELOG.md`.
4. Push the changes to the repo.
Expand Down
65 changes: 0 additions & 65 deletions build.gradle

This file was deleted.

56 changes: 56 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
import org.jetbrains.kotlin.konan.properties.loadProperties

plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.android.library) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.notificare.services) apply false
alias(libs.plugins.google.services) apply false
alias(libs.plugins.huawei.agconnect) apply false
}

subprojects {
if (this.name != "sample") {

apply(plugin = "com.android.library")
apply(plugin = "kotlin-android")
apply(plugin = "kotlin-kapt")
apply(plugin = "kotlin-parcelize")
apply(plugin = "maven-publish")

group = rootProject.libs.versions.maven.artifactGroup.get()
version = rootProject.libs.versions.maven.artifactVersion.get()

val properties = loadProperties("local.properties")
val awsS3AccessKeyId = System.getenv("AWS_ACCESS_KEY_ID") ?: properties.getProperty("aws.s3.access_key_id")
val awsS3SecretAccessKey = System.getenv("AWS_SECRET_ACCESS_KEY") ?: properties.getProperty("aws.s3.secret_access_key")

val artifactChannel =
if (Regex("/^([0-9]+)\\.([0-9]+)\\.([0-9]+)\$/").matches(version.toString())) "releases" else "prereleases"

afterEvaluate {
configure<PublishingExtension> {
publications {
register("release", MavenPublication::class) {
from(components["release"])
}
}
repositories {
maven {
name = "S3"
url = uri("s3://maven.notifica.re/$artifactChannel")
credentials(AwsCredentials::class) {
accessKey = awsS3AccessKeyId
secretKey = awsS3SecretAccessKey
}
}
}
}
}
}
}

tasks.register("clean", Delete::class) {
delete(rootProject.layout.buildDirectory)
}
105 changes: 105 additions & 0 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
[versions]
maven-artifactGroup = "re.notifica"
maven-artifactVersion = "3.8.0"
android-compileSdk = "34"
android-buildTools = "34.0.0"
android-minSdk = "23"
android-targetSdk = "34"
android-tools = "8.2.1"
kotlin = "1.9.10"
kotlinx-coroutines = "1.7.3"
androidx-activity = "1.8.2"
androidx-appCompat = "1.6.1"
androidx-browser = "1.7.0"
androidx-cardView = "1.0.0"
androidx-contraintLayout = "2.1.4"
androidx-datastore = "1.0.0"
androidx-core = "1.12.0"
androidx-exifInterface = "1.3.7"
androidx-fragment = "1.6.2"
androidx-lifecycle = "2.6.2"
androidx-room = "2.6.1"
androidx-navigation = "2.7.6"
androidx-viewPager = "1.0.0"
androidx-work = "2.9.0"
google-material = "1.11.0"
moshi = "1.15.0"
okhttp = "4.12.0"
glide = "4.16.0"
altbeacon = "2.20.3"
google-services = "4.4.0"
google-firebase = "32.7.0"
google-androidBillingClient = "5.2.1"
google-playServices-base = "18.2.0"
google-playServices-location = "21.0.1"
google-playServices-maps = "18.2.0"
google-playServices-vision = "20.1.3"
huawei-agconnect = "1.9.1.301"
huawei-base = "6.12.0.300"
huawei-location = "6.12.0.300"
huawei-push = "6.11.0.300"
huawei-maps = "6.11.2.301"
huawei-scan = "2.12.0.301"
timber = "5.0.1"
notificare-services = "1.0.1"

[libraries]
kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
kotlinx-coroutines-playServices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" }
androidx-activity = { module = "androidx.activity:activity-ktx", version.ref = "androidx-activity" }
androidx-appCompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appCompat" }
androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" }
androidx-cardView = { module = "androidx.cardview:cardview", version.ref = "androidx-cardView" }
androidx-constraintLayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-contraintLayout" }
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "androidx-datastore" }
androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-exifInterace = { module = "androidx.exifinterface:exifinterface", version.ref = "androidx-exifInterface" }
androidx-fragment = { module = "androidx.fragment:fragment-ktx", version.ref = "androidx-fragment" }
androidx-lifecycle-livedata = { module = "androidx.lifecycle:lifecycle-livedata-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewModel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle"}
androidx-viewPager = { module = "androidx.viewpager2:viewpager2", version.ref = "androidx-viewPager" }
androidx-room = { module = "androidx.room:room-ktx", version.ref = "androidx-room" }
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "androidx-room" }
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "androidx-room" }
androidx-navigation-fragment = { module = "androidx.navigation:navigation-fragment-ktx", version.ref = "androidx-navigation" }
androidx-navigation-ui = { module = "androidx.navigation:navigation-ui-ktx", version.ref = "androidx-navigation" }
androidx-work-runtime = { module = "androidx.work:work-runtime-ktx", version.ref = "androidx-work" }
google-material = { module = "com.google.android.material:material", version.ref = "google-material" }
moshi = { module = "com.squareup.moshi:moshi", version.ref = "moshi" }
moshi-kotlin = { module = "com.squareup.moshi:moshi-kotlin", version.ref = "moshi" }
moshi-adapters = { module = "com.squareup.moshi:moshi-adapters", version.ref = "moshi" }
moshi-codegen = { module = "com.squareup.moshi:moshi-kotlin-codegen", version.ref = "moshi" }
okhttp = { module = "com.squareup.okhttp3:okhttp", version.ref = "okhttp" }
okhttp-loggingInterceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okhttp" }
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }
glide-compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glide" }
altbeacon = { module = "org.altbeacon:android-beacon-library", version.ref = "altbeacon"}
google-firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "google-firebase" }
google-firebase-messaging = { module = "com.google.firebase:firebase-messaging-ktx" }
google-androidBillingClient = { module = "com.android.billingclient:billing-ktx", version.ref = "google-androidBillingClient" }
google-playServices-base = { module = "com.google.android.gms:play-services-base", version.ref = "google-playServices-base" }
google-playServices-location = { module = "com.google.android.gms:play-services-location", version.ref = "google-playServices-location"}
google-playServices-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "google-playServices-maps" }
google-playServices-vision = { module = "com.google.android.gms:play-services-vision", version.ref = "google-playServices-vision" }
huawei-base = { module = "com.huawei.hms:base", version.ref = "huawei-base" }
huawei-location = { module = "com.huawei.hms:location", version.ref = "huawei-location"}
huawei-push = { module = "com.huawei.hms:push", version.ref = "huawei-push" }
huawei-maps = { module = "com.huawei.hms:maps", version.ref = "huawei-maps" }
huawei-scan = { module = "com.huawei.hms:scan", version.ref = "huawei-scan" }
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }

[plugins]
android-application = { id = "com.android.application", version.ref = "android-tools" }
android-library = { id = "com.android.library", version.ref = "android-tools" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
notificare-services = { id = "re.notifica.gradle.notificare-services", version.ref = "notificare-services" }
google-services = { id = "com.google.gms.google-services", version.ref = "google-services" }
huawei-agconnect = { id = "com.huawei.agconnect", version.ref = "huawei-agconnect"}

[bundles]
androidx-lifecycle = ["androidx-lifecycle-livedata", "androidx-lifecycle-process"]
androidx-room = ["androidx-room", "androidx-room-runtime"]
moshi = ["moshi", "moshi-adapters"]
okhttp = ["okhttp", "okhttp-loggingInterceptor"]
54 changes: 0 additions & 54 deletions notificare-assets/build.gradle

This file was deleted.

53 changes: 53 additions & 0 deletions notificare-assets/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
android {
namespace = "re.notifica.assets"
compileSdk = libs.versions.android.compileSdk.get().toInt()
buildToolsVersion = libs.versions.android.buildTools.get()

defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
targetSdk = libs.versions.android.targetSdk.get().toInt()
}

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"
freeCompilerArgs += listOf(
"-Xexplicit-api=strict",
"-opt-in=re.notifica.InternalNotificareApi",
)
}

publishing {
singleVariant("release") {
withSourcesJar()
}
}
}

dependencies {
implementation(libs.kotlinx.coroutines)

// Notificare
implementation(project(":notificare"))

// Android
implementation(libs.androidx.core)

// OkHttp
implementation(libs.okhttp)

// Moshi
implementation(libs.bundles.moshi)
kapt(libs.moshi.codegen)
}
2 changes: 1 addition & 1 deletion notificare-assets/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit f47dfbd

Please sign in to comment.