Skip to content

Commit cc1c447

Browse files
authored
feat!: update plugin to capacitor 7 (#744)
* feat!: update plugin to capacitor 7 * chore: update node and npm * chore: run fmt * fix(android): update jvmTarget * chore: fix ios verify script * chore: fmt readme * chore: update github workflows * docs: update code in readme
1 parent e1c78ba commit cc1c447

20 files changed

+1620
-1922
lines changed

.github/workflows/main.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,47 +16,47 @@ on:
1616
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
1717
jobs:
1818
lint:
19-
runs-on: macos-13
19+
runs-on: macos-15
2020
steps:
2121
- uses: actions/checkout@v3
22-
- uses: actions/setup-node@v3
22+
- uses: actions/setup-node@v4
2323
with:
24-
node-version: 18.x
24+
node-version: 20.x
2525
- run: npm ci
2626
- run: npm run lint
2727

2828
verify-web:
29-
runs-on: ubuntu-22.04
29+
runs-on: ubuntu-24.04
3030
steps:
3131
- uses: actions/checkout@v3
32-
- uses: actions/setup-node@v3
32+
- uses: actions/setup-node@v4
3333
with:
34-
node-version: 18.x
34+
node-version: 20.x
3535
- run: npm ci
3636
- run: npm run verify:web
3737

3838
verify-android:
39-
runs-on: ubuntu-22.04
39+
runs-on: ubuntu-24.04
4040
steps:
4141
- uses: actions/checkout@v3
42-
- uses: actions/setup-node@v3
42+
- uses: actions/setup-node@v4
4343
with:
44-
node-version: 18.x
45-
- uses: actions/setup-java@v3
44+
node-version: 20.x
45+
- uses: actions/setup-java@v4
4646
with:
47-
java-version: '17'
47+
java-version: '21'
4848
distribution: 'zulu'
4949
- run: npm ci
5050
- run: npm run verify:android
5151

5252
verify-ios:
53-
runs-on: macos-13
53+
runs-on: macos-15
5454
steps:
55-
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-13-Readme.md#xcode
56-
- run: sudo xcode-select --switch /Applications/Xcode_15.2.app
55+
# https://github.com/actions/virtual-environments/blob/main/images/macos/macos-15-Readme.md#xcode
56+
- run: sudo xcode-select --switch /Applications/Xcode_16.app
5757
- uses: actions/checkout@v3
58-
- uses: actions/setup-node@v3
58+
- uses: actions/setup-node@v4
5959
with:
60-
node-version: 18.x
60+
node-version: 20.x
6161
- run: npm ci
6262
- run: npm run verify:ios

.prettierignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1 @@
1-
build
2-
dist
31
coverage/

CapacitorCommunityBluetoothLe.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Pod::Spec.new do |s|
1111
s.author = package['author']
1212
s.source = { :git => package['repository']['url'], :tag => s.version.to_s }
1313
s.source_files = 'ios/Plugin/**/*.{swift,h,m,c,cc,mm,cpp}'
14-
s.ios.deployment_target = '13.0'
14+
s.ios.deployment_target = '14.0'
1515
s.dependency 'Capacitor'
1616
s.swift_version = '5.1'
1717
end

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ export async function main(): Promise<void> {
253253
HEART_RATE_MEASUREMENT_CHARACTERISTIC,
254254
(value) => {
255255
console.log('current heart rate', parseHeartRate(value));
256-
}
256+
},
257257
);
258258

259259
// disconnect after 10 sec
@@ -303,7 +303,7 @@ export async function scan(): Promise<void> {
303303
},
304304
(result) => {
305305
console.log('received new scan result', result);
306-
}
306+
},
307307
);
308308

