mirror of
https://github.com/cryptomator/cryptomator.git
synced 2026-09-22 07:54:19 +00:00
713 lines
23 KiB
XML
713 lines
23 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>cryptomator</artifactId>
|
|
<version>1.20.0-SNAPSHOT</version>
|
|
<name>Cryptomator Desktop App</name>
|
|
|
|
<organization>
|
|
<name>cryptomator.org</name>
|
|
<url>https://cryptomator.org</url>
|
|
</organization>
|
|
|
|
<developers>
|
|
<developer>
|
|
<name>Sebastian Stenzel</name>
|
|
<email>sebastian.stenzel@gmail.com</email>
|
|
<timezone>+1</timezone>
|
|
</developer>
|
|
<developer>
|
|
<name>Armin Schrenk</name>
|
|
<email>armin.schrenk+dev@mailbox.org</email>
|
|
<timezone>+1</timezone>
|
|
</developer>
|
|
</developers>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<project.jdk.version>26</project.jdk.version>
|
|
|
|
<!-- Group IDs of jars that need to stay on the class path for now -->
|
|
<!-- remove them, as soon they got modularized or support is dropped (i.e., WebDAV) -->
|
|
<nonModularGroupIds>org.ow2.asm,org.apache.jackrabbit,org.apache.httpcomponents</nonModularGroupIds>
|
|
|
|
<!-- cryptomator dependencies -->
|
|
<cryptomator.cryptofs.version>2.10.0</cryptomator.cryptofs.version>
|
|
<cryptomator.cryptolib.version>2.2.2</cryptomator.cryptolib.version>
|
|
<cryptomator.integrations.version>1.9.0</cryptomator.integrations.version>
|
|
<cryptomator.integrations.win.version>1.6.1</cryptomator.integrations.win.version>
|
|
<cryptomator.integrations.mac.version>1.5.0</cryptomator.integrations.mac.version>
|
|
<cryptomator.integrations.linux.version>1.8.0-beta1</cryptomator.integrations.linux.version>
|
|
<cryptomator.fuse.version>6.0.1</cryptomator.fuse.version>
|
|
<cryptomator.webdav.version>3.0.2</cryptomator.webdav.version>
|
|
<cryptomator.webdav-servlet.version>1.2.12</cryptomator.webdav-servlet.version>
|
|
|
|
<!-- 3rd party dependencies -->
|
|
<caffeine.version>3.2.4</caffeine.version>
|
|
<commons-lang3.version>3.20.0</commons-lang3.version>
|
|
<dagger.version>2.59.2</dagger.version>
|
|
<easybind.version>2.2</easybind.version>
|
|
<jackson.version>2.21.6</jackson.version>
|
|
<javafx.version>25.0.3</javafx.version>
|
|
<jwt.version>4.5.2</jwt.version>
|
|
<nimbus-jose.version>10.5</nimbus-jose.version>
|
|
<logback.version>1.5.35</logback.version>
|
|
<slf4j.version>2.0.18</slf4j.version>
|
|
<tinyoauth2.version>0.8.1</tinyoauth2.version>
|
|
<zxcvbn.version>1.9.0</zxcvbn.version>
|
|
|
|
<!-- test dependencies -->
|
|
<junit.jupiter.version>6.1.0</junit.jupiter.version>
|
|
<mockito.version>5.23.0</mockito.version>
|
|
<hamcrest.version>3.0</hamcrest.version>
|
|
|
|
<!-- build-time dependencies -->
|
|
<jetbrains.annotations.version>26.1.0</jetbrains.annotations.version>
|
|
<dependency-check.version>12.2.2</dependency-check.version>
|
|
<jacoco.version>0.8.15</jacoco.version>
|
|
<license-generator.version>2.7.1</license-generator.version>
|
|
<mvn-compiler.version>3.15.0</mvn-compiler.version>
|
|
<mvn-resources.version>3.5.0</mvn-resources.version>
|
|
<mvn-dependency.version>3.11.0</mvn-dependency.version>
|
|
<mvn-surefire.version>3.5.6</mvn-surefire.version>
|
|
<mvn-jar.version>3.5.0</mvn-jar.version>
|
|
<mvn-exec.version>3.5.1</mvn-exec.version>
|
|
|
|
<!-- Property used by surefire to determine jacoco engine -->
|
|
<surefire.jacoco.args></surefire.jacoco.args>
|
|
|
|
<!-- App runtime config used by the 'run' profile, mirroring .idea/runConfigurations. The 'dev' profile switches these to the Cryptomator-Dev variants. -->
|
|
<run.appDir>Cryptomator</run.appDir>
|
|
<run.linuxFuseArgs></run.linuxFuseArgs>
|
|
<run.macMountPointsDir>@{userhome}/Cryptomator</run.macMountPointsDir>
|
|
<run.macUpdateArgs>-Dcryptomator.updateMechanism=org.cryptomator.macos.update.DmgUpdateMechanism</run.macUpdateArgs>
|
|
</properties>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<name>Central Portal Snapshots</name>
|
|
<id>central-portal-snapshots</id>
|
|
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
|
|
<releases>
|
|
<enabled>false</enabled>
|
|
</releases>
|
|
<snapshots>
|
|
<enabled>true</enabled>
|
|
</snapshots>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<dependencies>
|
|
<!-- Cryptomator Libs -->
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>webdav-nio-adapter-servlet</artifactId>
|
|
<version>${cryptomator.webdav-servlet.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>cryptolib</artifactId>
|
|
<version>${cryptomator.cryptolib.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>cryptofs</artifactId>
|
|
<version>${cryptomator.cryptofs.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>fuse-nio-adapter</artifactId>
|
|
<version>${cryptomator.fuse.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>webdav-nio-adapter</artifactId>
|
|
<version>${cryptomator.webdav.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>integrations-api</artifactId>
|
|
<version>${cryptomator.integrations.version}</version>
|
|
</dependency>
|
|
|
|
<!-- JavaFX -->
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-base</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-graphics</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-controls</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-fxml</artifactId>
|
|
<version>${javafx.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Logging -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-core</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
<version>${logback.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Apache Commons -->
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>${commons-lang3.version}</version>
|
|
</dependency>
|
|
|
|
<!-- OAuth/JWT -->
|
|
<dependency>
|
|
<groupId>io.github.coffeelibs</groupId>
|
|
<artifactId>tiny-oauth2-client</artifactId>
|
|
<version>${tinyoauth2.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.auth0</groupId>
|
|
<artifactId>java-jwt</artifactId>
|
|
<version>${jwt.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.nimbusds</groupId>
|
|
<artifactId>nimbus-jose-jwt</artifactId>
|
|
<version>${nimbus-jose.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Jackson -->
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
<version>${jackson.version}</version>
|
|
</dependency>
|
|
|
|
<!-- EasyBind -->
|
|
<dependency>
|
|
<groupId>com.tobiasdiez</groupId>
|
|
<artifactId>easybind</artifactId>
|
|
<version>${easybind.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Zxcvbn -->
|
|
<dependency>
|
|
<groupId>com.nulab-inc</groupId>
|
|
<artifactId>zxcvbn</artifactId>
|
|
<version>${zxcvbn.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Google -->
|
|
<dependency>
|
|
<groupId>com.google.dagger</groupId>
|
|
<artifactId>dagger</artifactId>
|
|
<version>${dagger.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.inject</groupId>
|
|
<artifactId>jakarta.inject-api</artifactId>
|
|
<version>2.0.1</version>
|
|
</dependency>
|
|
|
|
<!-- Caffeine -->
|
|
<dependency>
|
|
<groupId>com.github.ben-manes.caffeine</groupId>
|
|
<artifactId>caffeine</artifactId>
|
|
<version>${caffeine.version}</version>
|
|
</dependency>
|
|
<!-- JUnit / Mockito / Hamcrest -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.jupiter.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest</artifactId>
|
|
<version>${hamcrest.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-swing</artifactId>
|
|
<version>${javafx.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.jimfs</groupId>
|
|
<artifactId>jimfs</artifactId>
|
|
<version>1.3.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.jetbrains</groupId>
|
|
<artifactId>annotations</artifactId>
|
|
<version>${jetbrains.annotations.version}</version>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>${mvn-compiler.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>${mvn-resources.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<version>${mvn-dependency.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${mvn-surefire.version}</version>
|
|
<configuration>
|
|
<!--suppress MavenModelInspection -->
|
|
<argLine>@{argLine} -javaagent:${org.mockito:mockito-core:jar}</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<version>${license-generator.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>${mvn-jar.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>${jacoco.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.owasp</groupId>
|
|
<artifactId>dependency-check-maven</artifactId>
|
|
<version>${dependency-check.version}</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>${mvn-exec.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<configuration>
|
|
<release>${project.jdk.version}</release>
|
|
<annotationProcessorPaths>
|
|
<path>
|
|
<groupId>com.google.dagger</groupId>
|
|
<artifactId>dagger-compiler</artifactId>
|
|
<version>${dagger.version}</version>
|
|
</path>
|
|
</annotationProcessorPaths>
|
|
<compilerArgs>
|
|
<arg>-Adagger.fastInit=enabled</arg>
|
|
</compilerArgs>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<!-- adds Implementation-Version which can be read during runtime -->
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<reportFormat>plain</reportFormat>
|
|
<consoleOutputReporter>
|
|
<disable>true</disable>
|
|
</consoleOutputReporter>
|
|
<argLine>@{surefire.jacoco.args} -javaagent:${org.mockito:mockito-core:jar} --enable-native-access=javafx.graphics</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>jar-paths-to-properties</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>properties</goal>
|
|
</goals>
|
|
</execution>
|
|
<!-- sort jars into two buckets (classpath and modulepath). exclude openjfx, which gets jlinked separately -->
|
|
<execution>
|
|
<id>copy-mods</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<outputDirectory>${project.build.directory}/mods</outputDirectory>
|
|
<excludeGroupIds>org.openjfx,${nonModularGroupIds}</excludeGroupIds>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>copy-libs</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>copy-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<outputDirectory>${project.build.directory}/libs</outputDirectory>
|
|
<includeGroupIds>${nonModularGroupIds}</includeGroupIds>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>get-mockito-agent-path</id>
|
|
<goals>
|
|
<goal>properties</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>license-maven-plugin</artifactId>
|
|
<configuration>
|
|
<licenseMergesUrl>${project.baseUri}license/merges</licenseMergesUrl>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>add-third-party</id>
|
|
<goals>
|
|
<goal>add-third-party</goal>
|
|
</goals>
|
|
<phase>generate-resources</phase>
|
|
<configuration>
|
|
<thirdPartyFilename>THIRD-PARTY.txt</thirdPartyFilename>
|
|
<includedScopes>compile</includedScopes>
|
|
<excludedGroups>org\.cryptomator</excludedGroups>
|
|
<fileTemplate>${project.basedir}/src/main/resources/license/template.ftl</fileTemplate>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
<resources>
|
|
<resource>
|
|
<directory>src/main/resources</directory>
|
|
<excludes>
|
|
<exclude>license/*</exclude>
|
|
</excludes>
|
|
</resource>
|
|
</resources>
|
|
</build>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>coverage</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>prepare-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
<configuration>
|
|
<propertyName>surefire.jacoco.args</propertyName>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>report</id>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<excludes>
|
|
<exclude>**/*_*</exclude>
|
|
<exclude>**/Dagger*</exclude>
|
|
</excludes>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>dependency-check</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.owasp</groupId>
|
|
<artifactId>dependency-check-maven</artifactId>
|
|
<configuration>
|
|
<nvdValidForHours>24</nvdValidForHours>
|
|
<failBuildOnCVSS>0</failBuildOnCVSS>
|
|
<skipTestScope>true</skipTestScope>
|
|
<detail>true</detail>
|
|
<suppressionFile>suppression.xml</suppressionFile>
|
|
<nvdApiKeyEnvironmentVariable>NVD_API_KEY</nvdApiKeyEnvironmentVariable>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>check</goal>
|
|
</goals>
|
|
<phase>validate</phase>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>mac</id>
|
|
<activation>
|
|
<os>
|
|
<family>mac</family>
|
|
</os>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>integrations-mac</artifactId>
|
|
<version>${cryptomator.integrations.mac.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>linux-aarch64</id>
|
|
<activation>
|
|
<os>
|
|
<family>unix</family>
|
|
<name>linux</name>
|
|
<arch>aarch64</arch>
|
|
</os>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>integrations-linux</artifactId>
|
|
<version>${cryptomator.integrations.linux.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-base</artifactId>
|
|
<version>${javafx.version}</version>
|
|
<classifier>linux-aarch64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-graphics</artifactId>
|
|
<version>${javafx.version}</version>
|
|
<classifier>linux-aarch64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-controls</artifactId>
|
|
<version>${javafx.version}</version>
|
|
<classifier>linux-aarch64</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-fxml</artifactId>
|
|
<version>${javafx.version}</version>
|
|
<classifier>linux-aarch64</classifier>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>linux-x86_64</id>
|
|
<activation>
|
|
<os>
|
|
<family>unix</family>
|
|
<name>linux</name>
|
|
<arch>amd64</arch>
|
|
</os>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>integrations-linux</artifactId>
|
|
<version>${cryptomator.integrations.linux.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>win</id>
|
|
<activation>
|
|
<os>
|
|
<family>windows</family>
|
|
</os>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.cryptomator</groupId>
|
|
<artifactId>integrations-win</artifactId>
|
|
<version>${cryptomator.integrations.win.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
|
|
<!-- Launches the app from the command line: ./mvnw -Prun compile exec:exec (append ,dev for the Cryptomator-Dev variant) -->
|
|
<profile>
|
|
<id>run</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<!-- same split into module path and class path as the copy-mods/copy-libs executions used for packaging -->
|
|
<execution>
|
|
<id>build-run-modulepath</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<excludeGroupIds>${nonModularGroupIds}</excludeGroupIds>
|
|
<outputProperty>run.modulePath</outputProperty>
|
|
</configuration>
|
|
</execution>
|
|
<execution>
|
|
<id>build-run-classpath</id>
|
|
<phase>validate</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<includeScope>runtime</includeScope>
|
|
<includeGroupIds>${nonModularGroupIds}</includeGroupIds>
|
|
<outputProperty>run.classPath</outputProperty>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<configuration>
|
|
<executable>${java.home}/bin/java</executable>
|
|
<commandlineArgs>--module-path "${project.build.outputDirectory}${path.separator}${run.modulePath}" --class-path "${run.classPath}" ${run.jvmArgs} --module org.cryptomator.desktop/org.cryptomator.launcher.Cryptomator</commandlineArgs>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
|
|
<!-- Switches the 'run' profile to the Cryptomator-Dev variants, so a dev run does not touch the settings of an installed Cryptomator -->
|
|
<profile>
|
|
<id>dev</id>
|
|
<properties>
|
|
<run.appDir>Cryptomator-Dev</run.appDir>
|
|
<run.linuxFuseArgs>-Dfuse.experimental="true"</run.linuxFuseArgs>
|
|
<run.macMountPointsDir>@{userhome}/Library/Application Support/Cryptomator-Dev/mnt</run.macMountPointsDir>
|
|
<run.macUpdateArgs></run.macUpdateArgs>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>run-win</id>
|
|
<activation>
|
|
<os>
|
|
<family>windows</family>
|
|
</os>
|
|
</activation>
|
|
<properties>
|
|
<run.jvmArgs>-Dcryptomator.settingsPath="@{appdata}/${run.appDir}/settings.json;@{userhome}/AppData/Roaming/${run.appDir}/settings.json" -Dcryptomator.ipcSocketPath="@{localappdata}/${run.appDir}/ipc.socket" -Dcryptomator.logDir="@{localappdata}/${run.appDir}" -Dcryptomator.pluginDir="@{appdata}/${run.appDir}/Plugins" -Dcryptomator.integrationsWin.keychainPaths="@{appdata}/${run.appDir}/keychain.json;@{userhome}/AppData/Roaming/${run.appDir}/keychain.json" -Dcryptomator.integrationsWin.windowsHelloKeychainPaths="@{appdata}/${run.appDir}/windowsHelloKeychain.json;@{userhome}/AppData/Roaming/${run.appDir}/windowsHelloKeychain.json" -Dcryptomator.p12Path="@{appdata}/${run.appDir}/key.p12;@{userhome}/AppData/Roaming/${run.appDir}/key.p12" -Dcryptomator.mountPointsDir="@{userhome}/${run.appDir}" -Dcryptomator.showTrayIcon=true -Dcryptomator.hub.enableTrustOnFirstUse=true -Xss2m -Xmx512m --enable-preview --enable-native-access=org.cryptomator.jfuse.win,org.cryptomator.integrations.win,javafx.graphics</run.jvmArgs>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>run-mac</id>
|
|
<activation>
|
|
<os>
|
|
<family>mac</family>
|
|
</os>
|
|
</activation>
|
|
<properties>
|
|
<run.jvmArgs>-Dapple.awt.enableTemplateImages=true -Dcryptomator.settingsPath="@{userhome}/Library/Application Support/${run.appDir}/settings.json" -Dcryptomator.p12Path="@{userhome}/Library/Application Support/${run.appDir}/key.p12" -Dcryptomator.ipcSocketPath="@{userhome}/Library/Application Support/${run.appDir}/ipc.socket" -Dcryptomator.logDir="@{userhome}/Library/Logs/${run.appDir}" -Dcryptomator.pluginDir="@{userhome}/Library/Application Support/${run.appDir}/Plugins" -Dcryptomator.mountPointsDir="${run.macMountPointsDir}" -Dcryptomator.showTrayIcon=true -Dcryptomator.integrationsMac.keychainServiceName=Cryptomator ${run.macUpdateArgs} -Dcryptomator.hub.enableTrustOnFirstUse=true -Xss2m -Xmx512m -ea --enable-preview --enable-native-access=org.cryptomator.jfuse.mac,javafx.graphics</run.jvmArgs>
|
|
</properties>
|
|
</profile>
|
|
|
|
<profile>
|
|
<id>run-linux</id>
|
|
<activation>
|
|
<os>
|
|
<family>unix</family>
|
|
<name>linux</name>
|
|
</os>
|
|
</activation>
|
|
<properties>
|
|
<run.jvmArgs>-Dcryptomator.settingsPath="@{userhome}/.config/${run.appDir}/settings.json" -Dcryptomator.p12Path="@{userhome}/.config/${run.appDir}/key.p12" -Dcryptomator.ipcSocketPath="@{userhome}/.config/${run.appDir}/ipc.socket" -Dcryptomator.logDir="@{userhome}/.local/share/${run.appDir}/logs" -Dcryptomator.pluginDir="@{userhome}/.local/share/${run.appDir}/plugins" -Dcryptomator.mountPointsDir="@{userhome}/.local/share/${run.appDir}/mnt" -Dcryptomator.showTrayIcon=true -Dcryptomator.hub.enableTrustOnFirstUse=true ${run.linuxFuseArgs} -Xss20m -Xmx512m --enable-preview --enable-native-access=org.cryptomator.jfuse.linux.amd64,org.cryptomator.jfuse.linux.aarch64,org.purejava.appindicator,javafx.graphics</run.jvmArgs>
|
|
</properties>
|
|
</profile>
|
|
</profiles>
|
|
|
|
</project>
|