Skip to content

Commit

Permalink
Merge branch 'master' into feature/adding-kover-support
Browse files Browse the repository at this point in the history
# Conflicts:
#	build-logic/src/main/java/extensions/CommonExtensions.kt
#	build.gradle.kts
#	gradle/libs.versions.toml
  • Loading branch information
gabrielbmoro committed Jan 24, 2024
2 parents 3064934 + 9a74aab commit fb111de
Show file tree
Hide file tree
Showing 10 changed files with 60 additions and 16 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: set up JDK 11
- name: set up JDK 17
uses: actions/setup-java@v3
with:
java-version: '17'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
@file:Suppress("UnstableApiUsage")

import extensions.dokkaPlugin
import extensions.getLibrary
import extensions.setupAndroidDefaultConfig
import extensions.setupCompileOptions
import extensions.setupNameSpace
import extensions.setupPackingOptions

val libs: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")

plugins {
id("com.android.library")
id("kotlin-android")
id("kotlin-kapt")
id("kotlin-parcelize")
id("com.streamplayer.dokka")
}

android {
Expand All @@ -34,3 +39,7 @@ android {
}
}
}

dependencies {
dokkaPlugin(libs.getLibrary("dokka"))
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
@file:Suppress("UnstableApiUsage")

import extensions.dokkaPlugin
import extensions.getLibrary
import extensions.setupAndroidDefaultConfig
import extensions.setupCompileOptions
import extensions.setupCompose
import extensions.setupPackingOptions

val libs: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")

plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-kapt")
id("kotlin-parcelize")
id("com.streamplayer.dokka")
}
val catalog: VersionCatalog = extensions.getByType<VersionCatalogsExtension>().named("libs")

Expand All @@ -30,4 +35,8 @@ android {
versionName = Config.versionName
multiDexEnabled = true
}
}

dependencies {
dokkaPlugin(libs.getLibrary("dokka"))
}
5 changes: 5 additions & 0 deletions build-logic/src/main/java/com.streamplayer.dokka.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@file:Suppress("UnstableApiUsage")

allprojects {
apply(plugin = "org.jetbrains.dokka")
}
25 changes: 14 additions & 11 deletions build-logic/src/main/java/extensions/CommonExtensions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import org.gradle.api.artifacts.VersionCatalog
import org.gradle.api.plugins.ExtensionAware
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmOptions

internal fun CommonExtension<*, *, *, *>.setupPackingOptions() {
internal fun CommonExtension<*, *, *, *, *>.setupPackingOptions() {
packaging {
with(resources) {
resources {
with(pickFirsts) {
add("META-INF/library_release.kotlin_module")
add("META-INF/LICENSE.md")
Expand All @@ -26,7 +26,7 @@ internal fun CommonExtension<*, *, *, *>.setupPackingOptions() {
}
}

internal fun CommonExtension<*, *, *, *>.setupAndroidDefaultConfig() {
internal fun CommonExtension<*, *, *, *, *>.setupAndroidDefaultConfig() {
defaultConfig {
compileSdk = Config.compileSdkVersion
minSdk = Config.minSdkVersion
Expand All @@ -36,7 +36,7 @@ internal fun CommonExtension<*, *, *, *>.setupAndroidDefaultConfig() {
}
}

internal fun CommonExtension<*, *, *, *>.setupCompileOptions() {
internal fun CommonExtension<*, *, *, *, *>.setupCompileOptions() {
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
Expand All @@ -47,25 +47,28 @@ internal fun CommonExtension<*, *, *, *>.setupCompileOptions() {
}
}

fun CommonExtension<*, *, *, *>.setupCompose(catalog: VersionCatalog) {
fun CommonExtension<*, *, *, *, *>.setupCompose(catalog: VersionCatalog) {
buildFeatures {
compose = true
buildConfig = true
}

composeOptions {
kotlinCompilerExtensionVersion = "${catalog.getVersion("compose")}"
}

packaging {
resources.excludes.apply {
add("META-INF/AL2.0")
add("META-INF/LGPL2.1")
resources {
excludes.apply {
add("META-INF/AL2.0")
add("META-INF/LGPL2.1")
}
}
}
}


internal fun CommonExtension<*, *, *, *>.setupNameSpace(project: Project) {
internal fun CommonExtension<*, *, *, *, *>.setupNameSpace(project: Project) {
val moduleName = project.displayName
.removePrefix("project ")
.replace(":", ".")
Expand All @@ -75,6 +78,6 @@ internal fun CommonExtension<*, *, *, *>.setupNameSpace(project: Project) {
namespace = "${Config.applicationId}$moduleName"
}

private fun CommonExtension<*, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
private fun CommonExtension<*, *, *, *, *>.kotlinOptions(block: KotlinJvmOptions.() -> Unit) {
(this as ExtensionAware).extensions.configure("kotlinOptions", block)
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package extensions

import org.gradle.api.artifacts.Dependency
import org.gradle.api.artifacts.dsl.DependencyHandler

fun DependencyHandler.`dokkaPlugin`(dependencyNotation: Any): Dependency? =
add("dokkaPlugin", dependencyNotation)
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ plugins {
alias(libs.plugins.android.library) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.ksp) apply false
alias(libs.plugins.dokka) apply false
alias(libs.plugins.kover) apply false
}

Expand Down
5 changes: 4 additions & 1 deletion core-networking/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ plugins {
id("com.streamplayer.android-library")
}
android {
buildFeatures {
buildConfig = true
}
buildTypes {
debug {
buildConfigField("String", "HOST", Config.BuildField.host_debug)
Expand All @@ -21,4 +24,4 @@ dependencies {
implementation(libs.bundles.networking)
implementation(libs.bundles.koin)
testImplementation(libs.bundles.test)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import com.codandotv.streamplayerapp.feature_list_streams.detail.domain.toDetail
import com.codandotv.streamplayerapp.feature_list_streams.detail.domain.toDetailStreamLocal
import com.codandotv.streamplayerapp.feature_list_streams.detail.domain.toVideoStreams
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.flow.map

interface DetailStreamRepository {
Expand Down Expand Up @@ -38,6 +36,11 @@ class DetailStreamRepositoryImpl(

override suspend fun insertToMyList(movie: DetailStream) = favoriteDao.insert(movie.toDetailStreamLocal())

/**
* Verify if movieId was saved as favorite
* @param movieId
* @return Boolean
*/
override suspend fun isFavorite(movieId: String) : Boolean = favoriteDao.fetchAll().any { movie -> movie.id == movieId }

override suspend fun getVideoStreams(): Flow<List<VideoStream>> =
Expand Down
6 changes: 5 additions & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
[versions]
kotlin = "1.8.10"
android_gradle_plugin = "8.0.0"
android_gradle_plugin = "8.2.1"
koin = "3.4.0"
ksp = "1.8.10-1.0.9"
dokka = "1.9.10"
kover = "0.7.5"

#Test
Expand Down Expand Up @@ -125,6 +126,7 @@ roomCompiler = { group = "androidx.room", name= "room-compiler", version.ref = "
roomKtx = { group = "androidx.room", name = "room-ktx", version.ref = "room"}

android_youtube_player = { group = "com.pierfrancescosoffritti.androidyoutubeplayer", name = "core", version.ref = "android_youtube_player_version" }
dokka = { group = "org.jetbrains.dokka", name = "android-documentation-plugin", version.ref = "dokka" }

[bundles]
room = ["roomRuntime","roomKtx"]
Expand All @@ -144,4 +146,6 @@ kotlin_android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin_kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin_parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp"}
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka"}

kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }

0 comments on commit fb111de

Please sign in to comment.