309309
setTimeout(async () => {
@@ -1087,7 +1087,7 @@ On Android, the `initialize` call requests the location permission. However, if
10871087
```typescript
10881088
async function initialize() {
10891089
// Check if location is enabled
1090-
if (this.platform.is('android')) {
1090+
if (Capacitor.getPlatform() === 'android') {
10911091
const isLocationEnabled = await BleClient.isLocationEnabled();
10921092
if (!isLocationEnabled) {
10931093
await BleClient.openLocationSettings();

android/build.gradle

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
ext {
22
junitVersion = project.hasProperty('junitVersion') ? rootProject.ext.junitVersion : '4.13.2'
3-
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.6.1'
4-
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.1.5'
5-
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.5.1'
3+
androidxAppCompatVersion = project.hasProperty('androidxAppCompatVersion') ? rootProject.ext.androidxAppCompatVersion : '1.7.0'
4+
androidxJunitVersion = project.hasProperty('androidxJunitVersion') ? rootProject.ext.androidxJunitVersion : '1.2.1'
5+
androidxEspressoCoreVersion = project.hasProperty('androidxEspressoCoreVersion') ? rootProject.ext.androidxEspressoCoreVersion : '3.6.1'
66
}
77

88
buildscript {
9-
ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.9.10'
9+
ext.kotlin_version = project.hasProperty("kotlin_version") ? rootProject.ext.kotlin_version : '1.9.25'
1010
ext.coreKtx = project.hasProperty('coreKtx') ? rootProject.ext.coreKtx : '1.12.0'
1111

1212
repositories {
1313
google()
1414
mavenCentral()
1515
}
1616
dependencies {
17-
classpath 'com.android.tools.build:gradle:8.2.1'
17+
classpath 'com.android.tools.build:gradle:8.7.2'
1818
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1919
}
2020
}
@@ -24,10 +24,10 @@ apply plugin: 'kotlin-android'
2424

2525
android {
2626
namespace "com.capacitorjs.community.plugins.bluetoothle"
27-
compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 34
27+
compileSdk project.hasProperty('compileSdkVersion') ? rootProject.ext.compileSdkVersion : 35
2828
defaultConfig {
29-
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 22
30-
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 34
29+
minSdkVersion project.hasProperty('minSdkVersion') ? rootProject.ext.minSdkVersion : 23
30+
targetSdkVersion project.hasProperty('targetSdkVersion') ? rootProject.ext.targetSdkVersion : 35
3131
versionCode 1
3232
versionName "1.0"
3333
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -42,11 +42,11 @@ android {
4242
abortOnError false
4343
}
4444
compileOptions {
45-
sourceCompatibility JavaVersion.VERSION_17
46-
targetCompatibility JavaVersion.VERSION_17
45+
sourceCompatibility JavaVersion.VERSION_21
46+
targetCompatibility JavaVersion.VERSION_21
4747
}
4848
kotlinOptions {
49-
jvmTarget = 17
49+
jvmTarget = 21
5050
}
5151
}
5252

-19.3 KB
Binary file not shown.

android/gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
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.1-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
44
networkTimeout=10000
55
validateDistributionUrl=true
66
zipStoreBase=GRADLE_USER_HOME

android/gradlew

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
# See the License for the specific language governing permissions and
1616
# limitations under the License.
1717
#
18+
# SPDX-License-Identifier: Apache-2.0
19+
#
1820

1921
##############################################################################
2022
#
@@ -55,7 +57,7 @@
5557
# Darwin, MinGW, and NonStop.
5658
#
5759
# (3) This script is generated from the Groovy template
58-
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
60+
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
5961
# within the Gradle project.
6062
#
6163
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -83,7 +85,9 @@ done
8385
# This is normally unused
8486
# shellcheck disable=SC2034
8587
APP_BASE_NAME=${0##*/}
86-
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
88+
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
89+
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
90+
' "$PWD" ) || exit
8791

8892
# Use the maximum available, or set MAX_FD != -1 to use that value.
8993
MAX_FD=maximum
@@ -144,15 +148,15 @@ if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144148
case $MAX_FD in #(
145149
max*)
146150
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
147-
# shellcheck disable=SC3045
151+
# shellcheck disable=SC2039,SC3045
148152
MAX_FD=$( ulimit -H -n ) ||
149153
warn "Could not query maximum file descriptor limit"
150154
esac
151155
case $MAX_FD in #(
152156
'' | soft) :;; #(
153157
*)
154158
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
155-
# shellcheck disable=SC3045
159+
# shellcheck disable=SC2039,SC3045
156160
ulimit -n "$MAX_FD" ||
157161
warn "Could not set maximum file descriptor limit to $MAX_FD"
158162
esac
@@ -201,11 +205,11 @@ fi
201205
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
202206
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
203207

204-
# Collect all arguments for the java command;
205-
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
206-
# shell script including quotes and variable substitutions, so put them in
207-
# double quotes to make sure that they get re-expanded; and
208-
# * put everything else in single quotes, so that it's not re-expanded.
208+
# Collect all arguments for the java command:
209+
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
210+
# and any embedded shellness will be escaped.
211+
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
212+
# treated as '${Hostname}' itself on the command line.
209213

210214
set -- \
211215
"-Dorg.gradle.appname=$APP_BASE_NAME" \

android/gradlew.bat

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
@rem See the License for the specific language governing permissions and
1414
@rem limitations under the License.
1515
@rem
16+
@rem SPDX-License-Identifier: Apache-2.0
17+
@rem
1618

1719
@if "%DEBUG%"=="" @echo off
1820
@rem ##########################################################################
@@ -43,11 +45,11 @@ set JAVA_EXE=java.exe
4345
%JAVA_EXE% -version >NUL 2>&1
4446
if %ERRORLEVEL% equ 0 goto execute
4547

46-
echo.
47-
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
48-
echo.
49-
echo Please set the JAVA_HOME variable in your environment to match the
50-
echo location of your Java installation.
48+
echo. 1>&2
49+
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
50+
echo. 1>&2
51+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
52+
echo location of your Java installation. 1>&2
5153

5254
goto fail
5355

@@ -57,11 +59,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
5759

5860
if exist "%JAVA_EXE%" goto execute
5961

60-
echo.
61-
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
62-
echo.
63-
echo Please set the JAVA_HOME variable in your environment to match the
64-
echo location of your Java installation.
62+
echo. 1>&2
63+
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
64+
echo. 1>&2
65+
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
66+
echo location of your Java installation. 1>&2
6567

6668
goto fail
6769

ios/Plugin.xcodeproj/project.pbxproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,7 @@
399399
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
400400
GCC_WARN_UNUSED_FUNCTION = YES;
401401
GCC_WARN_UNUSED_VARIABLE = YES;
402-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
402+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
403403
MTL_ENABLE_DEBUG_INFO = YES;
404404
ONLY_ACTIVE_ARCH = YES;
405405
SDKROOT = iphoneos;
@@ -453,7 +453,7 @@
453453
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
454454
GCC_WARN_UNUSED_FUNCTION = YES;
455455
GCC_WARN_UNUSED_VARIABLE = YES;
456-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
456+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
457457
MTL_ENABLE_DEBUG_INFO = NO;
458458
SDKROOT = iphoneos;
459459
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
@@ -476,7 +476,7 @@
476476
DYLIB_INSTALL_NAME_BASE = "@rpath";
477477
INFOPLIST_FILE = Plugin/Info.plist;
478478
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
479-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
479+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
480480
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)\n$(FRAMEWORK_SEARCH_PATHS)\n$(FRAMEWORK_SEARCH_PATHS)";
481481
ONLY_ACTIVE_ARCH = YES;
482482
PRODUCT_BUNDLE_IDENTIFIER = com.capacitorjs.community.plugins.bluetoothle;
@@ -502,7 +502,7 @@
502502
DYLIB_INSTALL_NAME_BASE = "@rpath";
503503
INFOPLIST_FILE = Plugin/Info.plist;
504504
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
505-
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
505+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
506506
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks $(FRAMEWORK_SEARCH_PATHS)";
507507
ONLY_ACTIVE_ARCH = NO;
508508
PRODUCT_BUNDLE_IDENTIFIER = com.capacitorjs.community.plugins.bluetoothle;

0 commit comments

Comments
 (0)