Skip to content

Commit a3a47da

Browse files
committed
Merging dev into master
2 parents 44d4596 + 098472b commit a3a47da

File tree

192 files changed

+12458
-11824
lines changed

Some content is hidden

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

192 files changed

+12458
-11824
lines changed

.circleci/config.yml

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
aliases:
22
# Docker image tags can be found here: https://circleci.com/developer/images/image/cimg/android
3-
- &cimg cimg/android:2023.06.1-node
3+
- &cimg cimg/android:2023.08.1-node
44
# Most used according to https://gs.statcounter.com/android-version-market-share/mobile-tablet/worldwide
5-
- &default-api-level 30
5+
- &default-api-level 33
66

77
- &gradle-cache-key
8-
gradle-cache-v2-{{ checksum "build.gradle" }}-{{
8+
gradle-cache-v2-{{ checksum "build.gradle.kts" }}-{{
99
checksum "gradle/wrapper/gradle-wrapper.properties" }}-{{
10-
checksum "libs/SalesforceAnalytics/build.gradle" }}-{{
11-
checksum "libs/SalesforceSDK/build.gradle" }}-{{
12-
checksum "libs/SmartStore/build.gradle" }}-{{
13-
checksum "libs/MobileSync/build.gradle" }}-{{
14-
checksum "libs/SalesforceHybrid/build.gradle" }}-{{
15-
checksum "libs/SalesforceReact/build.gradle" }}
10+
checksum "libs/SalesforceAnalytics/build.gradle.kts" }}-{{
11+
checksum "libs/SalesforceSDK/build.gradle.kts" }}-{{
12+
checksum "libs/SmartStore/build.gradle.kts" }}-{{
13+
checksum "libs/MobileSync/build.gradle.kts" }}-{{
14+
checksum "libs/SalesforceHybrid/build.gradle.kts" }}-{{
15+
checksum "libs/SalesforceReact/build.gradle.kts" }}
1616

1717
- &restore-gradle-cache
1818
keys:
@@ -67,7 +67,7 @@ executors:
6767
docker:
6868
- image: *cimg
6969
environment:
70-
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"'
70+
GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError" -Dorg.gradle.daemon=false'
7171

7272
jobs:
7373
static-analysis:
@@ -90,7 +90,7 @@ jobs:
9090
echo $TEST_CREDENTIALS > ./shared/test/test_credentials.json
9191
- run:
9292
name: Run Android Lint
93-
command: ./gradlew lint
93+
command: ./gradlew lint
9494
when: always
9595
- run:
9696
name: Run Danger
@@ -114,7 +114,7 @@ jobs:
114114
parameters:
115115
lib:
116116
type: enum
117-
enum: ["SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact"]
117+
enum: [ "SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact" ]
118118
default: "SalesforceAnalytics"
119119
api_level:
120120
type: integer
@@ -146,7 +146,7 @@ jobs:
146146
fi
147147
- run:
148148
name: Build for Testing
149-
command: |
149+
command: |
150150
./gradlew libs:SalesforceAnalytics:assembleAndroidTest
151151
./gradlew libs:SalesforceSDK:assembleAndroidTest
152152
./gradlew libs:SmartStore:assembleAndroidTest
@@ -156,7 +156,7 @@ jobs:
156156
./gradlew native:NativeSampleApps:RestExplorer:assembleDebug
157157
- run:
158158
name: Authorize gcloud and set config defaults
159-
command: |
159+
command: |
160160
echo $GCLOUD_SERVICE_KEY | base64 --decode --ignore-garbage > ${HOME}/gcloud-service-key.json
161161
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
162162
gcloud --quiet config set project mobile-apps-firebase-test
@@ -233,12 +233,12 @@ jobs:
233233
- run: *setup-env
234234
- run:
235235
name: Build for Testing
236-
command: |
236+
command: |
237237
./gradlew native:NativeSampleApps:RestExplorer:assembleAndroidTest
238238
./gradlew native:NativeSampleApps:RestExplorer:assembleDebug
239239
- run:
240240
name: Authorize gcloud and set config defaults
241-
command: |
241+
command: |
242242
echo $GCLOUD_SERVICE_KEY | base64 --decode --ignore-garbage > ${HOME}/gcloud-service-key.json
243243
gcloud auth activate-service-account --key-file=${HOME}/gcloud-service-key.json
244244
gcloud --quiet config set project mobile-apps-firebase-test
@@ -293,7 +293,7 @@ jobs:
293293
- save_cache: *save-node-cache
294294
- run:
295295
name: Build Libraries
296-
command: |
296+
command: |
297297
./gradlew :libs:SalesforceAnalytics:assemble
298298
./gradlew :libs:SalesforceSDK:assemble
299299
./gradlew :libs:SmartStore:assemble
@@ -322,7 +322,7 @@ jobs:
322322
- run:
323323
name: Build Native Sample Apps
324324
when: always
325-
command: |
325+
command: |
326326
./gradlew :native:NativeSampleApps:AppConfigurator:assemble
327327
./gradlew :native:NativeSampleApps:ConfiguredApp:assemble
328328
./gradlew :native:NativeSampleApps:RestExplorer:assemble
@@ -342,16 +342,12 @@ jobs:
342342
- run:
343343
name: Build Hybrid Sample Apps
344344
when: always
345-
command: |
345+
command: |
346346
./gradlew :hybrid:HybridSampleApps:AccountEditor:assemble
347-
./gradlew :hybrid:HybridSampleApps:NoteSync:assemble
348347
./gradlew :hybrid:HybridSampleApps:MobileSyncExplorerHybrid:assemble
349348
- store_artifacts:
350349
path: hybrid/HybridSampleApps/AccountEditor/build/outputs/apk/
351350
destination: hybrid-apps
352-
- store_artifacts:
353-
path: hybrid/HybridSampleApps/NoteSync/build/outputs/apk/
354-
destination: hybrid-apps
355351
- store_artifacts:
356352
path: hybrid/HybridSampleApps/MobileSyncExplorerHybrid/build/outputs/apk/
357353
destination: hybrid-apps
@@ -363,7 +359,7 @@ parameters:
363359
type: integer
364360
default: *default-api-level
365361

