123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524 |
- <?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.15.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>22</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.7.0</cryptomator.cryptofs.version>
- <cryptomator.integrations.version>1.4.0</cryptomator.integrations.version>
- <cryptomator.integrations.win.version>1.3.0</cryptomator.integrations.win.version>
- <cryptomator.integrations.mac.version>1.2.4</cryptomator.integrations.mac.version>
- <cryptomator.integrations.linux.version>1.5.0</cryptomator.integrations.linux.version>
- <cryptomator.fuse.version>5.0.2</cryptomator.fuse.version>
- <cryptomator.webdav.version>2.0.7</cryptomator.webdav.version>
- <!-- 3rd party dependencies -->
- <commons-lang3.version>3.17.0</commons-lang3.version>
- <dagger.version>2.52</dagger.version>
- <easybind.version>2.2</easybind.version>
- <jackson.version>2.18.1</jackson.version>
- <javafx.version>22.0.2</javafx.version>
- <jwt.version>4.4.0</jwt.version>
- <nimbus-jose.version>9.37.3</nimbus-jose.version>
- <logback.version>1.5.12</logback.version>
- <slf4j.version>2.0.16</slf4j.version>
- <tinyoauth2.version>0.8.0</tinyoauth2.version>
- <zxcvbn.version>1.9.0</zxcvbn.version>
- <!-- test dependencies -->
- <junit.jupiter.version>5.11.3</junit.jupiter.version>
- <mockito.version>5.14.2</mockito.version>
- <hamcrest.version>3.0</hamcrest.version>
- <!-- build-time dependencies -->
- <jetbrains.annotations.version>26.0.1</jetbrains.annotations.version>
- <dependency-check.version>11.1.0</dependency-check.version>
- <jacoco.version>0.8.12</jacoco.version>
- <license-generator.version>2.4.0</license-generator.version>
- <junit-tree-reporter.version>1.3.0</junit-tree-reporter.version>
- <mvn-compiler.version>3.13.0</mvn-compiler.version>
- <mvn-resources.version>3.3.1</mvn-resources.version>
- <mvn-dependency.version>3.8.1</mvn-dependency.version>
- <mvn-surefire.version>3.5.2</mvn-surefire.version>
- <mvn-jar.version>3.4.2</mvn-jar.version>
- </properties>
- <dependencies>
- <!-- Cryptomator Libs -->
- <dependency>
- <groupId>org.cryptomator</groupId>
- <artifactId>cryptolib</artifactId>
- <version>2.2.0</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>
- </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>
- <!-- 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.0</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>
- </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>
- </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>
- <arg>-Adagger.formatGeneratedSource=enabled</arg>
- <arg>--enable-preview</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>
- <dependencies>
- <dependency>
- <groupId>me.fabriciorby</groupId>
- <artifactId>maven-surefire-junit5-tree-reporter</artifactId>
- <version>${junit-tree-reporter.version}</version>
- </dependency>
- </dependencies>
- <configuration>
- <argLine>--enable-preview</argLine>
- <reportFormat>plain</reportFormat>
- <consoleOutputReporter>
- <disable>true</disable>
- </consoleOutputReporter>
- <statelessTestsetInfoReporter
- implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter">
- </statelessTestsetInfoReporter>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <!-- 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>
- </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>
- <thirdPartyFilename>THIRD-PARTY.txt</thirdPartyFilename>
- <includedScopes>compile</includedScopes>
- <excludedGroups>org\.cryptomator</excludedGroups>
- <licenseMergesUrl>file:///${project.basedir}/license/merges</licenseMergesUrl>
- <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>
- </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>
- <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>
- </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>
- </profile>
- <profile>
- <id>win</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>
- </profile>
- </profiles>
- </project>
|