| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- /* build.gradle.kts/Open GoPro, Version 2.0 (C) Copyright 2021 GoPro, Inc. (http://gopro.com/OpenGoPro). */
- /* This copyright was auto-generated on Tue Feb 18 18:41:27 UTC 2025 */
- import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
- import org.jetbrains.kotlin.gradle.dsl.JvmTarget
- plugins {
- alias(libs.plugins.kotlinMultiplatform)
- alias(libs.plugins.androidApplication)
- alias(libs.plugins.jetbrainsCompose)
- alias(libs.plugins.compose.compiler)
- alias(libs.plugins.license)
- alias(libs.plugins.format)
- }
- kotlin {
- androidTarget {
- @OptIn(ExperimentalKotlinGradlePluginApi::class)
- compilerOptions { jvmTarget.set(JvmTarget.JVM_17) }
- }
- // jvm("desktop")
- listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach { iosTarget ->
- iosTarget.binaries.framework {
- baseName = "ComposeApp"
- isStatic = true
- }
- }
- sourceSets {
- // val desktopMain by getting
- val androidUnitTest by getting
- commonMain.dependencies {
- implementation(projects.wsdk)
- // UI
- implementation(compose.runtime)
- implementation(compose.foundation)
- implementation(compose.material3)
- implementation(compose.ui)
- implementation(compose.components.resources)
- implementation(compose.components.uiToolingPreview)
- implementation(libs.androidx.lifecycle.viewmodel)
- implementation(libs.androidx.lifecycle.runtime.compose)
- // DI
- api(libs.koin.core)
- implementation(libs.koin.compose)
- implementation(libs.koin.compose.viewmodel)
- // Logging
- implementation(libs.kermit)
- // Navigation
- implementation(libs.navigation.compose)
- // Datastore
- implementation(libs.datastore)
- implementation(libs.datastore.preferences)
- // Coil
- implementation(libs.coil.compose.core)
- implementation(libs.coil.compose)
- implementation(libs.coil.mp)
- implementation(libs.coil.network.ktor)
- }
- // desktopMain.dependencies {
- // implementation(compose.desktop.currentOs)
- // implementation(libs.kotlinx.coroutines.swing)
- // }
- androidMain.dependencies {
- implementation(libs.androidx.activity.compose)
- // DI
- implementation(libs.koin.android)
- implementation(libs.koin.androidx.compose)
- // VLC
- implementation(libs.libvlc.all)
- // Exoplayer
- implementation(libs.exoplayer.base)
- implementation(libs.exoplayer.ui)
- implementation(libs.exoplayer.rtsp)
- }
- androidUnitTest.dependencies {
- implementation(libs.junit)
- implementation(libs.koin.test)
- }
- }
- }
- android {
- namespace = "gopro.open_gopro"
- compileSdk = libs.versions.android.compileSdk.get().toInt()
- sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
- sourceSets["main"].res.srcDirs("src/androidMain/res")
- sourceSets["main"].resources.srcDirs("src/commonMain/resources")
- defaultConfig {
- applicationId = "gopro.open_gopro.compose_app"
- minSdk = libs.versions.android.minSdk.get().toInt()
- targetSdk = libs.versions.android.targetSdk.get().toInt()
- versionCode = 1
- versionName = "1.0"
- }
- packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } }
- buildTypes { getByName("release") { isMinifyEnabled = false } }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
- buildFeatures { compose = true }
- dependencies {
- debugImplementation(compose.uiTooling)
- debugImplementation(compose.preview)
- debugImplementation(libs.ui.tooling.preview)
- }
- }
- // compose.desktop {
- // application {
- // mainClass = "gopro.open_gopro.MainKt"
- //
- // nativeDistributions {
- // targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
- // packageName = "gopro.open_gopro"
- // packageVersion = "1.0.0"
- // }
- // }
- // }
- licenseReport {
- // Generate reports
- generateCsvReport = true
- generateHtmlReport = true
- generateJsonReport = false
- generateTextReport = true
- // Copy reports - These options are ignored for Java projects
- copyCsvReportToAssets = false
- copyHtmlReportToAssets = false
- copyJsonReportToAssets = false
- copyTextReportToAssets = false
- useVariantSpecificAssetDirs = false
- // Ignore licenses for certain artifact patterns
- // ignoredPatterns = []
- // Show versions in the report - default is false
- showVersions = true
- }
|