366-
workflows:
362+
workflows:
367363
version: 2
368364

369365
pr-tests:
@@ -381,9 +377,9 @@ workflows:
381377
context: Android Unit Tests
382378
matrix:
383379
parameters:
384-
lib: ["SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact"]
385-
api_level: [<< pipeline.parameters.api-level >>]
386-
pr: [true]
380+
lib: [ "SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact" ]
381+
api_level: [ << pipeline.parameters.api-level >> ]
382+
pr: [ true ]
387383

388384
# GUI Driven "Triggers" Schedule
389385
# Monday 8 PM - API 24
@@ -398,20 +394,21 @@ workflows:
398394
# Saturday 12 AM - API 33
399395
nightly-tests:
400396
when:
401-
not:
397+
not:
402398
equal: [ "webhook", << pipeline.trigger_source >> ]
403399
jobs:
404400
- run-tests:
405401
name: << matrix.lib >> API << pipeline.parameters.api-level >>
406402
context: Android Unit Tests
407403
matrix:
408404
parameters:
409-
lib: ["SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact"]
410-
api_level: [<< pipeline.parameters.api-level >>]
405+
lib: [ "SalesforceAnalytics", "SalesforceSDK", "SmartStore", "MobileSync", "SalesforceHybrid", "SalesforceReact" ]
406+
api_level: [ << pipeline.parameters.api-level >> ]
411407
- test-rest-explorer:
412408
name: RestExplorer API << pipeline.parameters.api-level >>
413409
context: Android Unit Tests
414410
matrix:
415411
parameters:
416-
api_level: [<< pipeline.parameters.api-level >>]
417-
- generate-artifacts
412+
api_level: [ << pipeline.parameters.api-level >> ]
413+
- generate-artifacts
414+

.circleci/gitChangedLibs.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
prfiles = JSON.parse(pullfiles)
1717

1818
libsModified = Set.new
19+
1920
for prfile in prfiles
2021
path = prfile["filename"]
2122
for lib in libsTopoSorted

README.md

