AGP 7.0.1, Ffmpeg submodule and fixes

This commit is contained in:
shabinder 2021-08-27 00:48:12 +05:30
parent 487a27c4d3
commit e218458d57
13 changed files with 75 additions and 36 deletions

9
.gitmodules vendored
View File

@ -1,9 +1,6 @@
[submodule "spotiflyer-ios"] [submodule "spotiflyer-ios"]
path = spotiflyer-ios path = spotiflyer-ios
url = https://github.com/Shabinder/spotiflyer-ios url = https://github.com/Shabinder/spotiflyer-ios
[submodule "mosaic"] [submodule "ffmpeg-android-maker"]
path = mosaic path = ffmpeg-android-maker
url = https://github.com/JakeWharton/mosaic url = https://github.com/Shabinder/ffmpeg-android-maker
[submodule "ffmpeg-kit"]
path = ffmpeg-kit
url = https://github.com/tanersener/ffmpeg-kit

View File

@ -31,9 +31,6 @@ version = Versions.versionName
repositories { repositories {
google() google()
mavenCentral() mavenCentral()
// Remove jcenter as soon as following issue closes
// https://github.com/matomo-org/matomo-sdk-android/issues/301
jcenter()
} }
android { android {
@ -50,13 +47,13 @@ android {
} }
} }
compileSdkVersion(Versions.compileSdkVersion) compileSdk = Versions.compileSdkVersion
buildToolsVersion = "30.0.3" buildToolsVersion = "30.0.3"
defaultConfig { defaultConfig {
applicationId = "com.shabinder.spotiflyer" applicationId = "com.shabinder.spotiflyer"
minSdkVersion(Versions.minSdkVersion) minSdk = Versions.minSdkVersion
targetSdkVersion(Versions.targetSdkVersion) targetSdk = Versions.targetSdkVersion
versionCode = Versions.versionCode versionCode = Versions.versionCode
versionName = Versions.versionName versionName = Versions.versionName
} }
@ -90,7 +87,9 @@ android {
} }
} }
packagingOptions { packagingOptions {
exclude("META-INF/*") resources.excludes.apply {
add("META-INF/*")
}
} }
} }
dependencies { dependencies {

View File

@ -27,9 +27,14 @@ allprojects {
// mavenLocal() // mavenLocal()
maven(url = "https://jitpack.io") maven(url = "https://jitpack.io")
maven(url = "https://maven.pkg.jetbrains.space/public/p/compose/dev") maven(url = "https://maven.pkg.jetbrains.space/public/p/compose/dev")
maven(url = "https://dl.bintray.com/kotlin/kotlin-js-wrappers")
maven(url = "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven") maven(url = "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven")
} }
/*Fixes: Could not resolve org.nodejs:node*/
plugins.withType<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin> {
configure<org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension> {
download = false
}
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach { tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().configureEach {
dependsOn(":common:data-models:generateI18n4kFiles") dependsOn(":common:data-models:generateI18n4kFiles")
kotlinOptions { jvmTarget = "1.8" } kotlinOptions { jvmTarget = "1.8" }

View File

@ -16,11 +16,17 @@
@file:Suppress("MayBeConstant", "SpellCheckingInspection") @file:Suppress("MayBeConstant", "SpellCheckingInspection")
import org.gradle.api.Action
import org.gradle.api.artifacts.ExternalModuleDependency
import org.gradle.api.artifacts.dsl.DependencyHandler
import org.gradle.kotlin.dsl.accessors.runtime.addDependencyTo
object Versions { object Versions {
// App's Version (To be bumped at each update) // App's Version (To be bumped at each update)
const val versionName = "3.2.11" const val versionName = "3.2.11"
const val versionCode = 23 const val versionCode = 23
// Kotlin // Kotlin
const val kotlinVersion = "1.5.21" const val kotlinVersion = "1.5.21"
@ -64,15 +70,23 @@ object Versions {
object HostOS { object HostOS {
// Host OS Properties // Host OS Properties
private val hostOs = System.getProperty("os.name") private val hostOs = System.getProperty("os.name")
val isMingwX64 = hostOs.startsWith("Windows",true) val isMingwX64 = hostOs.startsWith("Windows", true)
val isMac = hostOs.startsWith("Mac",true) val isMac = hostOs.startsWith("Mac", true)
val isLinux = hostOs.startsWith("Linux",true) val isLinux = hostOs.startsWith("Linux", true)
} }
object MultiPlatformSettings { object MultiPlatformSettings {
const val dep = "com.russhwolf:multiplatform-settings-no-arg:0.7.7" const val dep = "com.russhwolf:multiplatform-settings-no-arg:0.7.7"
} }
object KotlinJSWrappers {
private const val bomVersion = "0.0.1-pre.235-kotlin-1.5.21"
val bom = "org.jetbrains.kotlin-wrappers:kotlin-wrappers-bom:${bomVersion}"
const val kotlinReact = "org.jetbrains.kotlin-wrappers:kotlin-react"
const val kotlinReactDom = "org.jetbrains.kotlin-wrappers:kotlin-react-dom"
const val kotlinStyled = "org.jetbrains.kotlin-wrappers:kotlin-styled"
}
object Koin { object Koin {
val core = "io.insert-koin:koin-core:${Versions.koin}" val core = "io.insert-koin:koin-core:${Versions.koin}"
val test = "io.insert-koin:koin-test:${Versions.koin}" val test = "io.insert-koin:koin-test:${Versions.koin}"
@ -89,7 +103,7 @@ object Androidx {
const val junit = "androidx.test.ext:junit:1.1.2" const val junit = "androidx.test.ext:junit:1.1.2"
const val expresso = "androidx.test.espresso:espresso-core:3.3.0" const val expresso = "androidx.test.espresso:espresso-core:3.3.0"
const val gradlePlugin = "com.android.tools.build:gradle:4.1.1" const val gradlePlugin = "com.android.tools.build:gradle:7.0.1"
} }
object KTLint { object KTLint {
@ -103,7 +117,8 @@ object JetBrains {
const val serialization = "org.jetbrains.kotlin:kotlin-serialization:${Versions.kotlinVersion}" const val serialization = "org.jetbrains.kotlin:kotlin-serialization:${Versions.kotlinVersion}"
const val testCommon = "org.jetbrains.kotlin:kotlin-test-common:${Versions.kotlinVersion}" const val testCommon = "org.jetbrains.kotlin:kotlin-test-common:${Versions.kotlinVersion}"
const val testJunit = "org.jetbrains.kotlin:kotlin-test-junit:${Versions.kotlinVersion}" const val testJunit = "org.jetbrains.kotlin:kotlin-test-junit:${Versions.kotlinVersion}"
const val testAnnotationsCommon = "org.jetbrains.kotlin:kotlin-test-annotations-common:${Versions.kotlinVersion}" const val testAnnotationsCommon =
"org.jetbrains.kotlin:kotlin-test-annotations-common:${Versions.kotlinVersion}"
} }
object Compose { object Compose {
@ -112,6 +127,7 @@ object JetBrains {
const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION" const val gradlePlugin = "org.jetbrains.compose:compose-gradle-plugin:$VERSION"
} }
} }
object Mosaic { object Mosaic {
const val gradlePlugin = "com.jakewharton.mosaic:mosaic-gradle-plugin:${Versions.mosaic}" const val gradlePlugin = "com.jakewharton.mosaic:mosaic-gradle-plugin:${Versions.mosaic}"
} }
@ -165,11 +181,13 @@ object Extras {
const val mp3agic = "com.mpatric:mp3agic:0.9.0" const val mp3agic = "com.mpatric:mp3agic:0.9.0"
const val jaudioTagger = "com.github.Shabinder:JAudioTagger-Android:1.0" const val jaudioTagger = "com.github.Shabinder:JAudioTagger-Android:1.0"
const val kermit = "co.touchlab:kermit:${Versions.kermit}" const val kermit = "co.touchlab:kermit:${Versions.kermit}"
object Android { object Android {
// Self Hosted Analytics & Crashlytics (FOSS) // Self Hosted Analytics & Crashlytics (FOSS)
val countly = "ly.count.android:sdk:20.11.8" val countly = "ly.count.android:sdk:20.11.8"
val appUpdator = "com.github.amitbd1508:AppUpdater:4.1.0" val appUpdator = "com.github.amitbd1508:AppUpdater:4.1.0"
} }
object Desktop { object Desktop {
val countly = "ly.count.sdk:java:20.11.0" val countly = "ly.count.sdk:java:20.11.0"
} }
@ -190,3 +208,10 @@ object SqlDelight {
val nativeDriverMacos = "com.squareup.sqldelight:native-driver-macosx64:${Versions.sqlDelight}" val nativeDriverMacos = "com.squareup.sqldelight:native-driver-macosx64:${Versions.sqlDelight}"
val jdbcDriver = "org.xerial:sqlite-jdbc:${Versions.sqliteJdbcDriver}" val jdbcDriver = "org.xerial:sqlite-jdbc:${Versions.sqliteJdbcDriver}"
} }
fun DependencyHandler.`implementation`(
dependencyNotation: String,
dependencyConfiguration: ExternalModuleDependency.() -> Unit
): ExternalModuleDependency = addDependencyTo(
this, "implementation", dependencyNotation
) { dependencyConfiguration() }

View File

@ -22,11 +22,11 @@ plugins {
} }
android { android {
compileSdkVersion(Versions.compileSdkVersion) compileSdk = Versions.compileSdkVersion
defaultConfig { defaultConfig {
minSdkVersion(Versions.minSdkVersion) minSdk = Versions.minSdkVersion
targetSdkVersion(Versions.targetSdkVersion) targetSdk = Versions.targetSdkVersion
} }
compileOptions { compileOptions {

View File

@ -38,7 +38,11 @@ kotlin {
android() android()
js(BOTH) { js(BOTH) {
browser() browser {
commonWebpackConfig {
cssSupport.enabled = true
}
}
// nodejs() // nodejs()
} }
@ -102,9 +106,13 @@ kotlin {
named("jsMain") { named("jsMain") {
dependencies { dependencies {
implementation(Ktor.clientJs) implementation(Ktor.clientJs)
implementation("org.jetbrains.kotlin-wrappers:kotlin-react:17.0.2-pre.213-kotlin-1.5.10")
implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:17.0.2-pre.213-kotlin-1.5.10") /*with(KotlinJSWrappers) {
implementation("org.jetbrains.kotlin-wrappers:kotlin-styled:5.3.0-pre.213-kotlin-1.5.10") implementation(enforcedPlatform(bom))
implementation(kotlinReact)
implementation(kotlinReactDom)
implementation(kotlinStyled)
}*/
} }
} }
if(HostOS.isMac){ if(HostOS.isMac){

View File

@ -43,7 +43,6 @@ class AndroidMediaConverter : MediaConverter() {
else -> throw SpotiFlyerException.MP3ConversionFailed("FFmpeg Conversion Failed for $inputFilePath") else -> throw SpotiFlyerException.MP3ConversionFailed("FFmpeg Conversion Failed for $inputFilePath")
} }
} }
} }
internal actual fun mediaConverterModule() = module { internal actual fun mediaConverterModule() = module {

1
ffmpeg-android-maker Submodule

@ -0,0 +1 @@
Subproject commit be40713aab45168d90f0ac117e454c17d38563b1

@ -1 +0,0 @@
Subproject commit 33c8cbe27b8c99cedf795b54d7b76a28a2809df8

View File

@ -22,7 +22,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx3072m org.gradle.jvmargs=-Xmx2048m
# When configured, Gradle will run in incubating parallel mode. # When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit # This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects

View File

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionSha256Sum=7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205 #distributionSha256Sum=7faa7198769f872826c8ef4f1450f839ec27f0b4d5d1e51bade63667cbccd205
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

View File

@ -27,7 +27,6 @@ include(
":common:providers", ":common:providers",
":common:core-components", ":common:core-components",
":common:dependency-injection", ":common:dependency-injection",
":ffmpeg-kit:android:ffmpeg-kit-android-lib",
":android", ":android",
":desktop", ":desktop",
":web-app", ":web-app",

View File

@ -23,7 +23,7 @@ version = "0.1"
repositories { repositories {
mavenCentral() mavenCentral()
maven(url = "https://dl.bintray.com/kotlin/kotlin-js-wrappers") //maven(url = "https://dl.bintray.com/kotlin/kotlin-js-wrappers")
} }
dependencies { dependencies {
@ -46,17 +46,24 @@ dependencies {
implementation("co.touchlab:stately-common:1.1.7") implementation("co.touchlab:stately-common:1.1.7")
implementation("dev.icerock.moko:parcelize:${Versions.mokoParcelize}") implementation("dev.icerock.moko:parcelize:${Versions.mokoParcelize}")
// implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.1") // implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.1")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2") { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.2.2") {
// https://youtrack.jetbrains.com/issue/KTOR-2670 // https://youtrack.jetbrains.com/issue/KTOR-2670
@Suppress("DEPRECATION")
isForce = true isForce = true
} }
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1-native-mt") { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.1-native-mt") {
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
isForce = true isForce = true
} }
implementation("org.jetbrains.kotlin-wrappers:kotlin-react:17.0.2-pre.213-kotlin-1.5.10")
implementation("org.jetbrains.kotlin-wrappers:kotlin-react-dom:17.0.2-pre.213-kotlin-1.5.10") with(KotlinJSWrappers) {
implementation("org.jetbrains.kotlin-wrappers:kotlin-styled:5.3.0-pre.213-kotlin-1.5.10") implementation(enforcedPlatform(bom))
implementation(kotlinReact)
implementation(kotlinReactDom)
implementation(kotlinStyled)
}
} }
kotlin { kotlin {