diff --git a/experimental/market/core/build.gradle.kts b/experimental/market/core/build.gradle.kts new file mode 100644 index 000000000..f8fc2b73b --- /dev/null +++ b/experimental/market/core/build.gradle.kts @@ -0,0 +1,122 @@ +import com.vanniktech.maven.publish.SonatypeHost +import org.jetbrains.dokka.gradle.DokkaTask + +plugins { + kotlin("multiplatform") + kotlin("plugin.serialization") + id("com.android.library") + id("com.vanniktech.maven.publish") + id("org.jetbrains.dokka") + id("org.jetbrains.kotlinx.kover") + id("co.touchlab.faktory.kmmbridge") + `maven-publish` + kotlin("native.cocoapods") + id("kotlinx-atomicfu") +} + +kotlin { + android() + jvm() + iosArm64() + iosX64() + linuxX64() + iosSimulatorArm64() + js { + browser() + nodejs() + } + cocoapods { + summary = "Market/core" + homepage = "https://github.com/MobileNativeFoundation/Store" + ios.deploymentTarget = "13" + version = libs.versions.store.get() + } + + sourceSets { + val commonMain by getting { + dependencies { + implementation(libs.kotlin.stdlib) + implementation(libs.kotlinx.coroutines.core) + } + } + + val androidMain by getting + val commonTest by getting { + dependencies { + implementation(kotlin("test")) + implementation(libs.turbine) + implementation(libs.kotlinx.coroutines.test) + } + } + } + + jvmToolchain(11) +} + +android { + namespace = "org.mobilenativefoundation.market.core" + + sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + compileSdk = 33 + + defaultConfig { + minSdk = 24 + targetSdk = 33 + } + + lint { + disable += "ComposableModifierFactory" + disable += "ModifierFactoryExtensionFunction" + disable += "ModifierFactoryReturnType" + disable += "ModifierFactoryUnreferencedReceiver" + } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_11 + targetCompatibility = JavaVersion.VERSION_11 + } +} + +tasks.withType().configureEach { + dokkaSourceSets.configureEach { + reportUndocumented.set(false) + skipDeprecated.set(true) + jdkVersion.set(11) + } +} + +mavenPublishing { + publishToMavenCentral(SonatypeHost.S01) + signAllPublications() +} + +addGithubPackagesRepository() +kmmbridge { + githubReleaseArtifacts() + githubReleaseVersions() + versionPrefix.set(libs.versions.market.get()) + spm() +} + +koverMerged { + enable() + + xmlReport { + onCheck.set(true) + reportFile.set(layout.projectDirectory.file("kover/coverage.xml")) + } + + htmlReport { + onCheck.set(true) + reportDir.set(layout.projectDirectory.dir("kover/html")) + } + + verify { + onCheck.set(true) + } +} + +atomicfu { + transformJvm = false + transformJs = false +} diff --git a/experimental/market/core/gradle.properties b/experimental/market/core/gradle.properties new file mode 100644 index 000000000..75852bdb3 --- /dev/null +++ b/experimental/market/core/gradle.properties @@ -0,0 +1,3 @@ +POM_NAME=org.mobilenativefoundation.store +POM_ARTIFACT_ID=paging5 +POM_PACKAGING=jar \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7516546c6..04653ee09 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,6 +22,7 @@ kmmBridge = "0.3.2" ktlint = "0.39.0" kover = "0.6.0" store = "5.1.0-alpha02" +market = "0.0.1-alpha01" truth = "1.1.3" [libraries] diff --git a/settings.gradle b/settings.gradle index b8969413e..500c4d564 100644 --- a/settings.gradle +++ b/settings.gradle @@ -8,3 +8,4 @@ include ':multicast' include ':rx2' include ':paging' include ':core' +include ':experimental:market:core'