mobile: make e2e tests work on android & iOS

This commit is contained in:
ammarahm-ed
2022-09-01 14:59:03 +05:00
parent fae3757be9
commit 24f0e5bd9c
20 changed files with 368 additions and 3556 deletions

View File

@@ -13,6 +13,7 @@ build_cache/
.npmrc
.yarnrc.yml
.yarn
*.log
# Xcode

View File

@@ -11,6 +11,7 @@
"entities": "^3.0.1",
"html-to-text": "8.1.0",
"phone": "^3.1.14",
"qclone": "^1.1.0",
"react-native-actions-sheet": "^0.7.2",
"react-native-check-version": "https://github.com/flexible-agency/react-native-check-version",
"react-native-drax": "^0.10.2",

View File

@@ -5,5 +5,12 @@
"testTimeout": 120000,
"testRegex": "\\.e2e\\.js$",
"reporters": ["detox/runners/jest/streamlineReporter"],
"transformIgnorePatterns": ["<rootDir>/node_modules/"],
"transform": {
"^.+\\.(js|jsx|ts|tsx)$": [
"babel-jest",
{ "configFile": "../native/babel.config.js" }
]
},
"verbose": true
}

View File

@@ -17,11 +17,18 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import {
const {
DetoxCircusEnvironment,
SpecReporter,
WorkerAssignReporter
} from "detox/runners/jest-circus";
} = require("detox/runners/jest-circus");
const sleep = (duration) =>
new Promise((resolve) =>
setTimeout(() => {
resolve();
}, duration)
);
class CustomDetoxEnvironment extends DetoxCircusEnvironment {
constructor(config, context) {
@@ -37,6 +44,14 @@ class CustomDetoxEnvironment extends DetoxCircusEnvironment {
WorkerAssignReporter
});
}
async initDetox() {
const instance = await this.detox.init(undefined, { launchApp: false });
await sleep(10000);
await instance.device.reverseTcpPort(8081); // added this line
await instance.device.launchApp();
return instance;
}
}
module.exports = CustomDetoxEnvironment;

View File

@@ -272,7 +272,7 @@ describe("NOTEBOOKS", () => {
await visibleByText("Notebook 1");
});
it.only("Pin topic to side menu", async () => {
it("Pin topic to side menu", async () => {
await prepare();
await navigate("Notebooks");
await tapByText("Skip introduction");

View File

@@ -21,7 +21,7 @@ import { notesnook } from "../test.ids";
import { readFileSync } from "fs";
import { expect as jestExpect } from "@jest/globals";
import { toMatchImageSnapshot } from "jest-image-snapshot";
import { device as _device, web } from "detox";
import { device as _device } from "detox";
jestExpect.extend({ toMatchImageSnapshot });
const sleep = (duration) =>

View File

@@ -7,6 +7,12 @@
"device": {
"avdName": "Pixel_5_API_31"
}
},
"simulator": {
"type": "ios.simulator",
"device": {
"type": "iPhone 8"
}
}
},
"apps": {
@@ -14,13 +20,19 @@
"type": "android.apk",
"binaryPath": "android/app/build/outputs/apk/debug/app-x86_64-debug.apk",
"testBinaryPath": "android/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk",
"build": "cd android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .."
"build": "cd android ; ENVFILE=.env.test ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug && cd .."
},
"android.release": {
"type": "android.apk",
"binaryPath": "android/app/build/outputs/apk/release/app-x86_64-release.apk",
"testBinaryPath": "android/app/build/outputs/apk/androidTest/release/app-release-androidTest.apk",
"build": "cd android ; ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release ; cd .."
"build": "cd android ; ENVFILE=.env.test ./gradlew assembleRelease assembleAndroidTest -DtestBuildType=release ; cd .."
},
"ios.release": {
"name": "Notesnook",
"type": "ios.app",
"binaryPath": "ios/build/Build/Products/Release-iphonesimulator/Notesnook.app",
"build": "ENVFILE=.env.test xcodebuild -workspace ios/Notesnook.xcworkspace -scheme NotesnookRelease -sdk iphonesimulator -derivedDataPath ios/build"
}
},
"configurations": {
@@ -31,6 +43,10 @@
"android.emu.release": {
"app": "android.release",
"device": "emulator"
},
"ios.sim.release": {
"device": "simulator",
"app": "ios.release"
}
}
}

View File

