Skip to content

Commit 15a8980

Browse files
committed
Merging dev into master
2 parents 79c1c11 + 5d240d4 commit 15a8980

File tree

66 files changed

+1652
-460
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1652
-460
lines changed

.circleci/config.yml

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
orbs:
2+
codecov: codecov/codecov@4.1.0
3+
14
aliases:
25
# Docker image tags can be found here: https://circleci.com/developer/images/image/cimg/android
3-
- &cimg cimg/android:2023.11.1-node
6+
- &cimg cimg/android:2024.04.1-node
47
# Most used according to https://gs.statcounter.com/android-version-market-share/mobile-tablet/worldwide
5-
- &default-api-level 33
8+
- &default-api-level 34
69

710
- &gradle-cache-key
811
gradle-cache-v2-{{ checksum "build.gradle.kts" }}-{{
@@ -67,7 +70,7 @@ executors:
6770
docker:
6871
- image: *cimg
6972
environment:
70-
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false'
73+
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false -Dkotlin.compiler.execution.strategy=in-process'
7174

7275
jobs:
7376
pr-danger:
@@ -168,6 +171,10 @@ jobs:
168171
exit 1
169172
fi
170173
when: always
174+
- run:
175+
name: Convert Code Coverage
176+
command: ./gradlew libs:<< parameters.lib >>:convertCodeCoverage
177+
when: always
171178
- when:
172179
condition: << parameters.pr >>
173180
steps:
@@ -188,6 +195,10 @@ jobs:
188195
when: always
189196
environment:
190197
CURRENT_LIB: << parameters.lib >>
198+
- codecov/upload:
199+
file: libs/<< parameters.lib >>/build/reports/jacoco/convertedCodeCoverage/convertedCodeCoverage.xml
200+
flags: << parameters.lib >>
201+
validate: false
191202
- store_artifacts:
192203
path: firebase/
193204
- store_artifacts:

.codecov.yml

+70
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Validate changes to this class with: curl -X POST --data-binary @.codecov.yml https://codecov.io/validate
2+
3+
codecov:
4+
branch: dev
5+
6+
coverage:
7+
precision: 2
8+
round: down
9+
range: "35...85"
10+
11+
status:
12+
project:
13+
default: false # disable the default status that measures entire project
14+
SalesforceAnalytics:
15+
target: auto
16+
paths:
17+
- "libs/SalesforceAnalytics/src/"
18+
flags:
19+
- SalesforceAnalytics
20+
SalesforceSDK:
21+
target: auto
22+
paths:
23+
- "libs/SalesforceSDK/src/"
24+
flags:
25+
- SalesforceSDK
26+
SalesforceHybrid:
27+
target: auto
28+
paths:
29+
- "libs/SalesforceHybrid/src/"
30+
flags:
31+
- SalesforceHybrid
32+
SmartStore:
33+
target: auto
34+
paths:
35+
- "libs/SmartStore/src/"
36+
flags:
37+
- SmartStore
38+
MobileSync:
39+
target: auto
40+
paths:
41+
- "libs/MobileSync/src/"
42+
flags:
43+
- MobileSync
44+
SalesforceReact:
45+
target: auto
46+
paths:
47+
- "libs/SalesforceReact/src/"
48+
flags:
49+
- SalesforceReact
50+
RestExplorer:
51+
target: auto
52+
paths:
53+
- "native/NativeSampleApps/RestExplorer/src/"
54+
flags:
55+
- RestExplorer
56+
57+
ignore:
58+
- "hybrid"
59+
- "native"
60+
- "test"
61+
- "libs/**/src/com/salesforce/androidsdk/**/util/test"
62+
63+
flag_management:
64+
default_rules: # the rules that will be followed for any flag added, generally
65+
carryforward: true
66+
67+
comment:
68+
layout: "diff, flags, files"
69+
behavior: default
70+
require_changes: true

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ This pulls submodule dependencies from github.
2323
Introduction
2424
==
2525

26-
### What's New in 12.0.1
26+
### What's New in 12.1.0
2727
See [release notes](https://github.com/forcedotcom/SalesforceMobileSDK-Android/releases).
2828

2929
### Native Applications

build.gradle.kts

+4-3
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@ buildscript {
99
}
1010

1111
dependencies {
12-
classpath("com.android.tools.build:gradle:8.2.0")
12+
classpath("com.android.tools.build:gradle:8.5.0")
1313
classpath("io.github.gradle-nexus:publish-plugin:1.1.0")
14-
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20")
14+
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24")
15+
classpath("org.jacoco:org.jacoco.core:0.8.12")
1516
}
1617
}
1718

1819
allprojects {
1920
group = "com.salesforce.mobilesdk"
20-
version = "12.0.1"
21+
version = "12.1.0"
2122

2223
// Ensure that we do not use newer language features that would make the SDK incompatible with
2324
// apps that do not target the latest version of Kotlin.

buildSrc/build.gradle.kts

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repositories {
77
}
88

99
dependencies {
10-
implementation("com.android.tools.build:gradle:8.2.0")
11-
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20")
12-
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.21")
10+
implementation("com.android.tools.build:gradle:8.5.0")
11+
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.24")
12+
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.24")
1313
}

external/cordova/cordova.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
under the License.
2020
*/
2121
;(function() {
22-
var PLATFORM_VERSION_BUILD_LABEL = '11.0.0';
22+
var PLATFORM_VERSION_BUILD_LABEL = '13.0.0';
2323
// file: src/scripts/require.js
2424
var require;
2525
var define;

external/shared

Submodule shared updated 34 files

gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

hybrid/HybridSampleApps/AccountEditor/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77

88
dependencies {
99
api(project(":libs:SalesforceHybrid"))
10-
implementation("androidx.core:core-ktx:1.12.0")
10+
implementation("androidx.core:core-ktx:1.13.1")
1111
}
1212

1313
android {

hybrid/HybridSampleApps/MobileSyncExplorerHybrid/build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ plugins {
77

88
dependencies {
99
api(project(":libs:SalesforceHybrid"))
10-
implementation("androidx.core:core-ktx:1.12.0")
10+
implementation("androidx.core:core-ktx:1.13.1")
1111
}
1212

1313
android {

libs/MobileSync/AndroidManifest.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
4-
android:versionCode="84"
5-
android:versionName="12.0.1">
4+
android:versionCode="85"
5+
android:versionName="12.1.0.dev">
66

77
<application />
88

libs/MobileSync/build.gradle.kts

+27-7
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
@file:Suppress("UnstableApiUsage")
22

33
rootProject.ext["PUBLISH_GROUP_ID"] = "com.salesforce.mobilesdk"
4-
rootProject.ext["PUBLISH_VERSION"] = "12.0.1"
4+
rootProject.ext["PUBLISH_VERSION"] = "12.1.0"
55
rootProject.ext["PUBLISH_ARTIFACT_ID"] = "MobileSync"
66

77
plugins {
88
`android-library`
99
`kotlin-android`
1010
`publish-module`
11+
jacoco
1112
}
1213

1314
dependencies {
1415
api(project(":libs:SmartStore"))
15-
api("androidx.appcompat:appcompat:1.6.1")
16-
api("androidx.appcompat:appcompat-resources:1.6.1")
17-
implementation("androidx.core:core-ktx:1.12.0")
18-
androidTestImplementation("androidx.test:runner:1.5.2")
19-
androidTestImplementation("androidx.test:rules:1.5.0")
20-
androidTestImplementation("androidx.test.ext:junit:1.1.5")
16+
api("androidx.appcompat:appcompat:1.7.0")
17+
api("androidx.appcompat:appcompat-resources:1.7.0")
18+
implementation("androidx.core:core-ktx:1.13.1")
19+
androidTestImplementation("androidx.test:runner:1.6.0")
20+
androidTestImplementation("androidx.test:rules:1.6.0")
21+
androidTestImplementation("androidx.test.ext:junit:1.2.0")
2122
}
2223

2324
android {
@@ -76,6 +77,25 @@ android {
7677
aidl = true
7778
buildConfig = true
7879
}
80+
81+
val convertCodeCoverage: TaskProvider<JacocoReport> = tasks.register<JacocoReport>("convertedCodeCoverage") {
82+
group = "Coverage"
83+
description = "Convert coverage.ec from Firebase Test Lab to XML that is usable by CodeCov."
84+
}
85+
86+
convertCodeCoverage {
87+
reports {
88+
xml.required = true
89+
html.required = true
90+
}
91+
92+
sourceDirectories.setFrom("${project.projectDir}/src/main/java")
93+
val fileFilter = arrayListOf("**/R.class", "**/R\$*.class", "**/BuildConfig.*", "**/Manifest*.*", "**/*Test*.*", "android/**/*.*")
94+
val javaTree = fileTree("${project.projectDir}/build/intermediates/javac/debug") { setExcludes(fileFilter) }
95+
val kotlinTree = fileTree("${project.projectDir}/build/tmp/kotlin-classes/debug") { setExcludes(fileFilter) }
96+
classDirectories.setFrom(javaTree, kotlinTree)
97+
executionData.setFrom(fileTree("$rootDir/firebase/artifacts/sdcard") { setIncludes(arrayListOf("*.ec")) })
98+
}
7999
}
80100

81101
kotlin {

libs/SalesforceAnalytics/AndroidManifest.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
4-
android:versionCode="84"
5-
android:versionName="12.0.1">
4+
android:versionCode="85"
5+
android:versionName="12.1.0.dev">
66

77
<uses-permission android:name="android.permission.INTERNET" />
88
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

libs/SalesforceAnalytics/build.gradle.kts

+26-6
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
@file:Suppress("UnstableApiUsage")
22

33
rootProject.ext["PUBLISH_GROUP_ID"] = "com.salesforce.mobilesdk"
4-
rootProject.ext["PUBLISH_VERSION"] = "12.0.1"
4+
rootProject.ext["PUBLISH_VERSION"] = "12.1.0"
55
rootProject.ext["PUBLISH_ARTIFACT_ID"] = "SalesforceAnalytics"
66

77
plugins {
88
`android-library`
99
`kotlin-android`
1010
`publish-module`
11+
jacoco
1112
}
1213

1314
dependencies {
1415
api("com.squareup:tape:1.2.3")
1516
api("io.github.pilgr:paperdb:2.7.2")
16-
implementation("androidx.core:core-ktx:1.12.0")
17-
androidTestImplementation("androidx.test:runner:1.5.2")
18-
androidTestImplementation("androidx.test:rules:1.5.0")
19-
androidTestImplementation("androidx.test.ext:junit:1.1.5")
17+
implementation("androidx.core:core-ktx:1.13.1")
18+
androidTestImplementation("androidx.test:runner:1.6.0")
19+
androidTestImplementation("androidx.test:rules:1.6.0")
20+
androidTestImplementation("androidx.test.ext:junit:1.2.0")
2021
}
2122

2223
android {
@@ -75,4 +76,23 @@ android {
7576
aidl = true
7677
buildConfig = true
7778
}
78-
}
79+
80+
val convertCodeCoverage: TaskProvider<JacocoReport> = tasks.register<JacocoReport>("convertedCodeCoverage") {
81+
group = "Coverage"
82+
description = "Convert coverage.ec from Firebase Test Lab to XML that is usable by CodeCov."
83+
}
84+
85+
convertCodeCoverage {
86+
reports {
87+
xml.required = true
88+
html.required = true
89+
}
90+
91+
sourceDirectories.setFrom("${project.projectDir}/src/main/java")
92+
val fileFilter = arrayListOf("**/R.class", "**/R\$*.class", "**/BuildConfig.*", "**/Manifest*.*", "**/*Test*.*", "android/**/*.*")
93+
val javaTree = fileTree("${project.projectDir}/build/intermediates/javac/debug") { setExcludes(fileFilter) }
94+
val kotlinTree = fileTree("${project.projectDir}/build/tmp/kotlin-classes/debug") { setExcludes(fileFilter) }
95+
classDirectories.setFrom(javaTree, kotlinTree)
96+
executionData.setFrom(fileTree("$rootDir/firebase/artifacts/sdcard") { setIncludes(arrayListOf("*.ec")) })
97+
}
98+
}

libs/SalesforceHybrid/AndroidManifest.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
4-
android:versionCode="84"
5-
android:versionName="12.0.1">
4+
android:versionCode="85"
5+
android:versionName="12.1.0.dev">
66

77
<application>
88
<activity android:name="com.salesforce.androidsdk.phonegap.ui.SalesforceDroidGapActivity"

0 commit comments

Comments
 (0)