Skip to content

Commit

Permalink
Update setup & dependencies (#36)
Browse files Browse the repository at this point in the history
  • Loading branch information
marcantoinefortier authored Oct 20, 2023
1 parent 4f37f9d commit 00eefb5
Show file tree
Hide file tree
Showing 15 changed files with 146 additions and 39 deletions.
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
java openjdk-17
ruby 2.7.5
ruby 3.2.2
5 changes: 3 additions & 2 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
source 'https://rubygems.org'

gem 'cocoapods', '~> 1.12', '>= 1.12.1'
gem 'cocoapods-generate', '~> 2.2', '>= 2.2.4'
gem 'cocoapods', '~> 1.13'
gem 'cocoapods-generate', '~> 2.2'
gem 'activesupport', '7.0.8' # Temporary workaround to fix cocoapods plugin crashing with v7.1.1
25 changes: 13 additions & 12 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,22 @@ GEM
specs:
CFPropertyList (3.0.6)
rexml
activesupport (7.0.5)
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.4)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.1.0)
cocoapods (1.12.1)
cocoapods (1.13.0)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.12.1)
cocoapods-core (= 1.13.0)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
Expand All @@ -32,8 +32,8 @@ GEM
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.12.1)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.13.0)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
Expand All @@ -60,27 +60,27 @@ GEM
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.15.5)
ffi (1.16.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
json (2.6.3)
minitest (5.18.1)
minitest (5.20.0)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (4.0.7)
rexml (3.2.5)
rexml (3.2.6)
ruby-macho (2.5.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.22.0)
xcodeproj (1.23.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
Expand All @@ -92,8 +92,9 @@ PLATFORMS
ruby

DEPENDENCIES
cocoapods (~> 1.12, >= 1.12.1)
cocoapods-generate (~> 2.2, >= 2.2.4)
activesupport (= 7.0.8)
cocoapods (~> 1.13)
cocoapods-generate (~> 2.2)

BUNDLED WITH
2.4.8
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,17 +53,22 @@ This boilerplate comes with batteries included, you’ll find:

### Building the project

Make sure you have [Bundler](https://rubygems.org/gems/bundler) installed (`gem install bundler`)

#### Android

1. Open the root folder using [Android Studio](https://developer.android.com/studio)
2. Run the app on your device or simulator 🚀
1. Install shared code specific gems at the root of the project (`bundle install`)
2. Open the root folder using [Android Studio](https://developer.android.com/studio)
3. Sync Gradle dependencies
4. Build and run the app on your device or simulator 🚀

#### iOS

1. Open the [workspace](./ios/iosApp.xcworkspace) using [Xcode](https://developer.apple.com/xcode/)
1. Install iOS specific gems in the `/ios` folder (`cd ios && bundle install`)
2. Open the [workspace](./ios/iosApp.xcworkspace) using [Xcode](https://developer.apple.com/xcode/)
or [AppCode](https://www.jetbrains.com/objc/)
2. Specify your Development Team under the `Signing and Capabilities` tab of the `iosApp` target
3. Run the app on your device or simulator 🚀
3. Specify your Development Team under the `Signing and Capabilities` tab of the `iosApp` target
4. Build and run the app on your device or simulator 🚀

## Preferred libraries

Expand Down
8 changes: 4 additions & 4 deletions androidApp/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ plugins {
alias(libs.plugins.kotlin.android)
}

kotlin {
jvmToolchain(17)
}

android {
namespace = "com.mirego.kmp.boilerplate"
compileSdk = 34
Expand Down Expand Up @@ -37,10 +41,6 @@ android {
composeOptions {
kotlinCompilerExtensionVersion = libs.versions.androidComposeCompiler.get()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
packaging {
// Do not include coroutines debug infrastructure in the resulting APK
// See https://github.com/Kotlin/kotlinx.coroutines#avoiding-including-the-debug-infrastructure-in-the-resulting-apk
Expand Down
8 changes: 4 additions & 4 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[versions]
androidComposeCompiler = "1.5.3"
androidGradlePlugin = "8.1.1"
androidxActivityCompose = "1.7.2"
androidGradlePlugin = "8.1.2"
androidxActivityCompose = "1.8.0"
androidxAppcompat = "1.6.1"
androidxComposeBom = "2023.08.00"
androidxComposeBom = "2023.10.01"
kotlin = "1.9.10"
kotlinxCoroutines = "1.7.3"
kotlinxSerialization = "1.6.0"
ktlint = "11.5.1"
ktlint = "11.6.1"

[libraries]
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivityCompose" }
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#Thu Aug 31 10:40:08 EDT 2023
#Thu Oct 12 13:41:45 EDT 2023
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
Expand Down
1 change: 1 addition & 0 deletions ios/.tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby 3.2.2
3 changes: 3 additions & 0 deletions ios/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source 'https://rubygems.org'

gem 'cocoapods', '~> 1.13'
95 changes: 95 additions & 0 deletions ios/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
rexml
activesupport (7.0.8)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.1.0)
cocoapods (1.13.0)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.13.0)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.13.0)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
cocoapods-trunk (1.6.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.2)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.16.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
json (2.6.3)
minitest (5.20.0)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (4.0.7)
rexml (3.2.6)
ruby-macho (2.5.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.23.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)

PLATFORMS
arm64-darwin-23

DEPENDENCIES
cocoapods (~> 1.13)

BUNDLED WITH
2.4.20
4 changes: 2 additions & 2 deletions ios/Podfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
target 'iosApp' do
use_frameworks!
platform :ios, '14.1'
platform :ios, '15.0'
pod 'Shared', :path => '../shared'

pod 'SwiftLint'
Expand All @@ -9,7 +9,7 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings.delete 'IPHONEOS_DEPLOYMENT_TARGET'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = 15.0
end
end
end
6 changes: 3 additions & 3 deletions ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ EXTERNAL SOURCES:
:path: "../shared"

SPEC CHECKSUMS:
Shared: f2c19c0b5f6abd7ec3aa3f109d4fce5885de176b
Shared: 9cee99d7ec6f327294a149403bec06a18fc5db29
SwiftLint: 1cc5cd61ba9bacb2194e340aeb47a2a37fda00b3

PODFILE CHECKSUM: 60e72440e01d6f912f30472ba0860fb676c0fcd5
PODFILE CHECKSUM: 83ebf5d7b61ce65029f18160027c7392430ee27f

COCOAPODS: 1.12.1
COCOAPODS: 1.13.0
4 changes: 2 additions & 2 deletions ios/iosApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
Expand Down Expand Up @@ -353,7 +353,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
Expand Down
2 changes: 1 addition & 1 deletion shared/Shared.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Pod::Spec.new do |spec|
spec.summary = 'Project summary'
spec.vendored_frameworks = 'build/cocoapods/framework/Shared.framework'
spec.libraries = 'c++'
spec.ios.deployment_target = '14.1'


spec.pod_target_xcconfig = {
Expand Down
5 changes: 3 additions & 2 deletions shared/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@file:Suppress("UNUSED_VARIABLE")

plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.native.cocoapods)
Expand All @@ -10,6 +12,7 @@ version = "0.1"

kotlin {
jvmToolchain(17)

androidTarget {
publishAllLibraryVariants()
}
Expand All @@ -21,8 +24,6 @@ kotlin {
homepage = "https://github.com/mirego/your-project"
name = "Shared"

ios.deploymentTarget = "14.1"

podfile = project.file("../ios/Podfile")

framework {
Expand Down

0 comments on commit 00eefb5

Please sign in to comment.