Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Project to support version catalog with Gradle 8 #6

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 0 additions & 29 deletions actionChooser/build.gradle

This file was deleted.

39 changes: 39 additions & 0 deletions actionChooser/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.android.kotlin)
}

android {
namespace = "codes.mina_mikhail.action_chooser"
compileSdk = 34

defaultConfig {
minSdk = 21
}

buildTypes {
release {
isMinifyEnabled = true
proguardFiles (getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}

buildFeatures {
viewBinding = true
}

}

dependencies {
implementation(libs.lifecycle)
implementation(libs.materialDesign)
}
2 changes: 1 addition & 1 deletion actionChooser/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
6 changes: 1 addition & 5 deletions actionChooser/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="codes.mina_mikhail.action_chooser">

<application />

</manifest>
<manifest/>
72 changes: 36 additions & 36 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,36 +1,38 @@
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties

plugins {
id(Config.Plugins.androidApplication)
id(Config.Plugins.kotlinAndroid)
id(Config.Plugins.kotlinKapt)
id(Config.Plugins.navigationSafeArgs)
id(Config.Plugins.hilt)
alias(libs.plugins.android.application)
alias(libs.plugins.android.kotlin)
alias(libs.plugins.kotlin.ksp)
alias(libs.plugins.navigation.safeargs)
alias(libs.plugins.dagger.hilt.android)
alias(libs.plugins.googleServices)
}

android {
compileSdk = Config.AppConfig.compileSdkVersion
namespace = "com.mina_mikhail.base_mvvm"
compileSdk = 34

defaultConfig {
applicationId = Config.AppConfig.appId
minSdk = Config.AppConfig.minSdkVersion
targetSdk = Config.AppConfig.compileSdkVersion
versionCode = Config.AppConfig.versionCode
versionName = Config.AppConfig.versionName
applicationId = "com.mina_mikhail.base_mvvm"
minSdk = 21
targetSdk = 34
versionCode = 1
versionName = "1.0"

vectorDrawables.useSupportLibrary = true
multiDexEnabled = true
testInstrumentationRunner = Config.AppConfig.testRunner
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
getByName("debug") {
resValue("string", "google_api_key", gradleLocalProperties(rootDir).getProperty("GOOGLE_API_KEY"))
debug{
// resValue("string", "google_api_key", gradleLocalProperties(rootDir).getProperty("GOOGLE_API_KEY"))
manifestPlaceholders["appName"] = "@string/app_name_debug"
manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher_debug"
manifestPlaceholders["appRoundIcon"] = "@mipmap/ic_launcher_debug_round"

buildConfigField("String", "API_BASE_URL", Config.Environments.debugBaseUrl)
buildConfigField("String", "API_BASE_URL", "http://url.to.server/api/")
}

signingConfigs {
Expand All @@ -42,56 +44,54 @@ android {
}
}

getByName("release") {
release{
signingConfig = signingConfigs.getByName("releaseConfig")

isMinifyEnabled = true
isShrinkResources = true

resValue("string", "google_api_key", gradleLocalProperties(rootDir).getProperty("GOOGLE_API_KEY"))
// resValue("string", "google_api_key", gradleLocalProperties(rootDir).getProperty("GOOGLE_API_KEY"))
manifestPlaceholders["appName"] = "@string/app_name"
manifestPlaceholders["appIcon"] = "@mipmap/ic_launcher"
manifestPlaceholders["appRoundIcon"] = "@mipmap/ic_launcher_round"

buildConfigField("String", "API_BASE_URL", Config.Environments.releaseBaseUrl)
buildConfigField("String", "API_BASE_URL", "http://url.to.server/api/")
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = "11"
jvmTarget = JavaVersion.VERSION_17.toString()
}

dataBinding {
isEnabled = true
buildFeatures {
buildConfig = true
dataBinding = true
}
}

dependencies {
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))

// Networking
implementation(Libraries.retrofit)
implementation(Libraries.retrofitConverter)
implementation(Libraries.gson)
implementation(Libraries.interceptor)
implementation(Libraries.chuckLogging)
implementation(libs.bundles.networking)

// Utils
implementation(Libraries.playServices)
implementation(Libraries.localization)
implementation(Libraries.multidex)

implementation(libs.playServices)
implementation(libs.localization)
implementation(libs.multidex)

// Hilt
implementation(Libraries.hilt)
kapt(Libraries.hiltDaggerCompiler)
implementation(libs.hilt)
ksp(libs.hiltDaggerCompiler)

// Project Modules
implementation(project(Config.Modules.domain))
implementation(project(Config.Modules.data))
implementation(project(Config.Modules.presentation))
implementation(projects.domain)
implementation(projects.data)
implementation(projects.presentation)
}
3 changes: 1 addition & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.mina_mikhail.base_mvvm">
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
Expand Down
32 changes: 0 additions & 32 deletions app/src/main/java/com/mina_mikhail/base_mvvm/core/MyApplication.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,8 @@ package com.mina_mikhail.base_mvvm.core

import android.content.Context
import androidx.multidex.MultiDex
import com.google.android.gms.common.GooglePlayServicesNotAvailableException
import com.google.android.gms.common.GooglePlayServicesRepairableException
import com.google.android.gms.security.ProviderInstaller
import com.zeugmasolutions.localehelper.LocaleAwareApplication
import dagger.hilt.android.HiltAndroidApp
import java.security.KeyManagementException
import java.security.NoSuchAlgorithmException
import javax.net.ssl.SSLContext

@HiltAndroidApp
class MyApplication : LocaleAwareApplication() {
Expand All @@ -20,30 +14,4 @@ class MyApplication : LocaleAwareApplication() {

MultiDex.install(this)
}

override
fun onCreate() {
super.onCreate()

updateAndroidSecurityProvider()
}

private fun updateAndroidSecurityProvider() {
// To fix the following issue, when run app in cellular data, Apis not working
// javax.net.ssl.SSLHandshakeException: SSL handshake aborted: ssl=0x7edfc49e08: I/O error during system call, Connection reset by peer
try {
ProviderInstaller.installIfNeeded(applicationContext)
val sslContext: SSLContext = SSLContext.getInstance("TLSv1.2")
sslContext.init(null, null, null)
sslContext.createSSLEngine()
} catch (e: GooglePlayServicesRepairableException) {
e.printStackTrace()
} catch (e: GooglePlayServicesNotAvailableException) {
e.printStackTrace()
} catch (e: NoSuchAlgorithmException) {
e.printStackTrace()
} catch (e: KeyManagementException) {
e.printStackTrace()
}
}
}
30 changes: 0 additions & 30 deletions appTutorial/build.gradle

This file was deleted.

42 changes: 42 additions & 0 deletions appTutorial/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.android.kotlin)
alias(libs.plugins.kotlin.ksp)
}

android {
namespace = "codes.mina_mikhail.tutorial"
compileSdk = 34

defaultConfig {
minSdk = 21
}

buildTypes {
release {
isMinifyEnabled = true
proguardFiles (getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
}

compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}


buildFeatures {
viewBinding = true
}
}

dependencies {
implementation(libs.lifecycle)
implementation(libs.materialDesign)
implementation(libs.coroutinesCore)
implementation(libs.coroutinesAndroid)
}
2 changes: 1 addition & 1 deletion appTutorial/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
6 changes: 1 addition & 5 deletions appTutorial/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="codes.mina_mikhail.app_tutorial">

<application />

</manifest>
<manifest/>
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import androidx.lifecycle.OnLifecycleEvent
import androidx.lifecycle.coroutineScope
import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import codes.mina_mikhail.tutorial.R
import kotlinx.coroutines.delay

class AppTutorialHelper private constructor(builder: Builder) : LifecycleObserver {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import codes.mina_mikhail.app_tutorial.TutorialAdapter.ImagesSliderViewHolder
import codes.mina_mikhail.app_tutorial.databinding.ItemTutorialBinding
import codes.mina_mikhail.tutorial.R
import codes.mina_mikhail.tutorial.databinding.ItemTutorialBinding

internal class TutorialAdapter(
private var titleColor: Int,
Expand Down
Loading