It needed the SWIFT_VERSION variable to be set, and for it to be set to
a version that exists on my system. I'm pasting the error over here so
maybe I google search will help a lost soul in the future -
`flutter_email_sender` does not specify a Swift version and none of the targets (`Runner`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.
https://github.com/sidlatau/flutter_email_sender/issues/8
The Podfile and lockfile have all changed since the dependnecies have
changed so much (because of the AndroidX update). I've had to comment
out the flutter_email_sender for now, since I just cannot seem to get
it to work, in fact, even the current build is a hit and miss.
The Android Support Library is not androidx
https://developer.android.com/jetpack/androidx
This also required me to update each of the dependencies, as the
androidx migrated has resulted in major version changes in most of the
libraries.
This also attaches the entire 'adb logcat' in Android. This way, we can
hopefully get useful info about why something is not working.
This currently breaks the build as we need to migrate to Android X
This reverts commit 87aa6f7e5088ecad2c8926855057836891786a85.
Apparently one cannot publish debuggable APKs in the PlayStore. I wanted
this to be able to ask users to send me the logs via 'logcat', but it
seems I will have to figure out some other way.
Now I can finally push all these changes, as the CI should also run and
we're ready to try out the new version of the app which uses libgit2
instead of jgit. Hopefully no user will notice anything different.
It just seems to make a lot of changes. No idea about half of these. The
ios world is strange and foreign. I have hooked it up to Firebase
Analytics, though.
Also build on all architectures instead of just 64-bit.
Before it was broken, and we weren't really doing anything. Now, we
commit both versions of the file, so it results in the journal having an
ugly <<<< HEAD === thingy. But this is a start!
We can improve this by choosing which one of the changes to keep.
libssh is LGPL licensed, which means I would need to re-license the
entire app since we are linking against it statically. I could
dynamically link against it, but since I was only trying to use it for
key-generation and that doesn' seem to be working, I may as well discard
it.
For now, I'm going to stick with jsch for the key generation. On ios
side, I'm not sure what I will do. One option could be to compile
openssh and call the ssh-keygen binary.
This way we can easily test it outside of Android. Strangely enough this
doesn't work on Android or osx for me. It only seems to work in an
ubuntu linux container.
It's not perfect as our implementation of git pull results in an extra
merge commit and doesn't handle conflicts properly, but it is a basic
implementation, so at least we have something.
The annotated commit must be created from the remote's branch's ref.
This entire thing is quite confusing, but for now at least git pull's
work properly, though with an extra merge commit.
In order to do a commit, we need the parents for that commit. In the
case of a merge commit - it should be the 'master' and 'origin/master'
(in the case of the master branch). I cannot seem to get the id of the
'origin/master' commit. So, for now it is hardcoded.
But hey, at least this works.
This was what I was using to try out this library locally. I probably
should have made a proper unit test suite, but this was just so much
faster and easier.
LibGit2 has been designed in a strange way. It doesn't give us an easy
way of knowing if and why the credentials has failed, it jusst keep
calling the credentials failed method.
We are now working around this.