Commit Graph

135 Commits

Author SHA1 Message Date
Jakub Sokołowski 7a058594de
fix maven deps shell by ajusting arguments
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-05-01 12:37:52 +02:00
yenda d5ef218584
use shadow-cljs
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2020-04-30 15:43:46 +02:00
Jakub Sokołowski 7b6b620ceb
nix: use overlays instead of packageOverrides
Changes:
- Add `nix/DETAILS.md` for more in-depth info
- Rename some of `config.status-im` variables
- Drop `env` argument for Android build
- Use `overlays` instead of `packageOverrides`
- Move the `pkgs` overlay to `nix/overlay.nix`
- Move `nix/status-go/utils.nix` to `nix/tools`
- Make `shell.nix` use the `shells.default` only
- Use `default.nix` as target for `nix/scripts/shell.sh`
- Make `nix/scripts/shell.sh` use `--attr` instead of `target`
- Drop the `target` argument in favour of using `--attr`
- Drop unnecessary `src` from `nix/mobile/ios/default.nix`
- Move `mkShell` and `mergeSh` under `lib`
- Move `patched-go` package to `nix/pkgs` directory
- Move `gomobile` package to `nix/pkgs` directory
- Move `ANDROID_ABI_SPLIT` to `config.status-im.android.abi-split`
- Move `ANDROID_ABI_INCLUDE to `config.status-im.android.abi-include`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-29 11:53:33 +02:00
Jakub Sokołowski 439643daa4
undo removing of preBuild gradle stop
This partially reverts commit 548fe04f54.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-24 20:15:02 +02:00
Jakub Sokołowski 68b9b18cae
nix: refactor android sdk package
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-24 11:18:36 +02:00
Jakub Sokołowski 2a4641684f
fix Gradle plugin by upgrading to 3.5.3
We tried upgrading to 3.6.0 but it made app fail to start:
https://github.com/status-im/status-react/pull/10402

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-23 15:38:03 +02:00
Roman Volosovskyi 9d59d82869
Revert "gradle: upgrade plugin to 3.6.0"
This reverts commit 938f3df843.

Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2020-04-22 14:11:05 +02:00
Jakub Sokołowski 938f3df843
gradle: upgrade plugin to 3.6.0
This is to fix incompatibility with new Gradle 5.6.4:
https://developer.android.com/studio/releases/gradle-plugin#updating-gradle

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-21 22:30:10 +02:00
Jakub Sokołowski 5380fcd68f
upgrade Nix packages, and a lot of dependencies
Notable version upgrades:

- Go: 1.13.4 > 1.14.0
- GoMobile: 20190806 > 20200329
- NodeJS: 10.17.0 > 12.0.0
- Yarn: 1.19.1 > 1.22.4
- Gradle: 5.1.1 > 5.6.4
- OpenJDK: 1.8.0-222 > 8u242-b08
- Clojure: 1.10.0.411 > 1.10.1.507

OpenSSL is still stuck on 1.0.2u due to Android SDK.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-20 11:52:44 +02:00
Jakub Sokołowski d68b757589
upgrade Xcode to 11.4.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-16 22:13:47 +02:00
Jakub Sokołowski 035e07f7be
upgrade to Xcode 11.4
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-16 12:56:03 +02:00
Jakub Sokołowski ae411a432f
fix Gradle permission errors during build
Specifically:
org.gradle.internal.service.ServiceCreationException: Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().
Caused by: org.gradle.api.UncheckedIOException: Failed to create parent directory '/build/project/android/.gradle/5.6.4' when creating directory '/build/project/android/.gradle/5.6.4/fileHashes'

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-16 10:47:17 +02:00
Gheorghe Pinzaru c9e6f0aff7
Add animation to wallet header transition
Add reanimated lib

Wallet header animation

Animate android elevation

Move constants into styles

Ensure line width

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-04-15 17:41:15 +03:00
Jakub Sokołowski 0cc7ec92bd
fix displaying of version and build number in app
Changes:
- Includes `VERSION` file in source for `jsbundle` derivation
- Includes `BUILD_NUMBER` file and it's generation scripts
- Includes minimal `.git` files to make `git rev-parse --short HEAD` work
- Implements `ignoreVCS` for `mkFilter` to be able to include `.git` files
- Adds missing `git` and `bash` to `buildInputs` for `jsbundle` derivation
- Dropped `bash -c` from Clojure code calling `git`

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-08 22:55:53 +02:00
Jakub Sokołowski 5ddd605328
fix missing asset images
jsbundle derivation needs to have images available because it stat's
them to verify they exist. They are actually included by Gradle.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-04-07 09:24:45 +02:00
Jakub Sokołowski f75cb14588
refactor and simplify mkFilter, use more restrictive rules
This should reduce rebuilds of status-react-npm-gradle-modules

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-31 17:03:39 +02:00
Gheorghe Pinzaru a2b2f55996
Use react native screens on ios and android
Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-03-17 19:56:26 +03:00
Gheorghe Pinzaru d823a2082a
Update react navigation and rework wrapper
Get rid of navigation wrapper

Use new API to declare navigation

Update tabbar component

Update to use new navigation events

Add ios presentation modal

Navigation cleanups

Android specific updates

Use letsubs for stack subscriptions

Keycard did load event backward compatibility

Fix tabbar and wallet on-focus bad rebase

Do not keep welcome screen into the stack

Comment outdated test

Fix rebase on home PR

Cancel back button on screens which can't be popped

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-03-17 11:52:31 +03:00
Jakub Sokołowski 2f412d95ee
nix: rename adb target to android-env
Makes more sense since it contains entire Android SDK and NDK.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-16 12:11:08 +01:00
Jakub Sokołowski de53581ef4
nix: don't generate keystore inside of Nix build
changes:
- Stops scripts/generate-keystore.sh runnig for every new TARGET=android shell
- Moves running scripts/generate-keystore.sh to keystore Makefile target
- Makes generate-keystore.sh accept STATUS_RELEASE_STORE_FILE as env variable
- Fixes error about missing lsof from start-react-native.sh
- Fixes error about unknown -keystore command in scripts/generate-keystore.sh
- Fixes getting OS_NAME without calling Nix shell
- Fixes getting TMP_BUILD_NUMBER without calling Nix shell
- Adds lsof used in start-react-native.sh to Android release Nix derivation
- Simplified how nix/scripts/build.sh appends the --keep flag
- Made use of colors.sh in more scripts

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-03-05 10:56:54 +01:00
Jakub Sokołowski c9e7d811ed
nix: fix Gradle download links by using https
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-22 19:46:28 +01:00
Jakub Sokołowski c3f3ca3e12
nix: upgrade nixpkgs ot bump Android NDK to 21.0.6113669
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-22 19:46:20 +01:00
Gheorghe Pinzaru 6d666a07fe
Revert "Add animated onboarding videos"
This reverts commit 59140d971f.

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-01-22 16:53:54 +03:00
Pedro Pombeiro 2dce0ba861
Integrate status-go Nimbus build
Signed-off-by: Pedro Pombeiro <noreply@pedro.pombei.ro>
2020-01-21 08:48:04 +01:00
Gheorghe Pinzaru 59140d971f
Add animated onboarding videos
Add animated assets on intro screens

Add component for video on home view

Did not use it for now - as the asset for that video is broken

Do not justify center videos in intro

Update video assets for home view

fix generate-nix.sh script for maven deps

Signed-off-by: Jakub Sokołowski <jakub@status.im>

add missing android-scalablevideoview dependency

Signed-off-by: Jakub Sokołowski <jakub@status.im>

Fix center position of videos in onboarding

Use image for sample key in android

Because during animation transition in creates a black background

Add play when inactive for ios

Signed-off-by: Gheorghe Pinzaru <feross95@gmail.com>
2020-01-17 10:25:08 +03:00
Jakub Sokołowski b402dc9c62
upgrade XCode to 11.3.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-01-14 17:23:19 +01:00
Pedro Pombeiro d62cda4d66
nix: Add support for reading .env feature flags 2020-01-14 15:16:30 +01:00
Pedro Pombeiro e220ecbb0a
Cleanup
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2020-01-10 19:59:54 +01:00
Pedro Pombeiro 43c6d7d6c7
nix: Update Gradle sources
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-12-31 15:29:54 +01:00
Jakub Sokołowski aca703a011
major nix refactor
Changes:
- Adds a new `nix-gc` Makefile target for removing old packages
- Moves all `nix/*.sh` files to `nix/scripts/*.sh` to make things more tidy
- Renames `TARGET_OS` into `TARGET` and makes it effective only with `nix/scripts/shell.sh`
- Renames `target-os` Nix argument to just `target` and makes it effective only with `shell.nix`
- Drops `IN_CI_ENVIRONMENT` env variable which was useless
- Drops use of `target-os` argument outside of `shell.nix` (with few exceptions, but just in naming)
- `nix/platform.nix` has been made obsolete and removed
- Moves the definition of all major targets to `nix/targets.nix`
- Moves the definition of all major shells to `nix/shells.nix`
- Makes `default.nix` and `shell.nix` just thin wrappers around `nix/default.nix`
- `nix/nixpkgs-bootstrap.nix` has been moved to `nix/pkgs.nix`
- All package and tool overrides have been moved to `nix/pkgs.nix`
- Explicit passing of contents of `pkgs` has been removed in favor of `callPackage` doing it for us
- `nix/bootstrapped-shell.nix` has been moved to `nix/tools/mkShell.nix`
- A new `mergeSh` tool has been added to `pkgs` from `nix/tools/mergeSh.nix`
  - This tool is used to merge shells created using `mkShell`
- `mobile/targets/jsbundle.nix` has been moved to `mobile/android/jsbundle/default.nix`
- Moves `status-go` version sanitization to `nix/status-go/utils.nix`
- Renames version to rawVersion and versionName to cleanVersion in status-go derivation
- Ports nix/mobile/ios/install-pods-and-status-go.sh to Nix sub-shells
- Moves adjustment of `inotify/max_user_watches` out into `scripts/inotify_fix.sh`
- Makes iOS builds use the Nix version of Fastlane

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-12 18:51:21 +01:00
Jakub Sokołowski 72dfb5189e
upgrade Xcode: 11.1 > 11.2.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 17:45:22 +01:00
Jakub Sokołowski d6d33aceb0
add fastlane to ios shell
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 17:44:43 +01:00
Jakub Sokołowski e8b4ed4ca8
fixes for RN upgrade
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 17:10:14 +01:00
Jakub Sokołowski f330392ccf
narrow match with UID, print persistent matching processes
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-30 14:47:06 +01:00
Jakub Sokołowski b32dd113f6
nix: upgrade nixpkgs
Also:
- upgrade Go: 1.12 > 1.13
- upgrade Android SDK: 28.0.3 > 29.0.2
- nix: stop using system Fastlane for iOS builds
- nix: include CocoaPods in shell for iOS
- nix: concatenate shellHooks correctly
- fix gomobile status-go build by setting GO111MODULE=off
- fix gradle accepting empty STATUS_GO_SRC_OVERRIDE value
- don't use a pure shell for uploadToSauceLabs()

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-26 16:30:41 +01:00
Pedro Pombeiro f7384ae338
Add support for `STATUS_GO_SRC_OVERRIDE` env var
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-11-13 16:41:21 +01:00
yenda 36ad6fb762
support for local notification service on Android
- add option in profile on Android to enable local notifications
- use foreground service to keep the app alive when running in the background
- implement enable and disbable notification function in status module

When enabling notifications, a foreground service is started that displays
a sticky notification to make the user aware that the app is running in the
background.
Notifications are updated whenever a new.message signal is handled on java side.
Currently only one to one chats are generating notifications but that can be
easily extended to other types of messages, including mentions and keywords.
The ens name of the user as well as keywords to follow should then be passed
to the native side when calling the enable function.

Signed-off-by: yenda <eric@status.im>
2019-11-07 09:59:12 +01:00
Andrey Shovkoplyas acdad6d598
fixes animated gifs on Android
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Signed-off-by: yenda <eric@status.im>
2019-11-01 13:05:03 +01:00
Jakub Sokołowski f85ace651a
combined desktop dependency upgrades
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-30 11:43:13 +01:00
yenda 7bb45fdd8f
remove firebase
Signed-off-by: yenda <eric@status.im>
2019-10-29 15:03:58 +01:00
Jakub Sokołowski f72452d04f
fix matching deps with only one dependency
those often end with (*) since their base dep was already listed

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-25 18:00:54 +02:00
Pedro Pombeiro 8e90103e96
nix: Upgrade expected Xcode version to 11.1
Also:
- nix: Disable symlink store check
- Add comments to dependabot config file

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-15 18:40:26 +02:00
Volodymyr Kozieiev ace4b5a161
Desktop works with react-navigation v3
Signed-off-by: Volodymyr Kozieiev <vkjr.sp@gmail.com>
2019-10-02 10:19:37 +03:00
Jakub Sokołowski 973623f4c8
build multiple APKs for different architectures
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-30 13:59:42 +02:00
Pedro Pombeiro 4f7cb549d9
Upgrade from hermesvm@0.1.1 to hermes-engine@0.2.1
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-09-16 17:07:52 +03:00
Pedro Pombeiro 061939189b
nix: Use a more standard name the patched Gradle and NPM package 2019-09-14 00:10:51 +02:00
Pedro Pombeiro 8c7323e126
Use flock to create exclusive locks on node_modules/
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-13 17:46:18 +02:00
Pedro Pombeiro e3e8e218ad
Make root folder less busy
- Move `mobile_files` into `mobile/js_files`
- Move `desktop_files` into `desktop/js_files`

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-12 16:54:12 +02:00
Pedro Pombeiro 8209bf260c
Rename `package.json.orig` to `package.json`
- This allows 3rd party tools like Dependabot to inspect our dependencies
2019-09-12 16:16:43 +02:00
Pedro Pombeiro cc79cf3b3a
Enable Hermes in Android. Fixes #8952
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-12 16:15:11 +02:00
Pedro Pombeiro e4eabd2810
Migrate to use AndroidX 2019-09-12 16:13:43 +02:00
Pedro Pombeiro 46e3b52809
Fix Android build on macOS 2019-09-12 16:13:42 +02:00
Pedro Pombeiro 9feb31bd3b
Upgrade react-native to 0.60.5
- Use community net-info, react-native-webview instead of deprecated react-native classes
- Remove react-native-tcp
- Upgrade react-native libs (react-native-camera, react-native-firebase, react-native-mail, react-native-udp, react-native-webview-bridge)
- Do not include `:react-native-android` module explicitly
- Take advantage of RN AutoLinking
- nix: Update Gradle dependencies
2019-09-12 16:13:42 +02:00
yenda c3dd950286
remove realm
Signed-off-by: yenda <eric@status.im>
2019-09-09 18:40:15 +02:00
Pedro Pombeiro a74089f857
nix: Fix generate-maven-and-npm-deps-shell
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-09-06 17:18:36 +02:00
bitsikka 083cf07670
Ensure the pods are installed if `ios/Pods/` dir isn't there 2019-09-06 11:57:24 +02:00
Pedro Pombeiro 66b982c3fb
Use react-native net-info community package
Signed-off-by: yenda <eric@status.im>
2019-09-05 14:16:28 +02:00
Pedro Pombeiro 58d310ffce
Remove RAM bundle support 2019-08-30 17:13:35 +02:00
Pedro Pombeiro 78754dfdee
Fix local release PR builds (were missing js modules)
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-27 11:49:48 +02:00
Jakub Sokołowski 06dd2e5293
use wait-for.sh to fix nix/clean.sh race condition
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-21 18:53:00 -04:00
Pedro Pombeiro f0c3958367
nix: Pass target-os to Nix script
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-20 10:02:46 +02:00
Pedro Pombeiro bdc0ba2680
nix: Reset node_modules when Yarn deps change
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-15 11:19:35 +02:00
Pedro Pombeiro ff721ba1bf
nix: Some minor fixes 2019-08-15 11:18:31 +02:00
Pedro Pombeiro f691304b9d
Fix minor issues and typos in Android build process
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-08-01 19:34:33 +02:00
Jakub Sokołowski 7517f5235a
use nix shell for nix-update-* targets
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-30 14:11:02 -04:00
Pedro Pombeiro 9594552102
nix: Apply some nixfmt suggestions and fix macOS status-go buildInputs
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-07-29 18:01:07 +02:00
Pedro Pombeiro acf6278383
nix: Use nix/build.sh for release-android make target
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-26 16:01:06 -04:00
Jakub Sokołowski 2acd5b4cb0
rename prod-build to jsbundle so it means something
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-24 11:56:03 -04:00
Pedro Pombeiro 67d21c98c1
nix: Use status-go commit sha1 in Nix expression to allow for moving branches
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-20 10:11:34 -04:00
Pedro Pombeiro 7230897b94
nix: Allow some build directories to stay in mobile node_modules (for caching)
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-07-19 08:37:16 +02:00
Pedro Pombeiro 90fbcfab2b
nix: Only include fastlane in main shell when targetting iOS.
This sidesteps an issue where Nix complains about mismatched hashes in `ruby2.5.3-unf_ext-0.0.7.6` expression for Android CI builds.

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-07-15 16:35:01 +02:00
Pedro Pombeiro a7fd659d84
nix: Wrap gradle, npm packages, `lein prod-build` and `gradle assembleRelease` in Nix expressions to improve reproducible builds with constant build paths 2019-07-15 16:08:02 +02:00
Pedro Pombeiro 79db8e5107
Upgrade Xcode requirement to 10.2.1
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-06-13 15:03:58 +02:00
Pedro Pombeiro ee127722ce
nix: Move debug realm into desktop folder and use RN cli from node_modulesSigned-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com> 2019-05-23 22:54:43 +02:00
Pedro Pombeiro 373291bfc0
nix: Avoid bad practice of inheriting pkgs
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-21 12:15:56 +02:00
Pedro Pombeiro b542c7de26
Minor refactoring of the way dependency packages are iterated for shellHook and buildInputs.
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-13 13:08:28 +02:00
Pedro Pombeiro a09ff50583
nix: Move status-go package further down where it is actually used
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-10 13:31:44 +02:00
Pedro Pombeiro 49fbf21f8d
Split status-go Nix package per platform so rebuilds are faster
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-06 14:40:23 +02:00
Pedro Pombeiro 9d1e266145
Use fastlane Nix package instead of ruby/bundler for Android
- iOS still has issues with native Ruby dependencies

Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-05-06 11:57:12 +02:00
Pedro Pombeiro b575f5f6a5
Create androidenv package with accepted license so build can run with --pure 2019-05-06 11:56:51 +02:00
Pedro Pombeiro 1dc59cb770
Fix typo in android.nix PATH
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-04-29 22:17:49 +02:00
Pedro Pombeiro 8e6b8b1ff1
Use Android SDK from nixpkgs instead of downloading 2019-04-12 13:57:38 +02:00
Pedro Pombeiro aeacbd928e
Separate logic into shell.nix and derivation.nix to fix `nix build` command
Signed-off-by: Pedro Pombeiro <pombeirp@users.noreply.github.com>
2019-04-11 17:44:29 +02:00
Pedro Pombeiro f048b8a80d
Use gradle 4.10.2 package from nixpkgs so the wrapper doesn't need to download it 2019-04-09 12:44:39 +02:00
Pedro Pombeiro 65e6e80349
Create Nix package for building status-go 2019-04-09 12:44:39 +02:00