From fa3c3e67351cd39ea4f8354231b90d3e66dbbdb7 Mon Sep 17 00:00:00 2001 From: Devin Bileck <603793+devinbileck@users.noreply.github.com> Date: Mon, 24 Jun 2024 23:22:17 -0700 Subject: [PATCH 1/4] Downgrade javacv to resolve UnsatisfiedLinkError on macOS --- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 655 +++++++++---------------------- 2 files changed, 184 insertions(+), 473 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2879d08e577..6754fe28ff7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -47,7 +47,7 @@ openjfx-javafx-plugin = { strictly = '0.0.10' } protobuf = { strictly = '3.19.1' } pushy = { strictly = '0.13.10' } qrgen = { strictly = '1.3' } -javacv = { strictly = '1.5.10' } +javacv = { strictly = '1.5.9' } slf4j = { strictly = '1.7.30' } spark = { strictly = '2.9.4' } swagger-lib = { strictly = '2.2.0' } diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index ec2514401a9..0b7019badae 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1737,42 +1737,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1780,73 +1744,15 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - + + - - - - - - - - - - - - - - - - - - @@ -1854,71 +1760,73 @@ - - - + + + - - + + - - - + + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + + + + - - - + + + + + + @@ -1926,87 +1834,31 @@ - - - + + + - - + + - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - @@ -2014,39 +1866,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2054,27 +1874,7 @@ - - - - - - - - - - - - - - - - - - - - @@ -2082,36 +1882,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2119,36 +1890,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2156,153 +1898,137 @@ - - - - - - - - - - - + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - + + - - + + + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - - + + + - - + + - - - - - - @@ -2310,17 +2036,9 @@ - - - - - - - - - - - + + + @@ -2446,22 +2164,19 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -3209,14 +2924,12 @@ - - - - - - + + + + + + @@ -3234,14 +2947,12 @@ - - - - - - + + + + + + From 51b4d897b7dfc7471920192b537eb6d469b8781a Mon Sep 17 00:00:00 2001 From: Devin Bileck <603793+devinbileck@users.noreply.github.com> Date: Mon, 24 Jun 2024 23:36:28 -0700 Subject: [PATCH 2/4] Exclude all unnecessary modules from javacv to further reduce size --- desktop/build.gradle | 61 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/desktop/build.gradle b/desktop/build.gradle index b6e65b936ec..f467f53e142 100644 --- a/desktop/build.gradle +++ b/desktop/build.gradle @@ -41,7 +41,66 @@ dependencies { implementation libs.fontawesomefx.commons implementation libs.fontawesomefx.materialdesign.font implementation libs.qrgen - implementation libs.javacv + implementation (libs.javacv) { + exclude(module: 'ffmpeg-platform') + exclude(module: 'flycapture-platform') + exclude(module: 'spinnaker-platform') + exclude(module: 'libdc1394-platform') + exclude(module: 'libfreenect-platform') + exclude(module: 'libfreenect2-platform') + exclude(module: 'librealsense-platform') + exclude(module: 'librealsense2-platform') + exclude(module: 'videoinput-platform') + exclude(module: 'artoolkitplus-platform') + exclude(module: 'chilitags-platform') + exclude(module: 'flandmark-platform') + exclude(module: 'arrow-platform') + exclude(module: 'hdf5-platform') + exclude(module: 'hyperscan-platform') + exclude(module: 'lz4-platform') + exclude(module: 'mkl-platform') + exclude(module: 'mkl-dnn-platform') + exclude(module: 'dnnl-platform') + exclude(module: 'arpack-ng-platform') + exclude(module: 'cminpack-platform') + exclude(module: 'fftw-platform') + exclude(module: 'gsl-platform') + exclude(module: 'cpython-platform') + exclude(module: 'numpy-platform') + exclude(module: 'scipy-platform') + exclude(module: 'gym-platform') + exclude(module: 'llvm-platform') + exclude(module: 'libffi-platform') + exclude(module: 'libpostal-platform') + exclude(module: 'libraw-platform') + exclude(module: 'leptonica-platform') + exclude(module: 'tesseract-platform') + exclude(module: 'caffe-platform') + exclude(module: 'openpose-platform') + exclude(module: 'cuda-platform') + exclude(module: 'nvcodec-platform') + exclude(module: 'opencl-platform') + exclude(module: 'mxnet-platform') + exclude(module: 'pytorch-platform') + exclude(module: 'sentencepiece-platform') + exclude(module: 'tensorflow-platform') + exclude(module: 'tensorflow-lite-platform') + exclude(module: 'tensorrt-platform') + exclude(module: 'tritonserver-platform') + exclude(module: 'ale-platform') + exclude(module: 'depthai-platform') + exclude(module: 'onnx-platform') + exclude(module: 'ngraph-platform') + exclude(module: 'onnxruntime-platform') + exclude(module: 'tvm-platform') + exclude(module: 'bullet-platform') + exclude(module: 'liquidfun-platform') + exclude(module: 'qt-platform') + exclude(module: 'skia-platform') + exclude(module: 'cpu_features-platform') + exclude(module: 'modsecurity-platform') + exclude(module: 'systems-platform') + } implementation libs.apache.commons.lang3 implementation libs.bouncycastle.bcpg.jdk15on implementation libs.fxmisc.easybind From bde24b20d875c9d7d49d541e80f98bb370a47898 Mon Sep 17 00:00:00 2001 From: Devin Bileck <603793+devinbileck@users.noreply.github.com> Date: Thu, 27 Jun 2024 23:21:01 -0700 Subject: [PATCH 3/4] Revert "Downgrade javacv to resolve UnsatisfiedLinkError on macOS" This reverts commit fa3c3e67351cd39ea4f8354231b90d3e66dbbdb7. --- gradle/libs.versions.toml | 2 +- gradle/verification-metadata.xml | 655 ++++++++++++++++++++++--------- 2 files changed, 473 insertions(+), 184 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6754fe28ff7..2879d08e577 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -47,7 +47,7 @@ openjfx-javafx-plugin = { strictly = '0.0.10' } protobuf = { strictly = '3.19.1' } pushy = { strictly = '0.13.10' } qrgen = { strictly = '1.3' } -javacv = { strictly = '1.5.9' } +javacv = { strictly = '1.5.10' } slf4j = { strictly = '1.7.30' } spark = { strictly = '2.9.4' } swagger-lib = { strictly = '2.2.0' } diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml index 0b7019badae..ec2514401a9 100644 --- a/gradle/verification-metadata.xml +++ b/gradle/verification-metadata.xml @@ -1737,6 +1737,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1744,15 +1780,73 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + @@ -1760,73 +1854,71 @@ - - - + + + - - + + - - - + + + - - + + - - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - - - - - + + + @@ -1834,31 +1926,87 @@ - - - + + + - - + + - - - + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1866,7 +2014,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1874,7 +2054,27 @@ + + + + + + + + + + + + + + + + + + + + @@ -1882,7 +2082,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1890,7 +2119,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1898,137 +2156,153 @@ - - - - - - + + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - - + + + - - + + - - - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + + + + - - - + + + - - + + + + + + + + @@ -2036,9 +2310,17 @@ - - - + + + + + + + + + + + @@ -2164,19 +2446,22 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + @@ -2924,12 +3209,14 @@ - - - - - - + + + + + + @@ -2947,12 +3234,14 @@ - - - - - - + + + + + + From dd255d00cf1c59a3621e2234f3f5ad6a7879875d Mon Sep 17 00:00:00 2001 From: Devin Bileck <603793+devinbileck@users.noreply.github.com> Date: Thu, 27 Jun 2024 23:26:58 -0700 Subject: [PATCH 4/4] Disable QrCodeProcessorTest on macOS --- .../account/content/notifications/qr/QrCodeProcessorTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/desktop/src/test/java/bisq/desktop/main/account/content/notifications/qr/QrCodeProcessorTest.java b/desktop/src/test/java/bisq/desktop/main/account/content/notifications/qr/QrCodeProcessorTest.java index 37198c73c64..5d5efcf2a91 100644 --- a/desktop/src/test/java/bisq/desktop/main/account/content/notifications/qr/QrCodeProcessorTest.java +++ b/desktop/src/test/java/bisq/desktop/main/account/content/notifications/qr/QrCodeProcessorTest.java @@ -20,6 +20,8 @@ import java.util.Optional; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.condition.DisabledOnOs; +import org.junit.jupiter.api.condition.OS; import static bisq.desktop.main.account.content.notifications.qr.FrameUtil.createFrameFromImageResource; import static bisq.desktop.main.account.content.notifications.qr.FrameUtil.createRandomFrame; @@ -32,6 +34,7 @@ import com.google.zxing.BinaryBitmap; import org.bytedeco.javacv.Frame; +@DisabledOnOs(value= {OS.MAC}) class QrCodeProcessorTest { private final FrameConverter converter = new FrameToBitmapConverter(); private final QrCodeProcessor processor = new QrCodeProcessor(converter);