Lines changed: 1 addition & 1 deletion
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 11.0.1
26+
### What's New in 11.1.0
2727
See [release notes](https://github.com/forcedotcom/SalesforceMobileSDK-Android/releases).
2828

2929
### Native Applications

build.gradle

Lines changed: 0 additions & 45 deletions
This file was deleted.

build.gradle.kts

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
apply(plugin = "io.github.gradle-nexus.publish-plugin")
2+
apply(from = "${rootDir}/publish/publish-root.gradle")
3+
4+
buildscript {
5+
repositories {
6+
maven("https://plugins.gradle.org/m2/")
7+
google()
8+
mavenCentral()
9+
}
10+
11+
dependencies {
12+
classpath("com.android.tools.build:gradle:7.4.2")
13+
classpath("io.github.gradle-nexus:publish-plugin:1.1.0")
14+
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.21")
15+
}
16+
}
17+
18+
allprojects {
19+
group = "com.salesforce.mobilesdk"
20+
version = "11.1.0"
21+
22+
// Ensure that we do not use newer language features that would make the SDK incompatible with
23+
// apps that do not target the latest version of Kotlin.
24+
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile>().all {
25+
kotlinOptions {
26+
apiVersion = "1.6"
27+
languageVersion = "1.6"
28+
}
29+
}
30+
}

buildSrc/build.gradle.kts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
plugins { `kotlin-dsl` }
2+
3+
repositories {
4+
google()
5+
mavenCentral()
6+
gradlePluginPortal()
7+
}
8+
9+
dependencies {
10+
implementation("com.android.tools.build:gradle:7.4.2")
11+
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.21")
12+
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.8.22")
13+
}

buildSrc/settings.gradle.kts

Whitespace-only changes.
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
plugins {
2+
`android-library`
3+
`maven-publish`
4+
signing
5+
kotlin("android")
6+
}
7+
8+
if (rootProject.name == "SalesforceMobileSDK-Android") {
9+
android {
10+
publishing {
11+
singleVariant("release") {
12+
withSourcesJar()
13+
}
14+
}
15+
}
16+
17+
val sourcesJar by tasks.creating(Jar::class) {
18+
archiveClassifier.set("sources")
19+
from(android.sourceSets.getByName("main").java.srcDirs)
20+
}
21+
22+
artifacts {
23+
archives(sourcesJar)
24+
}
25+
26+
afterEvaluate {
27+
publishing {
28+
publications {
29+
create<MavenPublication>("release") {
30+
artifactId = rootProject.ext["PUBLISH_ARTIFACT_ID"] as? String
31+
groupId = rootProject.ext["PUBLISH_GROUP_ID"] as? String
32+
version = rootProject.ext["PUBLISH_VERSION"] as? String
33+
from(components["release"])
34+
artifact(sourcesJar)
35+
pom {
36+
name.set(rootProject.ext["PUBLISH_ARTIFACT_ID"] as? String)
37+
description.set("Official Salesforce Android SDK")
38+
url.set("https://github.com/forcedotcom/SalesforceMobileSDK-Android")
39+
licenses {
40+
license {
41+
name.set("The Apache Software License, Version 2.0")
42+
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
43+
}
44+
}
45+
developers {
46+
developer {
47+
id.set("bpage")
48+
name.set("Brandon Page")
49+
email.set("[email protected]")
50+
}
51+
developer {
52+
id.set("wmathurin")
53+
name.set("Wolfgang Mathurin")
54+
email.set("[email protected] ")
55+
}
56+
developer {
57+
id.set("brianna.birman")
58+
name.set("Brianna Birman")
59+
email.set("[email protected]")
60+
}
61+
developer {
62+
id.set("JohnsonEricAtSalesforce")
63+
name.set("Eric C. Johnson")
64+
email.set("[email protected]")
65+
}
66+
scm {
67+
connection.set("https://github.com/forcedotcom/SalesforceMobileSDK-Android.git")
68+
developerConnection.set("https://github.com/forcedotcom/SalesforceMobileSDK-Android.git")
69+
url.set("https://github.com/forcedotcom/SalesforceMobileSDK-Android")
70+
}
71+
}
72+
}
73+
}
74+
}
75+
76+
signing {
77+
useInMemoryPgpKeys(
78+
rootProject.ext["signing.keyId"] as? String,
79+
rootProject.ext["signing.key"] as? String,
80+
rootProject.ext["signing.password"] as? String
81+
)
82+
sign(publishing.publications)
83+
}
84+
}
85+
}
86+
}

external/shared

Submodule shared updated 53 files

gradle.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
11
cdvCompileSdkVersion=33
22
cdvMinSdkVersion=24
33
android.useAndroidX=true
4+
android.defaults.buildfeatures.buildconfig=true
5+
android.nonTransitiveRClass=true
6+
android.nonFinalResIds=false
7+
org.gradle.jvmargs=-Xmx4096M -Dkotlin.daemon.jvm.options\="-Xmx4096M"
8+
org.gradle.daemon=false

0 commit comments

Comments
 (0)