diff --git a/ern-core/src/android.ts b/ern-core/src/android.ts
index 437ec2579..fb849d020 100644
--- a/ern-core/src/android.ts
+++ b/ern-core/src/android.ts
@@ -62,7 +62,7 @@ export function resolveAndroidVersions({
supportLibraryVersion = DEFAULT_SUPPORT_LIBRARY_VERSION,
targetCompatibility = DEFAULT_TARGET_COMPATIBILITY,
targetSdkVersion = DEFAULT_TARGET_SDK_VERSION,
- reactNativeGradlePlugin = DEFAULT_RN_GRADLE_PLUGIN_VERSION,
+ reactNativeGradlePlugin,
reactNativeVersion,
}: {
androidGradlePlugin?: string;
@@ -88,6 +88,10 @@ export function resolveAndroidVersions({
: DEFAULT_MIN_SDK_VERSION_PRE_RN64;
reactNativeAarVersion = reactNativeAarVersion ?? reactNativeVersion!;
+ reactNativeGradlePlugin =
+ reactNativeGradlePlugin ?? semver.lt(reactNativeVersion!, '0.72.0')
+ ? reactNativeGradlePlugin!
+ : DEFAULT_RN_GRADLE_PLUGIN_VERSION;
return {
androidGradlePlugin,
diff --git a/ern-core/test/android-test.ts b/ern-core/test/android-test.ts
index d4b81375f..37c5eeb14 100644
--- a/ern-core/test/android-test.ts
+++ b/ern-core/test/android-test.ts
@@ -209,6 +209,29 @@ describe('android.js', () => {
});
describe('resolveAndroidVersions', () => {
+ it('should return all default versions if no versions are provided [>= RN 0.72.0]', () => {
+ const versions = android.resolveAndroidVersions({
+ reactNativeVersion: '0.72.0',
+ });
+ expect(versions).deep.equal({
+ androidGradlePlugin: android.DEFAULT_ANDROID_GRADLE_PLUGIN_VERSION,
+ androidxAppcompactVersion: android.DEFAULT_ANDROIDX_APPCOMPACT_VERSION,
+ androidxLifecycleExtrnsionsVersion:
+ android.DEFAULT_ANDROIDX_LIFECYCLE_EXTENSIONS_VERSION,
+ buildToolsVersion: android.DEFAULT_BUILD_TOOLS_VERSION,
+ compileSdkVersion: android.DEFAULT_COMPILE_SDK_VERSION,
+ gradleDistributionVersion: android.DEFAULT_GRADLE_DISTRIBUTION_VERSION,
+ kotlinVersion: android.DEFAULT_KOTLIN_VERSION,
+ minSdkVersion: android.DEFAULT_MIN_SDK_VERSION_POST_RN64,
+ reactNativeAarVersion: '0.72.0',
+ reactNativeGradlePlugin: '0.72.11',
+ sourceCompatibility: android.DEFAULT_SOURCE_COMPATIBILITY,
+ supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION,
+ targetCompatibility: android.DEFAULT_TARGET_COMPATIBILITY,
+ targetSdkVersion: android.DEFAULT_TARGET_SDK_VERSION,
+ });
+ });
+
it('should return all default versions if no versions are provided [>= RN 0.64.0]', () => {
const versions = android.resolveAndroidVersions({
reactNativeVersion: '0.64.0',
@@ -224,6 +247,7 @@ describe('android.js', () => {
kotlinVersion: android.DEFAULT_KOTLIN_VERSION,
minSdkVersion: android.DEFAULT_MIN_SDK_VERSION_POST_RN64,
reactNativeAarVersion: '0.64.0',
+ reactNativeGradlePlugin: undefined,
sourceCompatibility: android.DEFAULT_SOURCE_COMPATIBILITY,
supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION,
targetCompatibility: android.DEFAULT_TARGET_COMPATIBILITY,
@@ -245,6 +269,7 @@ describe('android.js', () => {
gradleDistributionVersion: android.DEFAULT_GRADLE_DISTRIBUTION_VERSION,
kotlinVersion: android.DEFAULT_KOTLIN_VERSION,
minSdkVersion: android.DEFAULT_MIN_SDK_VERSION_PRE_RN64,
+ reactNativeGradlePlugin: undefined,
reactNativeAarVersion: '0.63.0',
sourceCompatibility: android.DEFAULT_SOURCE_COMPATIBILITY,
supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION,
@@ -260,6 +285,7 @@ describe('android.js', () => {
minSdkVersion: '15',
sourceCompatibility: 'VERSION_1_9',
targetCompatibility: 'VERSION_1_9',
+ reactNativeVersion: '0.72.0',
});
expect(versions).deep.equal({
androidGradlePlugin: '3.0.0',
@@ -271,7 +297,8 @@ describe('android.js', () => {
gradleDistributionVersion: android.DEFAULT_GRADLE_DISTRIBUTION_VERSION,
kotlinVersion: '1.4.0',
minSdkVersion: '15',
- reactNativeAarVersion: undefined,
+ reactNativeAarVersion: '0.72.0',
+ reactNativeGradlePlugin: '0.72.11',
sourceCompatibility: 'VERSION_1_9',
supportLibraryVersion: android.DEFAULT_SUPPORT_LIBRARY_VERSION,
targetCompatibility: 'VERSION_1_9',
@@ -293,6 +320,7 @@ describe('android.js', () => {
supportLibraryVersion: '27.0.0',
targetCompatibility: 'VERSION_1_9',
targetSdkVersion: '27',
+ reactNativeVersion: '0.63.0',
});
expect(versions).deep.equal({
androidGradlePlugin: '3.0.0',
@@ -303,7 +331,8 @@ describe('android.js', () => {
gradleDistributionVersion: '4.5',
kotlinVersion: '1.4.0',
minSdkVersion: '15',
- reactNativeAarVersion: undefined,
+ reactNativeAarVersion: '0.63.0',
+ reactNativeGradlePlugin: undefined,
sourceCompatibility: 'VERSION_1_9',
supportLibraryVersion: '27.0.0',
targetCompatibility: 'VERSION_1_9',
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle
index cac8b8331..cfa0bf252 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/build.gradle
@@ -1,12 +1,26 @@
apply plugin: 'com.android.application'
+apply plugin: "com.facebook.react"
+
+/**
+ * The preferred build flavor of JavaScriptCore (JSC)
+ *
+ * For example, to use the international variant, you can use:
+ * `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
+ *
+ * The international variant includes ICU i18n library and necessary data
+ * allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
+ * give correct results when using with locales other than en-US. Note that
+ * this variant is about 6MiB larger per architecture than default.
+ */
+def jscFlavor = 'org.webkit:android-jsc:+'
android {
- compileSdkVersion 31
- buildToolsVersion "31.0.0"
+ compileSdkVersion 33
+ buildToolsVersion "33.0.0"
defaultConfig {
applicationId "com.walmartlabs.ern.dummy"
minSdkVersion 19
- targetSdkVersion 30
+ targetSdkVersion 33
versionCode 1
versionName "1.0"
}
@@ -17,8 +31,8 @@ android {
}
}
compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
}
// Need this to avoid build conflict with jsr version which comes with react-native
configurations.all {
@@ -28,15 +42,14 @@ android {
lintOptions {
disable 'InvalidPackage'
}
- packagingOptions {
- pickFirst "lib/armeabi-v7a/libc++_shared.so"
- pickFirst "lib/arm64-v8a/libc++_shared.so"
- pickFirst "lib/x86/libc++_shared.so"
- pickFirst "lib/x86_64/libc++_shared.so"
- }
}
dependencies {
// Recompile this dependency on every build as it can be updated at any time (snapshot)
implementation('com.walmartlabs.ern:runner-ern-container-dummy:1.0.0') { changing = true }
+ if (hermesEnabled.toBoolean()) {
+ implementation("com.facebook.react:hermes-android")
+ } else {
+ implementation jscFlavor
+ }
}
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml
index fa26aa56e..885c4ee44 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/debug/AndroidManifest.xml
@@ -4,5 +4,5 @@
-
+
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml
index f2a9f0eb6..28587b4ca 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/app/src/main/AndroidManifest.xml
@@ -12,7 +12,8 @@
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle
index 65003a88f..b4321d613 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/build.gradle
@@ -4,7 +4,8 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.0.4'
+ classpath 'com.android.tools.build:gradle:7.4.2'
+ classpath 'com.facebook.react:react-native-gradle-plugin:'
}
}
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties
index 0566c221d..a3b2fa124 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle.properties
@@ -9,7 +9,8 @@
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
+# Default value: -Xmx512m -XX:MaxMetaspaceSize=256m
+org.gradle.jvmargs=-Xmx2048m -XX:MaxMetaspaceSize=512m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
@@ -22,3 +23,22 @@ org.gradle.jvmargs=-Xmx1536m
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
+
+# Version of flipper SDK to use with React Native
+FLIPPER_VERSION=0.182.0
+
+# Use this property to specify which architecture you want to build.
+# You can also override it from the CLI using
+# ./gradlew -PreactNativeArchitectures=x86_64
+reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
+
+# Use this property to enable support to the new architecture.
+# This will allow you to use TurboModules and the Fabric render in
+# your application. You should enable this flag either if you want
+# to write custom TurboModules/Fabric components OR use libraries that
+# are providing them.
+newArchEnabled=false
+
+# Use this property to enable or disable the Hermes JS engine.
+# If set to false, you will be using JSC instead.
+hermesEnabled=true
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar
index 7454180f2..943f0cbfa 100644
Binary files a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar and b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties
index 669386b87..608bd9430 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew
index 1b6c78733..65dcd68d6 100755
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew
@@ -55,7 +55,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
+# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,10 +80,10 @@ do
esac
done
-APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
-
-APP_NAME="Gradle"
+# This is normally unused
+# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
+APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
@@ -143,12 +143,16 @@ fi
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
+ # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
+ # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
+ # shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
@@ -205,6 +209,12 @@ set -- \
org.gradle.wrapper.GradleWrapperMain \
"$@"
+# Stop when "xargs" is not available.
+if ! command -v xargs >/dev/null 2>&1
+then
+ die "xargs is not available"
+fi
+
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat
index ac1b06f93..6689b85be 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/gradlew.bat
@@ -14,7 +14,7 @@
@rem limitations under the License.
@rem
-@if "%DEBUG%" == "" @echo off
+@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@@ -25,7 +25,8 @@
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
-if "%DIRNAME%" == "" set DIRNAME=.
+if "%DIRNAME%"=="" set DIRNAME=.
+@rem This is normally unused
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
-if "%ERRORLEVEL%" == "0" goto execute
+if %ERRORLEVEL% equ 0 goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
:end
@rem End local scope for the variables with windows NT shell
-if "%ERRORLEVEL%"=="0" goto mainEnd
+if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
-if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
-exit /b 1
+set EXIT_CODE=%ERRORLEVEL%
+if %EXIT_CODE% equ 0 set EXIT_CODE=1
+if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
+exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
diff --git a/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle b/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle
index e7b4def49..3ff0b112a 100644
--- a/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle
+++ b/ern-runner-gen-android/test/fixtures/simple-android-runner/settings.gradle
@@ -1 +1,2 @@
include ':app'
+includeBuild('../node_modules/@react-native/gradle-plugin')
diff --git a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj
index 8b3f69557..d42ce6513 100644
--- a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj
+++ b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner.xcodeproj/project.pbxproj
@@ -14,6 +14,7 @@
6E6BEDD6262F9F10003F9D7B /* MainNavigationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */; };
6E6BEDD7262F9F10003F9D7B /* RunnerConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */; };
6E6BEDD8262F9F10003F9D7B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */; };
+ 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */ = {isa = PBXBuildFile; fileRef = 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -63,6 +64,7 @@
6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainNavigationController.swift; sourceTree = ""; };
6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RunnerConfig.swift; sourceTree = ""; };
6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = PrivacyInfo.xcprivacy; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -106,6 +108,7 @@
304F3E971EEF455C00F1E36B /* ErnRunner */ = {
isa = PBXGroup;
children = (
+ 7EEF60E02C1977D3008291B7 /* PrivacyInfo.xcprivacy */,
6E6BEDD5262F9F10003F9D7B /* AppDelegate.swift */,
6E6BEDD3262F9F10003F9D7B /* MainNavigationController.swift */,
6E6BEDD4262F9F10003F9D7B /* RunnerConfig.swift */,
@@ -134,6 +137,7 @@
304F3E911EEF455C00F1E36B /* Sources */,
304F3E921EEF455C00F1E36B /* Frameworks */,
304F3E931EEF455C00F1E36B /* Resources */,
+ 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */,
304F3ECB1EEF597600F1E36B /* Embed Frameworks */,
);
buildRules = (
@@ -208,6 +212,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 7EEF60E22C1977D3008291B7 /* PrivacyInfo.xcprivacy in Resources */,
304F3EA81EEF455C00F1E36B /* LaunchScreen.storyboard in Resources */,
304F3EA51EEF455C00F1E36B /* Assets.xcassets in Resources */,
);
@@ -215,6 +220,29 @@
};
/* End PBXResourcesBuildPhase section */
+/* Begin PBXShellScriptBuildPhase section */
+ 7EEF60E72C1979DC008291B7 /* Bundle React Native code and images */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputFileListPaths = (
+ );
+ inputPaths = (
+ "$(SRCROOT)/.xcode.env.local",
+ "$(SRCROOT)/.xcode.env",
+ );
+ name = "Bundle React Native code and images";
+ outputFileListPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "set -e\n\nWITH_ENVIRONMENT=\"../node_modules/react-native/scripts/xcode/with-environment.sh\"\nREACT_NATIVE_XCODE=\"../node_modules/react-native/scripts/react-native-xcode.sh\"\n\n/bin/sh -c \"$WITH_ENVIRONMENT $REACT_NATIVE_XCODE\"\n";
+ };
+/* End PBXShellScriptBuildPhase section */
+
/* Begin PBXSourcesBuildPhase section */
304F3E911EEF455C00F1E36B /* Sources */ = {
isa = PBXSourcesBuildPhase;
@@ -289,7 +317,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 10.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -332,7 +360,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 10.3;
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -346,7 +374,10 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ErnRunner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
@@ -359,7 +390,10 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
INFOPLIST_FILE = ErnRunner/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = (
+ "$(inherited)",
+ "@executable_path/Frameworks",
+ );
PRODUCT_BUNDLE_IDENTIFIER = com.yourcompany.ernrunner;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
diff --git a/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy
new file mode 100644
index 000000000..ef1896e70
--- /dev/null
+++ b/ern-runner-gen-ios/test/fixtures/simple-ios-runner/ErnRunner/PrivacyInfo.xcprivacy
@@ -0,0 +1,38 @@
+
+
+
+
+ NSPrivacyCollectedDataTypes
+
+
+ NSPrivacyAccessedAPITypes
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryFileTimestamp
+ NSPrivacyAccessedAPITypeReasons
+
+ C617.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategoryUserDefaults
+ NSPrivacyAccessedAPITypeReasons
+
+ CA92.1
+
+
+
+ NSPrivacyAccessedAPIType
+ NSPrivacyAccessedAPICategorySystemBootTime
+ NSPrivacyAccessedAPITypeReasons
+
+ 35F9.1
+
+
+
+ NSPrivacyTracking
+
+
+
diff --git a/package.json b/package.json
index 7db6432af..7f2f10710 100644
--- a/package.json
+++ b/package.json
@@ -102,7 +102,7 @@
"tslint": "^6.1.3",
"tslint-config-prettier": "^1.18.0",
"tslint-no-unused-expression-chai": "^0.1.4",
- "typescript": "^4.2.4"
+ "typescript": "4.6.4"
},
"workspaces": [
"ern-*"
diff --git a/yarn.lock b/yarn.lock
index 6e1a6d0af..6d0d14109 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -7253,10 +7253,10 @@ typedarray@^0.0.6:
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=
-typescript@^4.2.4:
- version "4.9.4"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
- integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
+typescript@4.6.4:
+ version "4.6.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9"
+ integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==
uglify-js@^3.1.4:
version "3.10.3"