Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
# Conflicts:
#	flywheel/xcframework/Flywheel.xcframework/Info.plist
#	flywheel/xcframework/Flywheel.xcframework/ios-arm64/flywheel.framework/flywheel
#	flywheel/xcframework/Flywheel.xcframework/ios-x86_64-simulator/flywheel.framework/flywheel
#	flywheel/xcframework/Flywheel.xcframework/macos-x86_64/flywheel.framework/Versions/A/flywheel
#	flywheel/xcframework/Flywheel.xcframework/tvos-arm64/flywheel.framework/flywheel
#	flywheel/xcframework/Flywheel.xcframework/tvos-x86_64-simulator/flywheel.framework/flywheel
#	flywheel/xcframework/Flywheel.xcframework/watchos-arm64_32/flywheel.framework/flywheel
#	flywheel/xcframework/Flywheel.xcframework/watchos-x86_64-simulator/flywheel.framework/flywheel
  • Loading branch information
abhimuktheeswarar committed Nov 27, 2022
2 parents 4db61ab + f5a0509 commit 7691042
Show file tree
Hide file tree
Showing 69 changed files with 2,256 additions and 1,730 deletions.
19 changes: 4 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Maven Central](https://img.shields.io/maven-central/v/com.msabhi/flywheel?style=flat)](https://search.maven.org/search?q=com.msabhi.flywheel)
[![GitHub License](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](http://www.apache.org/licenses/LICENSE-2.0)
[![Kotlin](https://img.shields.io/badge/kotlin-1.5.21-blue.svg?logo=kotlin)](http://kotlinlang.org)
[![Kotlin](https://img.shields.io/badge/kotlin-1.7.20-blue.svg?logo=kotlin)](http://kotlinlang.org)
![badge-android](https://img.shields.io/badge/platform-android-3DDC84.svg?style=flat)
![badge-jvm](https://img.shields.io/badge/platform-jvm-red.svg?style=flat)
![badge-apple](https://img.shields.io/badge/platform-iOS%20%7C%20macOS%20%7C%20tvOS%20%7C%20watchOS-lightgrey?style=flat)
Expand All @@ -29,7 +29,7 @@ kotlin {
sourceSets {
val commonMain by getting {
dependencies {
implementation("com.msabhi:flywheel:1.1.4-RC")
implementation("com.msabhi:flywheel:1.1.5-RC")
}
}
}
Expand All @@ -41,7 +41,7 @@ kotlin {
```Kotlin
dependencies {

implementation("com.msabhi:flywheel-android:1.1.4-RC")
implementation("com.msabhi:flywheel-android:1.1.5-RC")
}
```

Expand All @@ -50,17 +50,6 @@ dependencies {
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fabhimuktheeswarar%2FFlywheel%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/abhimuktheeswarar/Flywheel)
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fabhimuktheeswarar%2FFlywheel%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/abhimuktheeswarar/Flywheel)

You can use CocoaPods to install Flywheel by adding it to your `Podfile`:
```
use_frameworks!
target 'MyApp' do
pod 'Flywheel', '~> 1.1.4-RC'
end
```

You can use the [Swift Package Manager](https://swift.org/package-manager) to install `Flywheel` by adding the proper description to your `Package.swift` file:

```swift
Expand All @@ -70,7 +59,7 @@ import PackageDescription
let package = Package(
name: "YOUR_PROJECT_NAME",
dependencies: [
.package(url: "https://github.com/abhimuktheeswarar/Flywheel.git", from: "1.1.4-RC"),
.package(url: "https://github.com/abhimuktheeswarar/Flywheel.git", from: "1.1.5-RC"),
]
)
```
Expand Down
6 changes: 3 additions & 3 deletions androidApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ version = VERSION_NAME

android {

compileSdkVersion(Versions.Android.compileSdk)
compileSdk = Versions.Android.compileSdk
buildToolsVersion = Versions.Android.buildTools

defaultConfig {

minSdkVersion(Versions.Android.minSdk)
targetSdkVersion(Versions.Android.targetSdk)
minSdk = Versions.Android.minSdk
targetSdk = Versions.Android.targetSdk

applicationId = "com.msabhi.androidApp"
versionCode = 1
Expand Down
12 changes: 9 additions & 3 deletions androidApp/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
<?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.msabhi.androidApp">

<application
android:allowBackup="false"
android:supportsRtl="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:theme="@style/Theme.Flywheel">
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="false"
android:supportsRtl="true"
android:theme="@style/Theme.Flywheel"
tools:targetApi="s">
<activity
android:name=".counter.ui.CounterActivity"
android:label="Counter" />
<activity android:name=".MainActivity">
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import androidx.lifecycle.ViewModelProvider
class BaseViewModelFactory<T>(val creator: () -> T) : ViewModelProvider.Factory {

@Suppress("UNCHECKED_CAST")
override fun <T : ViewModel?> create(modelClass: Class<T>): T {
override fun <T : ViewModel> create(modelClass: Class<T>): T {
return creator() as T
}
}
35 changes: 35 additions & 0 deletions androidApp/src/main/res/xml/data_extraction_rules.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?><!--
Sample data extraction rules file; uncomment and customize as necessary.
See https://developer.android.com/about/versions/12/backup-restore#xml-changes
for details.
-->
<data-extraction-rules>
<cloud-backup>
<!--
TODO: Use <include> and <exclude> to control what is backed up.
The domain can be file, database, sharedpref, external or root.
Examples:
<include domain="file" path="file_to_include"/>
<exclude domain="file" path="file_to_exclude"/>
<include domain="file" path="include_folder"/>
<exclude domain="file" path="include_folder/file_to_exclude"/>
<exclude domain="file" path="exclude_folder"/>
<include domain="file" path="exclude_folder/file_to_include"/>
<include domain="sharedpref" path="include_shared_pref1.xml"/>
<include domain="database" path="db_name/file_to_include"/>
<exclude domain="database" path="db_name/include_folder/file_to_exclude"/>
<include domain="external" path="file_to_include"/>
<exclude domain="external" path="file_to_exclude"/>
<include domain="root" path="file_to_include"/>
<exclude domain="root" path="file_to_exclude"/>
-->
</cloud-backup>
<!--
<device-transfer>
<include .../>
<exclude .../>
</device-transfer>
-->
</data-extraction-rules>
38 changes: 19 additions & 19 deletions buildSrc/src/main/kotlin/Dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,31 +16,31 @@

object Versions {

const val kotlin = "1.5.21"
const val coroutines = "1.5.1-native-mt"
const val dokka = "1.4.32"
const val kotlin = "1.7.20"
const val coroutines = "1.6.3-native-mt"
const val dokka = "1.7.10"

object Android {

const val compileSdk = 30
const val compileSdk = 33
const val minSdk = 21
const val targetSdk = 29
const val targetSdk = 33
const val buildTools = "30.0.3"
const val androidGradlePlugin = "7.0.3"
const val androidGradlePlugin = "7.3.1"

const val appCompat = "1.3.0"
const val core = "1.6.0"
const val activityKtx = "1.2.3"
const val fragmentKtx = "1.3.5"
const val constraintLayout = "2.0.4"
const val lifecycle = "2.3.1"
const val recyclerView = "1.2.0"
const val materialComponents = "1.4.0"
const val appCompat = "1.5.1"
const val core = "1.9.0"
const val activityKtx = "1.6.1"
const val fragmentKtx = "1.5.4"
const val constraintLayout = "2.1.4"
const val lifecycle = "2.5.1"
const val recyclerView = "1.2.1"
const val materialComponents = "1.7.0"

const val navigation = "2.3.5"
const val navigation = "2.5.3"

const val test = "1.3.0"
const val testExt = "1.1.3"
const val test = "1.5.0"
const val testExt = "1.1.4"
}

object Testing {
Expand Down Expand Up @@ -92,9 +92,9 @@ object Dependencies {
"com.google.android.material:material:${Versions.Android.materialComponents}"

const val navigationFragment =
"androidx.navigation:navigation-fragment-ktx${Versions.Android.navigation}"
"androidx.navigation:navigation-fragment-ktx:${Versions.Android.navigation}"
const val navigationUi =
"androidx.navigation:navigation-ui-ktx${Versions.Android.navigation}"
"androidx.navigation:navigation-ui-ktx:${Versions.Android.navigation}"
}

object AndroidTest {
Expand Down
109 changes: 71 additions & 38 deletions flywheel/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget

plugins {
kotlin("multiplatform")
kotlin("native.cocoapods")
id("com.android.library")
id("org.jetbrains.dokka") version Versions.dokka
id("maven-publish")
Expand All @@ -27,20 +26,28 @@ val POM_LICENCE_DIST: String by project
val POM_DEVELOPER_ID: String by project
val POM_DEVELOPER_NAME: String by project
val POM_DEVELOPER_EMAIL: String = gradleLocalProperties(
rootDir).getProperty("POM_DEVELOPER_EMAIL",
System.getenv("POM_DEVELOPER_EMAIL"))
rootDir
).getProperty(
"POM_DEVELOPER_EMAIL",
System.getenv("POM_DEVELOPER_EMAIL")
)

val SONATYPE_USERNAME: String = gradleLocalProperties(
rootDir).getProperty("SONATYPE_USERNAME",
System.getenv("SONATYPE_USERNAME"))
rootDir
).getProperty(
"SONATYPE_USERNAME",
System.getenv("SONATYPE_USERNAME")
)

val SONATYPE_PASSWORD: String = gradleLocalProperties(
rootDir).getProperty("SONATYPE_PASSWORD",
System.getenv("SONATYPE_PASSWORD"))
rootDir
).getProperty(
"SONATYPE_PASSWORD",
System.getenv("SONATYPE_PASSWORD")
)

group = GROUP
version = VERSION_NAME

kotlin {
jvm {
compilations.all {
Expand All @@ -58,10 +65,23 @@ kotlin {
browser()
nodejs()
}
ios()
watchos()
tvos()
macosX64()
linuxX64()
mingwX64()
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64(),
watchosX64(),
watchosArm64(),
macosX64(),
macosArm64(),
tvosX64(),
tvosArm64(),
).forEach {
it.binaries.framework {
baseName = "flywheel"
}
}
linuxX64()
mingwX64()
sourceSets {
Expand Down Expand Up @@ -112,22 +132,34 @@ kotlin {
val appleTest by creating {
dependsOn(commonTest)
}
val iosMain by getting {
val iosX64Main by getting
val iosArm64Main by getting
val iosSimulatorArm64Main by getting
val iosMain by creating {
dependsOn(appleMain)
iosX64Main.dependsOn(this)
iosArm64Main.dependsOn(this)
iosSimulatorArm64Main.dependsOn(this)
}
val iosTest by getting {
dependsOn(appleTest)
val iosX64Test by getting
val iosArm64Test by getting
val iosSimulatorArm64Test by getting
val iosTest by creating {
dependsOn(commonTest)
iosX64Test.dependsOn(this)
iosArm64Test.dependsOn(this)
iosSimulatorArm64Test.dependsOn(this)
}
val watchosMain by getting {
val watchosX64Main by getting {
dependsOn(appleMain)
}
val watchosTest by getting {
val watchosX64Test by getting {
dependsOn(appleTest)
}
val tvosMain by getting {
val watchosArm64Main by getting {
dependsOn(appleMain)
}
val tvosTest by getting {
val watchosArm64Test by getting {
dependsOn(appleTest)
}
val macosX64Main by getting {
Expand All @@ -136,6 +168,24 @@ kotlin {
val macosX64Test by getting {
dependsOn(appleTest)
}
val macosArm64Main by getting {
dependsOn(appleMain)
}
val macosArm64Test by getting {
dependsOn(appleTest)
}
val tvosX64Main by getting {
dependsOn(appleMain)
}
val tvosX64Test by getting {
dependsOn(appleTest)
}
val tvosArm64Main by getting {
dependsOn(appleMain)
}
val tvosArm64Test by getting {
dependsOn(appleTest)
}
val linuxX64Main by getting {
dependsOn(nativeMain)
}
Expand All @@ -162,24 +212,6 @@ android {

//----------------------------------------------------------------------------------

val packForXcode by tasks.creating(Sync::class) {
group = "build"
val mode = System.getenv("CONFIGURATION") ?: "DEBUG"
val sdkName = System.getenv("SDK_NAME") ?: "iphonesimulator"
val targetName = "ios" + if (sdkName.startsWith("iphoneos")) "Arm64" else "X64"
val framework =
kotlin.targets.getByName<KotlinNativeTarget>(targetName).binaries.getFramework(mode)
inputs.property("mode", mode)
dependsOn(framework.linkTask)
val targetDir = File(buildDir, "xcode-frameworks")
from({ framework.outputDirectory })
into(targetDir)
}

tasks.getByName("build").dependsOn(packForXcode)

//----------------------------------------------------------------------------------

val dokkaOutputDir = "$buildDir/docs"

tasks.dokkaHtml.configure {
Expand Down Expand Up @@ -278,7 +310,8 @@ val buildXcFramework by tasks.registering {
"watchosX64",
"tvosArm64",
"tvosX64",
"macosX64")
"macosX64"
)
.map { kotlin.targets.getByName<KotlinNativeTarget>(it).binaries.getFramework(mode) }
inputs.property("mode", mode)
dependsOn(frameworks.map { it.linkTask })
Expand Down
Loading

0 comments on commit 7691042

Please sign in to comment.