2021-06-04 18:09:10 +00:00
<?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.6.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>
</developers>
<properties >
<project.build.sourceEncoding > UTF-8</project.build.sourceEncoding>
<project.jdk.version > 16</project.jdk.version>
2021-06-22 14:32:19 +00:00
<!-- Group IDs of jars that need to stay on the class path for now -->
2021-07-19 22:27:49 +00:00
<nonModularGroupIds > com.github.serceman,com.github.jnr,org.ow2.asm,net.java.dev.jna,org.apache.jackrabbit,org.apache.httpcomponents,de.swiesend,org.purejava,com.github.hypfvieh</nonModularGroupIds>
2021-06-22 14:32:19 +00:00
2021-06-04 18:09:10 +00:00
<!-- cryptomator dependencies -->
2021-07-19 13:52:40 +00:00
<cryptomator.cryptofs.version > 2.1.0-beta9</cryptomator.cryptofs.version>
2021-06-07 14:24:42 +00:00
<cryptomator.integrations.version > 1.0.0-rc1</cryptomator.integrations.version>
2021-06-04 18:09:10 +00:00
<cryptomator.integrations.win.version > 1.0.0-beta2</cryptomator.integrations.win.version>
<cryptomator.integrations.mac.version > 1.0.0-beta2</cryptomator.integrations.mac.version>
<cryptomator.integrations.linux.version > 1.0.0-beta1</cryptomator.integrations.linux.version>
<cryptomator.fuse.version > 1.3.1</cryptomator.fuse.version>
<cryptomator.dokany.version > 1.3.1</cryptomator.dokany.version>
2021-07-19 13:52:40 +00:00
<cryptomator.webdav.version > 1.2.5</cryptomator.webdav.version>
2021-06-04 18:09:10 +00:00
<!-- 3rd party dependencies -->
<javafx.version > 16</javafx.version>
2021-06-26 15:42:40 +00:00
<commons-lang3.version > 3.12.0</commons-lang3.version>
2021-07-28 15:04:12 +00:00
<bouncycastle.version > 1.69</bouncycastle.version>
2021-07-19 13:52:40 +00:00
<jwt.version > 3.18.1</jwt.version>
2021-06-09 16:33:08 +00:00
<easybind.version > 2.2</easybind.version>
2021-06-04 18:09:10 +00:00
<guava.version > 30.1.1-jre</guava.version>
2021-06-18 13:17:38 +00:00
<dagger.version > 2.37</dagger.version>
2021-07-19 13:52:40 +00:00
<gson.version > 2.8.7</gson.version>
2021-06-18 13:17:38 +00:00
<zxcvbn.version > 1.5.2</zxcvbn.version>
2021-06-26 15:42:40 +00:00
<slf4j.version > 1.7.31</slf4j.version>
2021-06-04 18:09:10 +00:00
<logback.version > 1.2.3</logback.version>
<!-- test dependencies -->
2021-06-26 15:42:40 +00:00
<junit.jupiter.version > 5.7.2</junit.jupiter.version>
<mockito.version > 3.11.2</mockito.version>
2021-06-04 18:09:10 +00:00
<hamcrest.version > 2.2</hamcrest.version>
</properties>
<dependencies >
<!-- Cryptomator Libs -->
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > cryptofs</artifactId>
<version > ${cryptomator.cryptofs.version}</version>
</dependency>
2021-06-22 14:32:19 +00:00
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > fuse-nio-adapter</artifactId>
<version > ${cryptomator.fuse.version}</version>
</dependency>
2021-06-04 18:09:10 +00:00
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > dokany-nio-adapter</artifactId>
<version > ${cryptomator.dokany.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>
2021-07-28 15:04:12 +00:00
<!-- BouncyCastle -->
<dependency >
<groupId > org.bouncycastle</groupId>
<artifactId > bcpkix-jdk15on</artifactId>
<version > ${bouncycastle.version}</version>
</dependency>
2021-06-04 18:09:10 +00:00
<!-- JWT -->
<dependency >
<groupId > com.auth0</groupId>
<artifactId > java-jwt</artifactId>
<version > ${jwt.version}</version>
</dependency>
2021-06-09 16:34:16 +00:00
2021-06-04 18:09:10 +00:00
<!-- EasyBind -->
<dependency >
<groupId > com.tobiasdiez</groupId>
<artifactId > easybind</artifactId>
<version > ${easybind.version}</version>
</dependency>
<!-- Zxcvbn -->
<dependency >
<groupId > com.nulab-inc</groupId>
<artifactId > zxcvbn</artifactId>
2021-06-18 13:17:38 +00:00
<version > ${zxcvbn.version}</version>
2021-06-04 18:09:10 +00:00
</dependency>
<!-- Google -->
<dependency >
<groupId > com.google.guava</groupId>
<artifactId > guava</artifactId>
<version > ${guava.version}</version>
2021-06-18 13:17:38 +00:00
<exclusions >
<!-- see https://github.com/google/guava/wiki/UseGuavaInYourBuild#what - about - guavas - own - dependencies -->
<exclusion >
<groupId > com.google.guava</groupId>
<artifactId > listenablefuture</artifactId>
</exclusion>
<exclusion >
<groupId > com.google.code.findbugs</groupId>
<artifactId > jsr305</artifactId>
</exclusion>
<exclusion >
<groupId > org.checkerframework</groupId>
<artifactId > checker-qual</artifactId>
</exclusion>
<exclusion >
<groupId > com.google.errorprone</groupId>
<artifactId > error_prone_annotations</artifactId>
</exclusion>
<exclusion >
<groupId > com.google.j2objc</groupId>
<artifactId > j2objc-annotations</artifactId>
</exclusion>
</exclusions>
2021-06-04 18:09:10 +00:00
</dependency>
<dependency >
<groupId > com.google.dagger</groupId>
<artifactId > dagger</artifactId>
<version > ${dagger.version}</version>
</dependency>
<dependency >
<groupId > com.google.code.gson</groupId>
<artifactId > gson</artifactId>
<version > ${gson.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>
2021-07-19 13:52:40 +00:00
<version > 1.2</version>
2021-06-04 18:09:10 +00:00
<scope > test</scope>
</dependency>
</dependencies>
<build >
<pluginManagement >
<plugins >
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-compiler-plugin</artifactId>
<version > 3.8.1</version>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-resources-plugin</artifactId>
<version > 3.2.0</version>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-dependency-plugin</artifactId>
2021-06-22 14:32:19 +00:00
<version > 3.2.0</version>
2021-06-04 18:09:10 +00:00
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-assembly-plugin</artifactId>
<version > 3.3.0</version>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-surefire-plugin</artifactId>
2021-06-09 16:33:08 +00:00
<version > 3.0.0-M5</version>
2021-06-04 18:09:10 +00:00
</plugin>
<plugin >
<groupId > org.codehaus.mojo</groupId>
<artifactId > license-maven-plugin</artifactId>
<version > 2.0.0</version>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-jar-plugin</artifactId>
<version > 3.2.0</version>
</plugin>
<plugin >
<groupId > org.jacoco</groupId>
<artifactId > jacoco-maven-plugin</artifactId>
2021-07-19 13:52:40 +00:00
<version > 0.8.7</version>
2021-06-04 18:09:10 +00:00
</plugin>
<plugin >
<groupId > org.owasp</groupId>
<artifactId > dependency-check-maven</artifactId>
2021-07-19 13:52:40 +00:00
<version > 6.2.2</version>
2021-06-04 18:09:10 +00:00
</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>
2021-07-14 15:17:25 +00:00
<compilerArgs >
<arg > -Adagger.fastInit=enabled</arg>
<arg > -Adagger.formatGeneratedSource=enabled</arg>
</compilerArgs>
2021-06-04 18:09:10 +00:00
</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>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-resources-plugin</artifactId>
<executions >
<execution >
<id > copy-resources</id>
<phase > prepare-package</phase>
<goals >
<goal > copy-resources</goal>
</goals>
<configuration >
<outputDirectory > ${project.build.directory}</outputDirectory>
<resources >
<resource >
<directory > ${project.basedir}/src/package</directory>
<includes >
<include > version.txt</include>
<include > ffi-version.txt</include>
<include > launcher-mac.sh</include>
<include > launcher-linux.sh</include>
<include > launcher-win.bat</include>
<include > LICENSE.txt</include>
</includes>
<filtering > true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-dependency-plugin</artifactId>
<executions >
2021-06-22 14:32:19 +00:00
<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>
<excludeClassifiers > linux,mac,win</excludeClassifiers>
<excludeGroupIds > ${nonModularGroupIds}</excludeGroupIds>
</configuration>
</execution>
2021-06-04 18:09:10 +00:00
<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>
2021-06-22 14:32:19 +00:00
<includeGroupIds > ${nonModularGroupIds}</includeGroupIds>
2021-06-04 18:09:10 +00:00
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.codehaus.mojo</groupId>
<artifactId > license-maven-plugin</artifactId>
<executions >
<execution >
<id > add-third-party</id>
<goals >
<goal > add-third-party</goal>
</goals>
<phase > generate-resources</phase>
<configuration >
<outputDirectory > ${project.basedir}/src/main/resources/license</outputDirectory>
<thirdPartyFilename > THIRD-PARTY.txt</thirdPartyFilename>
<includedScopes > compile</includedScopes>
<excludedGroups > org\.cryptomator</excludedGroups>
<licenseMerges >
<licenseMerge > Apache License v2.0|Apache License, Version 2.0|The Apache Software License, Version 2.0|Apache 2.0|Apache Software License - Version 2.0</licenseMerge>
<licenseMerge > MIT License|The MIT License (MIT)|The MIT License|MIT license</licenseMerge>
<licenseMerge > LGPL 2.1|LGPL, version 2.1|GNU Lesser/Library General Public License version 2|GNU Lesser General Public License Version 2.1</licenseMerge>
<licenseMerge > GPLv2|GNU General Public License Version 2</licenseMerge>
<licenseMerge > GPLv2+CE|CDDL + GPLv2 with classpath exception</licenseMerge>
</licenseMerges>
<fileTemplate > ${project.basedir}/src/license/template.ftl</fileTemplate>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</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>
</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 >
<cveValidForHours > 24</cveValidForHours>
<failBuildOnCVSS > 0</failBuildOnCVSS>
<skipTestScope > true</skipTestScope>
<detail > true</detail>
<suppressionFile > suppression.xml</suppressionFile>
</configuration>
<executions >
<execution >
<goals >
<goal > check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile >
<id > mac</id>
<activation >
<os >
<family > mac</family>
</os>
<property >
<name > idea.version</name>
</property>
</activation>
<dependencies >
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > integrations-mac</artifactId>
<version > ${cryptomator.integrations.mac.version}</version>
</dependency>
</dependencies>
<build >
<plugins >
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-assembly-plugin</artifactId>
<executions >
<execution >
<id > assemble-mac</id>
<phase > package</phase>
<goals >
<goal > single</goal>
</goals>
<configuration >
<descriptors >
<descriptor > assembly-mac.xml</descriptor>
</descriptors>
<appendAssemblyId > false</appendAssemblyId>
<finalName > buildkit-mac</finalName>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-dependency-plugin</artifactId>
<executions >
<execution >
<id > copy-mac-libs</id>
<phase > prepare-package</phase>
<goals >
<goal > copy-dependencies</goal>
</goals>
<configuration >
2021-06-22 14:32:19 +00:00
<outputDirectory > ${project.build.directory}/mods</outputDirectory>
2021-06-04 18:09:10 +00:00
<includeGroupIds > org.openjfx</includeGroupIds>
<classifier > mac</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile >
<id > linux</id>
<activation >
<os >
<family > unix</family>
<name > Linux</name>
</os>
<property >
<name > idea.version</name>
</property>
</activation>
<dependencies >
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > integrations-linux</artifactId>
<version > ${cryptomator.integrations.linux.version}</version>
</dependency>
</dependencies>
<build >
<plugins >
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-assembly-plugin</artifactId>
<executions >
<execution >
<id > assemble-linux</id>
<phase > package</phase>
<goals >
<goal > single</goal>
</goals>
<configuration >
<descriptors >
<descriptor > assembly-linux.xml</descriptor>
</descriptors>
<appendAssemblyId > false</appendAssemblyId>
<finalName > buildkit-linux</finalName>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-dependency-plugin</artifactId>
<executions >
<execution >
<id > copy-linux-libs</id>
<phase > prepare-package</phase>
<goals >
<goal > copy-dependencies</goal>
</goals>
<configuration >
2021-06-22 14:32:19 +00:00
<outputDirectory > ${project.build.directory}/mods</outputDirectory>
2021-06-04 18:09:10 +00:00
<includeGroupIds > org.openjfx</includeGroupIds>
<classifier > linux</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile >
<id > windows</id>
<activation >
<os >
<family > windows</family>
</os>
<property >
<name > idea.version</name>
</property>
</activation>
<dependencies >
<dependency >
<groupId > org.cryptomator</groupId>
<artifactId > integrations-win</artifactId>
<version > ${cryptomator.integrations.win.version}</version>
</dependency>
</dependencies>
<build >
<plugins >
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-assembly-plugin</artifactId>
<executions >
<execution >
<id > assemble-win</id>
<phase > package</phase>
<goals >
<goal > single</goal>
</goals>
<configuration >
<descriptors >
<descriptor > assembly-win.xml</descriptor>
</descriptors>
<appendAssemblyId > false</appendAssemblyId>
<finalName > buildkit-win</finalName>
</configuration>
</execution>
</executions>
</plugin>
<plugin >
<groupId > org.apache.maven.plugins</groupId>
<artifactId > maven-dependency-plugin</artifactId>
<executions >
<execution >
<id > copy-win-libs</id>
<phase > prepare-package</phase>
<goals >
<goal > copy-dependencies</goal>
</goals>
<configuration >
2021-06-22 14:32:19 +00:00
<outputDirectory > ${project.build.directory}/mods</outputDirectory>
2021-06-04 18:09:10 +00:00
<includeGroupIds > org.openjfx</includeGroupIds>
<classifier > win</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>