Don't use setPosixFilePermissions on Windows
When starting Briar Desktop on Windows, it immediately fails with the following error because we can't use Posix-style file permissions on Windows. See MainKt.getDataDir().
C:\Users\Test\.jdks\azul-15.0.4\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\lib\idea_rt.jar=63021:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\Test\Documents\briar-desktop\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\build\classes\kotlin\main;C:\Users\Test\Documents\briar-desktop\build\tmp\kapt3\classes\main;C:\Users\Test\Documents\briar-desktop\build\resources\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-2.1.1-SNAPSHOT-briar.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\bluecove-gpl-2.1.1-SNAPSHOT.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\libs\jssc-0.9-briar.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk8\1.5.10\3f4af7aff21c4ec46e3cdd645639d0a63a68d3d0\kotlin-stdlib-jdk8-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.10.0\1127c9cf62f2bb3121a3a2a0a1351d251a602117\jackson-databind-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.github.ajalt\clikt\2.2.0\a7e7b9b278a6e83cc2d9f2cf0db93dff9a93d8f5\clikt-2.2.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-java\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-jdk7\1.5.10\c49d0703d16c6cb1526cc07b9b46486da1dd8a60\kotlin-stdlib-jdk7-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib\1.5.10\da6a904b132f0402fa4d79169a3c1770598d4702\kotlin-stdlib-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.10.0\e01cfd93b80d6773b3f757c78e756c9755b47b81\jackson-annotations-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.10.0\4e2c5fa04648ec9772c63e2101c53af6504e624e\jackson-core-2.10.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-extended-desktop\0.4.0\58fb0b18c77a2dde55fa8c749c436d424a220203\material-icons-extended-desktop-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\briar-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome\1.15.0\d3614542b857eccc0555d1ee8dfc36d2043d9c1f\rome-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jdom\jdom2\2.0.6\6f14738ec2e9dd0011e343717fa624a10f8aab64\jdom2-2.0.6.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okhttp3\okhttp\3.12.13\528e024f340da35cca5d679b631da85d8db9ed\okhttp-3.12.13.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jsoup\jsoup\1.13.1\f9577f3732bb7caa4fee8aba5053158f4010c118\jsoup-1.13.1.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\classes\java\main;C:\Users\Test\Documents\briar-desktop\briar\bramble-core\build\resources\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna-platform\4.5.2\741853c07152f6c0fef5194efa6b2dabac22e9c0\jna-platform-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\4.5.2\35d000afbaa4ed425d91873b40f4df9b8236875b\jna-4.5.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains\annotations\13.0\919f0dfe192fb4e063e7dacadee7f8bb9a2672a9\annotations-13.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-stdlib-common\1.5.10\6b84d926e28493be69daf673e40076f89492ef7\kotlin-stdlib-common-1.5.10.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.desktop\desktop-jvm\0.4.0\58115d964397bd97025cd13a79a055b61194093b\desktop-jvm-0.4.0.jar;C:\Users\Test\Documents\briar-desktop\briar\bramble-api\build\classes\java\main;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.rometools\rome-utils\1.15.0\ab1cb95382bf9a8dec81165d328bcbbf1acfb3ae\rome-utils-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.16\3a6274f658487d5bfff9af3862beff6da1e7fd52\slf4j-api-1.7.16.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.squareup.okio\okio\1.15.0\bc28b5a964c8f5721eb58ee3f3c47a9bcbf4f4d8\okio-1.15.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.madgag.spongycastle\core\1.58.0.0\e08789f8f1e74f155db8b69c3575b5cb213c156c\core-1.58.0.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.h2database\h2\1.4.192\1106492605db135523d2817881cdf029d9292afa\h2-1.4.192.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.bitlet\weupnp\0.1.4\b99cd791ede89b7c17426e6c51a0f171dc925def\weupnp-0.1.4.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\net.i2p.crypto\eddsa\0.2.0\856a92559c4daf744cb27c93cd8b7eb1f8c4780\eddsa-0.2.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.whispersystems\curve25519-java\0.5.0\787dab46ed8e6f8adf9bbbb945145d503b7f181a\curve25519-java-0.5.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.briarproject\jtorctl\0.3\83622828c5457584d5c1e0a89d893fd3844fd7f5\jtorctl-0.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-icons-core-desktop\0.4.0\510ee3df8a1fde982a99a40a09d2f39098b47c72\material-icons-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.dagger\dagger\2.33\7ac2b51c8cf8e2c1a30fa74b917629c60ae2405d\dagger-2.33.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.2\25ea2e8b0c338a877313bd4672d3fe056ea78f0d\jsr305-3.0.2.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-desktop\0.4.0\210d13a67c94912e31240eea347b3704e2b6651a\material-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-desktop\0.4.0\ab89b6280cadc4866cafe42ec43ab40faccfcc30\foundation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-desktop\0.4.0\8533de36dc9107fa4e57f377ba147cfc17cba850\ui-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-desktop\0.4.0\2452d00191f736d58f2fa50dd1821623adbaefd9\runtime-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\javax.inject\javax.inject\1\6975da39a7040257bd51d21a231b76c915872d38\javax.inject-1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-swing\1.4.3\9da350dc1f729955e20f1f3b45dd14c3c9aa1eeb\kotlinx-coroutines-swing-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.material\material-ripple-desktop\0.4.0\e2ccee827f2082402b5111368192fcfb579a97f3\material-ripple-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-core-desktop\0.4.0\d838af1fd2a80d1664ffc073df89463023fb6d4b\animation-core-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-text-desktop\0.4.0\3a8d29230c7565cd98728f2a1bbfc33d97cd12a5\ui-text-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.animation\animation-desktop\0.4.0\af2e490608e458a20c8d51ba602ff6a6e25d7e61\animation-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.runtime\runtime-saveable-desktop\0.4.0\c6c172bc8c57ca718e37858b8d5baf70c9ae5268\runtime-saveable-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-graphics-desktop\0.4.0\428dc38b14978b3fed6a9f1756af36b34baad76e\ui-graphics-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-unit-desktop\0.4.0\41ff9a8c171b9136f06eff80635a2330a6086727\ui-unit-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-geometry-desktop\0.4.0\261a169b4e2816397d8c4e22e63a2d590f99210a\ui-geometry-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlinx\kotlinx-coroutines-core-jvm\1.4.3\1051e11eb789ed1df93412bebe0f06e9d29160e4\kotlinx-coroutines-core-jvm-1.4.3.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm\0.3.1\3b01e23f3c72d27d8b85836f0ab81eb32ccb67f5\skiko-jvm-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-layout-desktop\0.4.0\dbd71e8c3b90e859b0ca3b7b1e75091033f20960\foundation-layout-desktop-0.4.0.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.skiko\skiko-jvm-runtime-windows-x64\0.3.1\42406736546c8404a1a330a88c5d6b815ddae4e6\skiko-jvm-runtime-windows-x64-0.3.1.jar;C:\Users\Test\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.ui\ui-util-desktop\0.4.0\6de31edde97babd7339e67bb1b82ebff1a805e9c\ui-util-desktop-0.4.0.jar org.briarproject.briar.desktop.MainKt --debug
Exception in thread "main" java.lang.UnsupportedOperationException
at java.base/java.nio.file.Files.setPosixFilePermissions(Files.java:2158)
at org.briarproject.briar.desktop.Main.getDataDir(Main.kt:81)
at org.briarproject.briar.desktop.Main.access$getDataDir(Main.kt:28)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:57)
at org.briarproject.briar.desktop.Main$run$1.invoke(Main.kt:48)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:107)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:34)
at androidx.compose.runtime.ComposerKt.invokeComposable(Composer.kt:3320)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2571)
at androidx.compose.runtime.ComposerImpl$doCompose$2$5.invoke(Composer.kt:2567)
at androidx.compose.runtime.SnapshotStateKt.observeDerivedStateRecalculations(SnapshotState.kt:523)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:2560)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime(Composer.kt:2515)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:476)
at androidx.compose.runtime.Recomposer.composeInitial$runtime(Recomposer.kt:726)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:432)
at androidx.compose.ui.window.Application_desktopKt$awaitApplication$2$1$2.invokeSuspend(Application.desktop.kt:171)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Process finished with exit code 1
Sub-issue of #31 (closed).