@@ -86,6 +86,8 @@ project.ext.react = [
bundleCommand: "webpack-bundle",
bundleInDebug: false,
cliPath: "../../../node_modules/react-native/cli.js",
hermesCommand: "../../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc",
composeSourceMapsPath: "../node_modules/react-native/scripts/compose-source-maps.js"
]
apply from: "../../../node_modules/react-native/react.gradle"
@@ -158,7 +160,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
multiDexEnabled true
versionCode 2011
versionCode 2013
versionName getNpmVersion()
testBuildType System.getProperty('testBuildType', 'debug')
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'

View File

@@ -28,6 +28,5 @@ const configs = {
module.exports = function (api, opts) {
api.cache(true);
if (!env) env = 'production';
console.log('babel-env:', env);
return configs.env[env];
};

View File

@@ -1020,6 +1020,7 @@
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
@@ -1049,6 +1050,7 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
BUNDLE_LOADER = "$(TEST_HOST)";
COPY_PHASE_STRIP = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
INFOPLIST_FILE = NotesnookTests/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
@@ -1080,9 +1082,10 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEVELOPMENT_TEAM = 53CWBG3QUC;
ENABLE_BITCODE = NO;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@@ -1153,7 +1156,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
@@ -1182,8 +1185,9 @@
CODE_SIGN_ENTITLEMENTS = Notesnook/Notesnook.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@@ -1254,7 +1258,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = (
"$(inherited)",
@@ -1412,9 +1416,10 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = NotesWidget/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
@@ -1423,7 +1428,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget;
@@ -1453,9 +1458,10 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11;
INFOPLIST_FILE = NotesWidget/Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.4;
@@ -1464,7 +1470,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.notewidget;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -1493,9 +1499,10 @@
CODE_SIGN_ENTITLEMENTS = "Make Note/Make Note.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@@ -1566,7 +1573,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share;
@@ -1596,9 +1603,10 @@
CODE_SIGN_IDENTITY = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 2011;
CURRENT_PROJECT_VERSION = 2013;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 53CWBG3QUC;
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
GCC_C_LANGUAGE_STANDARD = gnu11;
HEADER_SEARCH_PATHS = (
"$(inherited)",
@@ -1669,7 +1677,7 @@
"@executable_path/Frameworks",
"@executable_path/../../Frameworks",
);
MARKETING_VERSION = 2.1.7;
MARKETING_VERSION = 2.1.8;
MTL_FAST_MATH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.streetwriters.notesnook.share;
PRODUCT_NAME = "$(TARGET_NAME)";

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1130"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "Notesnook.app"
BlueprintName = "Notesnook"
ReferencedContainer = "container:Notesnook.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "00E356ED1AD99517003FC87E"
BuildableName = "NotesnookTests.xctest"
BlueprintName = "NotesnookTests"
ReferencedContainer = "container:Notesnook.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "Notesnook.app"
BlueprintName = "Notesnook"
ReferencedContainer = "container:Notesnook.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<EnvironmentVariables>
<EnvironmentVariable
key = "NSZombieEnabled"
value = "YES"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "NSDebugEnabled"
value = "YES"
isEnabled = "YES">
</EnvironmentVariable>
<EnvironmentVariable
key = "NSAutoreleaseFreedObjectCheckEnabled"
value = "YES"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
<AdditionalOption
key = "NSZombieEnabled"
value = "YES"
isEnabled = "YES">
</AdditionalOption>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "13B07F861A680F5B00A75B9A"
BuildableName = "Notesnook.app"
BlueprintName = "Notesnook"
ReferencedContainer = "container:Notesnook.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@@ -62,6 +62,7 @@ post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['APPLICATION_EXTENSION_API_ONLY'] = 'NO'
config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "arm64"
end
end
end

View File

@@ -723,6 +723,6 @@ SPEC CHECKSUMS:
toolbar-android: 2a73856e98b750d7e71ce4644d3f41cc98211719
Yoga: ff994563b2fd98c982ca58e8cd9db2cdaf4dda74
PODFILE CHECKSUM: faa0157d6086260127a3504602678c132d34fc31
PODFILE CHECKSUM: ea431d42176787211e07fa94076836be481c8bb8
COCOAPODS: 1.11.3

View File

@@ -3,20 +3,6 @@
"private": true,
"version": "1.0.0",
"main": "index.js",
"scripts": {
"run-android": "REACT_NATIVE_DEPENDENCIES=$HOME/Repos/notesnook-mobile/rn-build-deps/ react-native run-android --active-arch-only",
"release": "react-native run-android --variant=release",
"run-ios": "react-native run-ios",
"start": "react-native start",
"repack": "react-native webpack-start",
"test": "jest --forceExit",
"lint": "eslint .",
"build-detox-android": "REACT_NATIVE_DEPENDENCIES=$HOME/Repos/notesnook-mobile/rn-build-deps/ ENVFILE=.env.test detox build -c android.emu.debug",
"test-android": "adb reverse tcp:8081 tcp:8081 && yarn detox test --configuration android.emu.debug --detectOpenHandles",
"test-android-release": "detox test --configuration android.emu.release",
"bump": "npx react-native bump-version --skip-semver-for android",
"online": "adb reverse tcp:8081 tcp:8081 && adb reverse tcp:3000 tcp:3000"
},
"dependencies": {
"@callstack/repack": "^3.0.0-next.7",
"@react-native-clipboard/clipboard": "^1.9.0",

View File

@@ -29,7 +29,7 @@ module.exports = (env) => {
bundleFilename = undefined,
sourceMapFilename = undefined,
assetsPath = undefined,
reactNativePath = require.resolve("react-native"),
reactNativePath = path.join(__dirname, "../node_modules/react-native"),
} = env;
if (!platform) {
@@ -80,10 +80,12 @@ module.exports = (env) => {
* structure. For simple/typical project you won't need it.
*/
alias: {
//'react-native': reactNativePath,
'react-native': reactNativePath,
"react": path.join(__dirname, "../node_modules/react"),
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
"@notesnook/editor": path.join(__dirname, "../../../packages/editor"),
"@notesnook": path.join(__dirname, "../../../packages"),
"showdown": path.join(__dirname, "../node_modules/showdown"),
"qclone": path.join(__dirname, "../node_modules/qclone"),
},
},
/**

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +1,30 @@
{
"name": "@notesnook/mobile",
"version": "2.1.7",
"version": "2.1.8",
"private": true,
"workspaces": [
"native/",
"app/"
],
"scripts": {
"postinstall": "yarn patch-package",
"patch-lib": "./scripts/patch-package.sh",
"run-android": "cd native && REACT_NATIVE_DEPENDENCIES=$HOME/Repos/notesnook-mobile/rn-build-deps/ react-native run-android --active-arch-only",
"run-android": "cd native && react-native run-android --active-arch-only",
"run-ios": "cd native && react-native run-ios",
"start": "cd native && react-native start",
"repack": "cd native && react-native webpack-start",
"install-pods": "cd native/ios && pod install"
"install-pods": "cd native/ios && pod install",
"build-ios": "cd native && detox build -c ios.sim.release",
"build-android": "cd native && detox build -c android.emu.release",
"e2e-android": "cd native && detox test --configuration android.emu.release --detectOpenHandles",
"e2e-ios": "cd native && detox test -c ios.sim.release --detectOpenHandles",
"bump": "npx react-native bump-version --skip-semver-for android"
},
"devDependencies": {
"patch-package": "^6.4.7",
"postinstall-postinstall": "^2.1.0",
"typescript": "^4.8.2"
},
"dependencies": {
"@notesnook/core": "*",
"@notesnook/editor": "*",
"@notesnook/editor-mobile": "*",
"@notesnook/core": "*"
"@notesnook/editor-mobile": "*"
}
}

View File

@@ -0,0 +1,13 @@
diff --git a/node_modules/@callstack/repack/android/build.gradle b/node_modules/@callstack/repack/android/build.gradle
index e41f2f3..b04735e 100644
--- a/node_modules/@callstack/repack/android/build.gradle
+++ b/node_modules/@callstack/repack/android/build.gradle
@@ -29,7 +29,7 @@ android {
compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
buildToolsVersion getExtOrDefault('buildToolsVersion')
defaultConfig {
- minSdkVersion 16
+ minSdkVersion 21
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
versionCode 1
versionName "1.0"

View File

@@ -348,7 +348,7 @@ index 063582c..472019c 100644
+endif ()
\ No newline at end of file
diff --git a/node_modules/react-native-reanimated/android/build.gradle b/node_modules/react-native-reanimated/android/build.gradle
index dfb79c8..51875ce 100644
index dfb79c8..323e5ec 100644
--- a/node_modules/react-native-reanimated/android/build.gradle
+++ b/node_modules/react-native-reanimated/android/build.gradle
@@ -1,10 +1,9 @@
@@ -656,15 +656,16 @@ index dfb79c8..51875ce 100644
_stackProtectorFlag ? (cppFlags("-fstack-protector-all")) : null
}
}
@@ -411,6 +238,7 @@ android {
@@ -411,6 +238,8 @@ android {
"**/libhermes.so",
"**/libreactnativejni.so",
"**/libjscexecutor.so",
+ "**/libv8executor.so",
+ "META-INF/MANIFEST.MF"
]
}
tasks.withType(JavaCompile) {
@@ -435,7 +263,7 @@ task cleanCmakeCache() {
@@ -435,7 +264,7 @@ task cleanCmakeCache() {
}
task printVersions {
@@ -673,7 +674,7 @@ index dfb79c8..51875ce 100644
println "Gradle: ${project.gradle.gradleVersion}"
}
@@ -446,10 +274,10 @@ task Log {
@@ -446,10 +275,10 @@ task Log {
task applyJavaPatches(type: Copy) {
def patchDirectory = file("${projectDir}/rnVersionPatch/${rnMinorVersion}")
if (patchDirectory.exists()) {
@@ -686,7 +687,7 @@ index dfb79c8..51875ce 100644
}
}
@@ -643,7 +471,7 @@ task extractSOFiles {
@@ -643,7 +472,7 @@ task extractSOFiles {
task packageNdkLibs(type: Copy) {
from("$buildDir/reanimated-ndk/all")
include("**/libreanimated.so")
@@ -695,7 +696,7 @@ index dfb79c8..51875ce 100644
include("**/libturbomodulejsijni.so")
}
into("$projectDir/src/main/jniLibs")
@@ -668,8 +496,7 @@ dependencies {
@@ -668,8 +497,7 @@ dependencies {
implementation "com.facebook.yoga:proguard-annotations:1.19.0"
if (isDeveloperMode()) {
implementation "com.facebook.fbjni:fbjni:" + FBJNI_VERSION
@@ -705,7 +706,7 @@ index dfb79c8..51875ce 100644
implementation "com.facebook.fbjni:fbjni-java-only:" + FBJNI_VERSION
}
implementation "com.facebook.react:react-native:+" // From node_modules
@@ -677,6 +504,11 @@ dependencies {
@@ -677,6 +505,11 @@ dependencies {
extractHeaders("com.facebook.fbjni:fbjni:" + FBJNI_VERSION + ":headers")
extractSO("com.facebook.fbjni:fbjni:" + FBJNI_VERSION)
@@ -717,7 +718,7 @@ index dfb79c8..51875ce 100644
def buildType = "debug"
tasks.all({ task ->
if (task.name == "buildCMakeRelease") {
@@ -688,25 +520,33 @@ dependencies {
@@ -688,25 +521,33 @@ dependencies {
rnAarMatcher = "**/**/*.aar"
}
def rnAAR = fileTree("$reactNative/android").matching({ it.include rnAarMatcher }).singleFile
@@ -758,7 +759,7 @@ index dfb79c8..51875ce 100644
buildTasks.forEach { task -> task.dependsOn(dependsOnTask) }
}
@@ -717,11 +557,30 @@ afterEvaluate {
@@ -717,11 +558,30 @@ afterEvaluate {
nativeBuildDependsOn(prepareThirdPartyNdkHeaders)
nativeBuildDependsOn(extractAARHeaders)
nativeBuildDependsOn(extractSOFiles)

View File

@@ -8,11 +8,16 @@
"build:web": "nx build @notesnook/web",
"start:web": "nx start @notesnook/web",
"install:web": "lerna add --scope=@notesnook/web ",
"install:mobile": "lerna add --scope=@notesnook/mobile ",
"test:web": "nx test @notesnook/web",
"test:core": "nx test @notesnook/core",
"start:android": "nx run-android @notesnook/mobile",
"start:ios": "nx run-ios @notesnook/mobile",
"prepare:ios": "nx install-pods @notesnook/mobile",
"build:ios": "nx build-ios @notesnook/mobile",
"build:android": "nx build-android @notesnook/mobile",
"test:ios": "nx e2e-ios @notesnook/mobile",
"test:android": "nx e2e-android @notesnook/mobile",
"start:metro": "nx start @notesnook/mobile",
"start:repack": "nx repack @notesnook/mobile",
"start:editor-mobile": "nx start @notesnook/editor-mobile",