File tree Expand file tree Collapse file tree 2 files changed +23
-16
lines changed
crypto-jvm-lib/src/main/kotlin/de/gematik/openhealth/crypto/internal/interop Expand file tree Collapse file tree 2 files changed +23
-16
lines changed Original file line number Diff line number Diff line change 23
23
- name : Install dependencies
24
24
shell : bash
25
25
run : |
26
- cat /proc/mounts | grep /tmp
27
26
sudo apt-get update
28
27
sudo apt-get install -y cmake swig ninja-build clang clang-tools libc++-dev libc++abi-dev
29
- file /lib/x86_64-linux-gnu/libc++.so
30
28
- name : Setup Android SDK
31
29
uses : android-actions/setup-android@v3
32
30
- name : Setup Android NDK
@@ -37,13 +35,13 @@ jobs:
37
35
echo "ANDROID_NDK_ROOT=$ANDROID_SDK_ROOT/ndk/27.2.12479018" >> $GITHUB_ENV
38
36
echo "$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH
39
37
40
- # - name: KTLint Check
41
- # run: |
42
- # ./gradlew ktlintCheck
43
- #
44
- # - name: Detekt Check
45
- # run: |
46
- # ./gradlew detekt
38
+ - name : KTLint Check
39
+ run : |
40
+ ./gradlew ktlintCheck
41
+
42
+ - name : Detekt Check
43
+ run : |
44
+ ./gradlew detekt
47
45
48
46
- name : Test
49
47
shell : bash
Original file line number Diff line number Diff line change @@ -49,13 +49,22 @@ fun loadNativeLibrary() {
49
49
50
50
val libResUrl = ClassLoader .getSystemResource(" $hostOs -$hostArch /$libName " )
51
51
52
- println (" Debug: libResUrl " + libResUrl.path)
52
+ val cacheFilePath = getCacheDir() + File .pathSeparator + libName
53
+ val cacheFile = File (cacheFilePath)
54
+ cacheFile.parentFile.mkdirs()
55
+ libResUrl.openStream().copyTo(cacheFile.outputStream())
53
56
54
- val tempLib = File .createTempFile(" lib" , libName)
55
- println (" Debug: tempLib " + tempLib.absolutePath)
56
- tempLib.deleteOnExit()
57
- libResUrl.openStream().copyTo(tempLib.outputStream())
58
-
59
- System .load(tempLib.absolutePath)
57
+ System .load(cacheFile.absolutePath)
60
58
}
61
59
}
60
+
61
+ private fun getCacheDir (): String {
62
+ val os = System .getProperty(" os.name" ).lowercase()
63
+ val userHome = System .getProperty(" user.home" )
64
+
65
+ return when {
66
+ os.contains(" win" ) -> System .getenv(" LOCALAPPDATA" ) ? : " $userHome \\ AppData\\ Local"
67
+ os.contains(" mac" ) -> " $userHome /Library/Caches"
68
+ else -> System .getenv(" XDG_CACHE_HOME" ) ? : " $userHome /.cache"
69
+ } + File .pathSeparator + " de.gematik.openhealth.crypto"
70
+ }
You can’t perform that action at this time.
0 commit comments