Skip to content

Commit 84561bb

Browse files
authored
Merge branch 'main' into fix/performance
2 parents 5ea3e2c + 3423e6f commit 84561bb

File tree

12 files changed

+124
-62
lines changed

12 files changed

+124
-62
lines changed

.github/workflows/npm_release.yml

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,12 @@ jobs:
7777
with:
7878
name: npm-package
7979
path: dist/nativescript-android-${{steps.npm_version_output.outputs.NPM_VERSION}}.tgz
80+
- name: Upload debug symbols
81+
uses: actions/upload-artifact@v3
82+
with:
83+
name: debug-symbols
84+
path: test-app/runtime/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/*
85+
8086
test:
8187
name: Test
8288
runs-on: macos-13
@@ -174,10 +180,17 @@ jobs:
174180
with:
175181
name: npm-package
176182
path: dist
183+
- uses: actions/download-artifact@v3
184+
with:
185+
name: debug-symbols
186+
path: dist/debug-symbols
187+
- name: Zip debug symbols
188+
working-directory: dist/debug-symbols
189+
run: zip -r debug-symbols.zip .
177190
- name: Partial Changelog
178191
run: npx conventional-changelog -p angular -r2 > body.md
179192
- uses: ncipollo/release-action@v1
180193
with:
181-
artifacts: "dist/nativescript-android-*.tgz"
194+
artifacts: "dist/nativescript-android-*.tgz,dist/debug-symbols/debug-symbols.zip"
182195
bodyFile: "body.md"
183196
prerelease: ${{needs.build.outputs.npm_tag != 'latest'}}

.github/workflows/pull_request.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,11 @@ jobs:
7474
with:
7575
name: npm-package
7676
path: dist/nativescript-android-${{steps.npm_version_output.outputs.NPM_VERSION}}.tgz
77+
- name: Upload debug symbols
78+
uses: actions/upload-artifact@v3
79+
with:
80+
name: debug-symbols
81+
path: test-app/runtime/build/intermediates/merged_native_libs/release/mergeReleaseNativeLibs/out/lib/*
7782
test:
7883
name: Test
7984
runs-on: macos-13

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## [8.8.6](https://github.com/NativeScript/android/compare/v8.8.5...v8.8.6) (2024-10-28)
2+
3+
4+
### Bug Fixes
5+
6+
* `exit(0)` causes ANR due to destroyed mutex ([#1820](https://github.com/NativeScript/android/issues/1820)) ([94ddb15](https://github.com/NativeScript/android/commit/94ddb159ccf368edebce76a8aa01d141d7297b1a))
7+
* gradle error when compileSdk or targetSdk is provided ([#1825](https://github.com/NativeScript/android/issues/1825)) ([a983931](https://github.com/NativeScript/android/commit/a983931cf5e9fcc7966a98a2f0ec4e24e040af5e))
8+
* **URL:** allow undefined 2nd args ([#1826](https://github.com/NativeScript/android/issues/1826)) ([2bab8f5](https://github.com/NativeScript/android/commit/2bab8f5be85c8764faafef4d6374dc8cfd257613))
9+
10+
11+
112
## [8.8.5](https://github.com/NativeScript/android/compare/v8.8.4...v8.8.5) (2024-09-30)
213

314

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@nativescript/android",
33
"description": "NativeScript for Android using v8",
4-
"version": "8.8.5",
4+
"version": "8.9.0",
55
"repository": {
66
"type": "git",
77
"url": "https://github.com/NativeScript/android.git"

test-app/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ def METADATA_JAVA_OUT = "mdg-java-out.txt"
7777
def pluginsJarLibraries = new LinkedList<String>()
7878
def allJarLibraries = new LinkedList<String>()
7979

80-
def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk : NS_DEFAULT_COMPILE_SDK_VERSION as int }
81-
def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk : NS_DEFAULT_COMPILE_SDK_VERSION as int }
80+
def computeCompileSdkVersion = { -> project.hasProperty("compileSdk") ? compileSdk as int : NS_DEFAULT_COMPILE_SDK_VERSION as int }
81+
def computeTargetSdkVersion = { -> project.hasProperty("targetSdk") ? targetSdk as int : NS_DEFAULT_COMPILE_SDK_VERSION as int }
8282
def computeMinSdkVersion = { -> project.hasProperty("minSdk") ? minSdk : NS_DEFAULT_MIN_SDK_VERSION as int }
8383
def computeBuildToolsVersion = { ->
8484
project.hasProperty("buildToolsVersion") ? buildToolsVersion : NS_DEFAULT_BUILD_TOOLS_VERSION as String
Lines changed: 59 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,62 @@
1-
describe("Test URL ", function () {
2-
3-
it("Test invalid URL parsing", function(){
4-
var exceptionCaught = false;
5-
try {
6-
const url = new URL('');
7-
}catch(e){
8-
exceptionCaught = true;
9-
}
10-
expect(exceptionCaught).toBe(true);
1+
describe("URL", function () {
2+
it("throws on invalid URL", function () {
3+
var exceptionCaught = false;
4+
try {
5+
const url = new URL("");
6+
} catch (e) {
7+
exceptionCaught = true;
8+
}
9+
expect(exceptionCaught).toBe(true);
1110
});
12-
13-
it("Test valid URL parsing", function(){
14-
var exceptionCaught = false;
15-
try {
16-
const url = new URL('https://google.com');
17-
}catch(e){
18-
exceptionCaught = true;
19-
}
20-
expect(exceptionCaught).toBe(false);
11+
12+
it("does not throw on valid URL", function () {
13+
var exceptionCaught = false;
14+
try {
15+
const url = new URL("https://google.com");
16+
} catch (e) {
17+
exceptionCaught = true;
18+
}
19+
expect(exceptionCaught).toBe(false);
2120
});
22-
23-
24-
it("Test URL fields", function(){
25-
var exceptionCaught = false;
26-
const url = new URL('https://google.com');
27-
expect(url.protocol).toBe('https:');
28-
expect(url.hostname).toBe('google.com');
21+
22+
it("parses simple urls", function () {
23+
const url = new URL("https://google.com");
24+
expect(url.protocol).toBe("https:");
25+
expect(url.hostname).toBe("google.com");
26+
expect(url.pathname).toBe("/");
27+
expect(url.port).toBe("");
28+
expect(url.search).toBe("");
29+
expect(url.hash).toBe("");
30+
expect(url.username).toBe("");
31+
expect(url.password).toBe("");
32+
expect(url.origin).toBe("https://google.com");
33+
expect(url.searchParams.size).toBe(0);
2934
});
30-
31-
});
35+
36+
it("parses with undefined base", function () {
37+
const url = new URL("https://google.com", undefined);
38+
expect(url.protocol).toBe("https:");
39+
expect(url.hostname).toBe("google.com");
40+
});
41+
42+
it("parses with null base", function () {
43+
const url = new URL("https://google.com", null);
44+
expect(url.protocol).toBe("https:");
45+
expect(url.hostname).toBe("google.com");
46+
});
47+
48+
it("parses query strings", function () {
49+
const url = new URL("https://google.com?q=hello");
50+
expect(url.search).toBe("?q=hello");
51+
expect(url.searchParams.get("q")).toBe("hello");
52+
expect(url.pathname).toBe("/");
53+
});
54+
55+
it("parses query strings with pathname", function () {
56+
const url = new URL("https://google.com/some/path?q=hello");
57+
expect(url.search).toBe("?q=hello");
58+
expect(url.searchParams.get("q")).toBe("hello");
59+
expect(url.pathname).toBe("/some/path");
60+
});
61+
});
62+

test-app/gradle.properties

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ android.enableJetifier=true
1919
android.useAndroidX=true
2020

2121
# Default versions used throughout the gradle configurations
22-
NS_DEFAULT_BUILD_TOOLS_VERSION=34.0.0
23-
NS_DEFAULT_COMPILE_SDK_VERSION=34
22+
NS_DEFAULT_BUILD_TOOLS_VERSION=35.0.0
23+
NS_DEFAULT_COMPILE_SDK_VERSION=35
2424
NS_DEFAULT_MIN_SDK_VERSION=17
25-
NS_DEFAULT_ANDROID_BUILD_TOOLS_VERSION=8.3.2
25+
NS_DEFAULT_ANDROID_BUILD_TOOLS_VERSION=8.5.0
2626

2727
ns_default_androidx_appcompat_version = 1.5.1
2828
ns_default_androidx_exifinterface_version = 1.3.7
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

test-app/runtime/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,11 @@ if("${ANDROID_ABI}" MATCHES "armeabi-v7a$" OR "${ANDROID_ABI}" MATCHES "x86$")
183183
target_link_libraries(NativeScript ${ANDROID_NDK_ROOT}/sources/cxx-stl/llvm-libc++/libs/${ANDROID_ABI}/libandroid_support.a)
184184
endif()
185185

186+
187+
if("${ANDROID_ABI}" MATCHES "arm64-v8a$" OR "${ANDROID_ABI}" MATCHES "x86_64$")
188+
target_link_options(NativeScript PRIVATE "-Wl,-z,max-page-size=16384")
189+
endif()
190+
186191
# Command info: https://cmake.org/cmake/help/v3.4/command/find_library.html
187192
# Searches for a specified prebuilt library and stores the path as a
188193
# variable. Because CMake includes system libraries in the search path by

test-app/runtime/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ android {
114114
// arguments "-DANDROID_TOOLCHAIN=clang", "-DANDROID_STL=c++_static", "-DANDROID_NDK_ROOT=${NDK_PATH}"
115115

116116
cppFlags "-std=c++14"
117-
arguments "-DANDROID_STL=c++_shared", "-DANDROID_NDK_ROOT=${NDK_PATH}"
117+
arguments "-DANDROID_STL=c++_static", "-DANDROID_NDK_ROOT=${NDK_PATH}"
118118
}
119119
}
120120

0 commit comments

Comments
 (0)