Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to fix the native build #639

Merged
merged 12 commits into from
Apr 18, 2020
Merged

Attempt to fix the native build #639

merged 12 commits into from
Apr 18, 2020

Conversation

shankari
Copy link
Contributor

And to get the CI to pass again.
Fingers crossed!

Cherry-picked part of
https://github.com/fabmob/e-mission-phone-fabmob/commit/df421d9d7524c692963933be20f4fa62fd445baf.patch
since I don't think that the OpenID change is correct. Or at least, it requires
a lot more discussion.

This should also really go into the plugin, but no time for niceties now.
Testing done:
- Built android
- Saw the list of files being modified
- Checked `AndroidManifest.xml` and ensured that the provider was indeed renamed
Verified via `vimdiff` from the covid19 app.
Alas, we can't use cherry-pick because of the unrelated changes (e.g. app name, app version)

e-mission also uses plugins that are not in the covid19 app, so we upgrade
those to the most recent versions as well.

A particularly important update is the webview update to 3.2.0 to handle the
WKWebView issue.

We also update the push plugin to the most recent version. This has been flaky
in the past, but we were already at v2, so hopefully this is not a big deal.
The push plugin also requires `google-services.json` and
`GoogleService-Info.plist` to be downloaded from the Firebase console.

These are obviously different for each different native build, AND
we are obviously not going to check in the versions for the base app.

So we check in fake versions of the files which have the same format as the
original files but with faked out ids and project names and modify the setup
scripts to copy them over.

This will work for the build CI for now - for actual testing CI, we will need
to set up encrypted storage as part of the workflow. Which will only run on
pushes to the main repo not on the forks, so it will be complicated to test.
Since both android and iOS are in the configuration and plugins for both
platforms are installed during every `prepare`
There are 3 additional plugins pulled in as dependencies:

- `cordova-support-google-services 1.3.2` (from `phonegap-plugin-push`)
- `phonegap-plugin-multidex 1.0.0` (from `phonegap-plugin-push`)
- `es6-promise-plugin 4.2.2` (from ???)
To keep the ionic plugins happy
- Run cordova the new way
- label the resulting apk correctly
+ bump up the cordova android version
+ use the matching kotlin SDK library
+ adapt the sign and release script to the new apk locations in cordova-android 7+
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant