Commit Graph

41 Commits

Author SHA1 Message Date
Pascal Hartig
23eaa74a85 Disable openssl for folly libevent builds too
Summary:
This has been tripping up the release builds, luckily caught by
Circle: https://circleci.com/gh/facebook/flipper/1480

Reviewed By: jknoxville

Differential Revision: D17282130

fbshipit-source-id: a17adb18bc75e4fa5d645a062343622167785fa6
2019-09-10 07:33:36 -07:00
Pascal Hartig
e6e070684c Fix x86_64 / upgrade libevent (#538)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/538

Upgrades libevent to the August release 2.1.11.

Some notable things:

- The CMake file they ship with is actually broken. It contains a reference to an "uninstall.cmake" script that they don't include in the archive.
- There is some git magic in the CMake script which throws very annoying warnings if you're not in a git repository and if you are, it's still super useless because it assumes it's the libevent repo.
- I've removed the uninstall reference and replaced version detection magic with hardcoded values. The result is the "CMakeLists.txt" in the overrides folder. For future upgraders: You'll have to either remove the override or apply similar steps to the next release.
- The `event-config.h` is simply one of the outputs I found under `android/build/libevent/x86/include/event2/event-config.h`. They seem to be stable across architectures so it's easier to just copy it over than to fix the CMake logic that should actually pick it up from the Android build path.
- The cmake target names have changed and have an underscore in them, now.
- Verified with an SDK 28 x86_64 that this does fix https://github.com/facebook/flipper/issues/482.

Fixes GH482.

Reviewed By: jknoxville

Differential Revision: D17164731

fbshipit-source-id: 642744118065bea2674dbb0e1af91a11598066cc
2019-09-04 04:44:50 -07:00
Pascal Hartig
3dfd9a92e4 Upgrade folly (#533)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/533

Bumping to the most recent version.

Reviewed By: jknoxville

Differential Revision: D17161724

fbshipit-source-id: 26bf94d83f5b9d31ef755b4bb0b36c18c4184696
2019-09-04 04:44:49 -07:00
Pritesh Nandgaonkar
7d8db465e1 Bump Folly dependency for Android (#463)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/463

Was made aware [here](https://github.com/facebook/flipper/issues/461) that
we currently don't build with NDK 20 because of Folly. The above issue exists only for x86 platform and not for other platform. I have updated the folly and RSocket. Although this diff doesn't solve the issue mentioned above for x86, but it updates the dependencies to the latest version. To mitigate temporarily, I have updated the gradle to not build for x86.

Reviewed By: passy

Differential Revision: D15713205

fbshipit-source-id: 79dd5825b0b876c87a1868fde8f3353a76012267
2019-06-12 03:40:19 -07:00
Pascal Hartig
3fa0a92754 Ensure build dir exists before writing to it (#436)
Summary:
This is because `doLast` may happen after the cleanup came around to undo `createNativeDepsDirectories` specified as dependency.
Pull Request resolved: https://github.com/facebook/flipper/pull/436

Reviewed By: jknoxville

Differential Revision: D15260597

Pulled By: passy

fbshipit-source-id: b752af2b71217ebc1d802b43f1585e858a41fc00
2019-05-08 10:10:43 -07:00
Pascal Hartig
f584eb05dd Another round of header updates
Summary: I hope that this takes care of all the android violations.

Reviewed By: danielbuechele

Differential Revision: D15199150

fbshipit-source-id: 0f5b4edc1bc9d38de0885f88bb2c3e43acfa09cd
2019-05-03 09:59:33 -07:00
Pascal Hartig
74c8dbe631 Fix gradle directory error
Summary:
Without this, running clean as part of a longer build
chain will fail because it tries to write to a directory
which got removed in a previous step.

Reviewed By: jknoxville

Differential Revision: D15197982

fbshipit-source-id: 296f5a30661a6e2138c0e37f0103f1b6a82bcfc9
2019-05-03 08:51:13 -07:00
Pascal Hartig
608b9182ce Add version headers
Summary: Last big batch of adding license headers in Java code where they were missing.

Reviewed By: jknoxville

Differential Revision: D15164860

fbshipit-source-id: 4c0a61eec7b5659fdc674ebed85f2ade60dd0aa0
2019-05-01 08:14:55 -07:00
Pascal Hartig
b594fb7c76 Fix download caching
Summary:
Not sure why, but if we stick this in the build folder,
the artifacts get downloaded every single time despite `onlyIfNewer`.

Reviewed By: jknoxville

Differential Revision: D14132383

fbshipit-source-id: 464e4a6e474877c16a06a6e83ccd1a2e355cbea2
2019-02-19 09:06:19 -08:00
Pascal Hartig
3b18303560 Revert D13302768: [flipper] Upgrade to cmake 3.10.2
Differential Revision:
D13302768

Original commit changeset: c38601659bde

fbshipit-source-id: d624e51a489cd2d85288f85e13e09638e2ebb4be
2018-12-06 04:45:54 -08:00
Pascal Hartig
03b5306459 Upgrade to cmake 3.10.2
Summary: This was recommended by my Android Studio 3.3 when starting up, so let's do this.

Reviewed By: jknoxville

Differential Revision: D13302768

fbshipit-source-id: c38601659bde4515d62b31efbd907b44304aafba
2018-12-05 15:47:22 -08:00
Pascal Hartig
5d9e9aa402 Remove CMakeList.txt copy
Summary: The file doesn't actually exist anymore as we found our earlier today.

Reviewed By: priteshrnandgaonkar

Differential Revision: D9972135

fbshipit-source-id: aac5f5afd301169aaa552554b11fd4132285d951
2018-09-21 03:27:53 -07:00
Pascal Hartig
cc6f28f7c4 Link static libraries statically (#277)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/277

Link all dynamically loaded libraries statically with the exception of libevent.

Reviewed By: jknoxville

Differential Revision: D9967422

fbshipit-source-id: b33cec5da0c2b34f47217353f205b9d77f1acae2
2018-09-20 09:35:19 -07:00
Pascal Hartig
88ca69a13f Rename Java packages from sonar to flipper
Summary:
This soft-breaks Android Studio support because folder names no longer map to package names, but this will be mitigated by future diffs.

Steps taken for rename:

```
cd xplat/sonar/android/;
ambr 'com.facebook.sonar' 'com.facebook.flipper'
```

Reviewed By: danielbuechele

Differential Revision: D9850009

fbshipit-source-id: d26d8ab783e7050e4e2fbdd0c35eae3f97879464
2018-09-19 09:12:06 -07:00
Pritesh Nandgaonkar
9a16d9cbad Update rsocket version
Summary: Updates rsocket version

Reviewed By: passy

Differential Revision: D9769468

fbshipit-source-id: b822e697446b1464b63206869726e0e086438134
2018-09-13 03:12:35 -07:00
Pritesh Nandgaonkar
ea840e230e Update Folly version
Summary: Updated Folly version for android

Reviewed By: passy

Differential Revision: D9754662

fbshipit-source-id: 487a2cab4114e42672a431edfdfbe79bdb412076
2018-09-11 04:43:24 -07:00
Pascal Hartig
02cf3a90a2 Fix build caching (#242)
Summary:
See https://github.com/facebook/flipper/issues/230 for a longer
explanation.

It turns out that many of the tasks in `native.gradle` (at least
`prepareGlog` which modifies files inside the source directory, but also
others) cause the cmake cache to invalidate.

Because we run those tasks unconditionally, we need to recompile all our
C++ code even when unmodified.

I fix this by adding a manual cache key to this which simply skips all
the tasks unless an up-to-date `external_cache_revision.txt` is found.
This is a bit hacky, but the alternatives are a) convincing cmake that
these modifications are not recompile-worthy which I have no idea how to
do and which might be impossible to do `mtime` on the files touches, or
b) having fine-grained `onlyIf` rules for every task which can easily
break. This seems the most straight-forward option.

Fixes #230.
Pull Request resolved: https://github.com/facebook/flipper/pull/242

Reviewed By: jknoxville

Differential Revision: D9381340

Pulled By: passy

fbshipit-source-id: a7db55aacac4a29076c29298d6c5b97d8bc91f66
2018-08-20 07:43:47 -07:00
Pritesh Nandgaonkar
3a584d0f18 Update rsocket version (#225)
Summary:
Updates rsocket to latest version
Pull Request resolved: https://github.com/facebook/flipper/pull/225

Reviewed By: jknoxville

Differential Revision: D9313576

Pulled By: priteshrnandgaonkar

fbshipit-source-id: afd55eddfa79f0f9d2a36a6f0539d823161d1bed
2018-08-14 06:01:00 -07:00
Pascal Hartig
e50bbd861d Change OpenSSL source download URL
Summary:
I'm "mirroring" the tarball so we can download this from
Java. Even JDK 8 doesn't like LetsEncrypt yet.

Reviewed By: danielbuechele

Differential Revision: D9264373

fbshipit-source-id: abb91fb72d74dccde4775cc852a93d75dd5a48e5
2018-08-10 10:11:47 -07:00
Pascal Hartig
cd6a5f9ff8 Reorganize native dep download and extraction (#154)
Summary:
This moves the native setup to a separate gradle file and unpacks everything outside the build folder. That way we don't throw everything away on every incremental build.

This is an intermediate step to get to a more declarative setup like Fresco has it and get rid of the individual hacks we have for every download.
Pull Request resolved: https://github.com/facebook/Sonar/pull/154

Reviewed By: jknoxville

Differential Revision: D8833812

Pulled By: passy

fbshipit-source-id: 2424c9d6e22e6092c04af344e06939b4a6aba041
2018-07-16 10:26:10 -07:00
Pascal Hartig
c7de8b8d37 Link against OpenSSL statically (#149)
Summary:
Compile against a static version of OpenSSL for better compatibility
with apps that already use OpenSSL in some fashion.
Pull Request resolved: https://github.com/facebook/Sonar/pull/149

Reviewed By: priteshrnandgaonkar

Differential Revision: D8804169

Pulled By: passy

fbshipit-source-id: 4de66a77806a3b3f01b2cf5f253916f2cf6f48e8
2018-07-11 08:42:02 -07:00
Pascal Hartig
020a771125 Clean up Folly CMakeLists (#127)
Summary:
Remove left over from local testing.
Closes https://github.com/facebook/Sonar/pull/127

Reviewed By: danielbuechele

Differential Revision: D8723789

Pulled By: passy

fbshipit-source-id: f08203a441c35860dd5257a0ec147d1bf9c3da60
2018-07-04 11:33:36 -07:00
Pascal Hartig
3dcf7722bb Add support for x86_64 builds (#128)
Summary:
Add the required compiler flag for Folly when building x86_64.

I'll prepare a new release for this shortly.

Depends on #126
Closes https://github.com/facebook/Sonar/pull/128

Reviewed By: danielbuechele

Differential Revision: D8731955

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 9511811b0b51205989a5200ad9d0d8689ca684cb
2018-07-04 10:17:52 -07:00
Pascal Hartig
69711642c9 Build against vanilla OpenSSL 1.1.0h (#125)
Summary:
This uses OpenSSL 1.1.0h to build and link against. The `.so`s are
precompiled and hand-patched from [this
repository](https://github.com/passy/android-database-sqlcipher). The
patching was necessary to fix the `SONAME` and corresponding `NEEDED`
flags to *not* contain a `.1.1` version suffix as Gradle will refuse to
bundle those.

We basically only use the headers for the remaining part.

The precompiled version contains ABI support for `arm64-v8a`, `armeabi`,
`armeabi-v7a`, `x86` and most importantly `x86_64`. HOWEVER, `x86_64` is
still excluded for now because folly fails to compile due to a missing
compiler flag:

```
error: needs target feature pclmul
```

This should be easily fixable by ensuring that `-mpclmul` is added to
the CFLAGS if we're compiling for an `x86_64` target in the
`CMakeLists.txt` for Folly.

Closes #113.
Closes https://github.com/facebook/Sonar/pull/125

Reviewed By: priteshrnandgaonkar

Differential Revision: D8723636

Pulled By: passy

fbshipit-source-id: 41c61047d2793ebaef5793a3c937c4d628471d6a
2018-07-03 13:18:53 -07:00
Pascal Hartig
0515ddb76e Setup fbjni sub-project for maven (#119)
Summary:
Set up our fbjni sub-project to be published to Maven Central.
This removes a bunch of abiFilters that we no longer make use of, too.
Closes https://github.com/facebook/Sonar/pull/119

Reviewed By: priteshrnandgaonkar

Differential Revision: D8694537

Pulled By: passy

fbshipit-source-id: de246fbda99c02856fbc7806b78df2114cb82acb
2018-07-02 01:19:35 -07:00
Pritesh Nandgaonkar
452dfd7ecc Remove armeabi arch from gradle
Summary: Currently while building thru gradle got the error that armeabi is not supported.The supported ABI's by ndk are x86, x86_64, armeabi-v71, arm64

Reviewed By: danielbuechele

Differential Revision: D8611628

fbshipit-source-id: 80d9449c35a69aab020412b523f5c21fe6661de8
2018-06-25 06:02:32 -07:00
Pritesh Nandgaonkar
edfdd64950 [WIP] gradle builds but app freezes, updated fbjni so file is the possible culprit 2018-06-21 16:27:18 +01:00
Pritesh Nandgaonkar
a49d31a12d Remove comments 2018-06-19 18:31:18 +01:00
Pritesh Nandgaonkar
88ecb9b494 app builds but not with sonarfb 2018-06-18 18:45:37 +01:00
Pritesh Nandgaonkar
51c36cf2bd RSicket builds 2018-06-14 21:45:45 +01:00
Pritesh Nandgaonkar
ff7dc5cb37 Added Rsocket 2018-06-14 19:55:29 +01:00
Pritesh Nandgaonkar
e50122dc85 Folly builds 2018-06-14 17:59:24 +01:00
Pritesh Nandgaonkar
04784186df Update folly gradle 2018-06-14 13:53:39 +01:00
Pritesh Nandgaonkar
e35206fde7 Libevent referenced thru pre built libraries 2018-06-14 13:48:42 +01:00
Pritesh Nandgaonkar
d80b063fa0 changes in cmake of libevent 2018-06-13 21:41:37 +01:00
Pritesh Nandgaonkar
02161dc06b Add openssl as a dependency to Folly 2018-06-13 18:49:01 +01:00
Pritesh Nandgaonkar
c2b1f09c84 OpenSSL builds successfully 2018-06-13 16:37:15 +01:00
Pritesh Nandgaonkar
a887a87a8d Added OpenSSL 2018-06-13 11:36:51 +01:00
Pritesh Nandgaonkar
d64926bf40 commit changes 2018-06-12 10:24:50 +01:00
Pritesh Nandgaonkar
7f6954a1d1 update 2018-06-11 10:22:23 +01:00
Daniel Büchele
fbbf8cf16b Initial commit 🎉
fbshipit-source-id: b6fc29740c6875d2e78953b8a7123890a67930f2
Co-authored-by: Sebastian McKenzie <sebmck@fb.com>
Co-authored-by: John Knox <jknox@fb.com>
Co-authored-by: Emil Sjölander <emilsj@fb.com>
Co-authored-by: Pritesh Nandgaonkar <prit91@fb.com>
2018-06-01 11:03:58 +01:00