778 lines
24 KiB
XML
778 lines
24 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<parent>
|
|
<artifactId>TextSecureServer</artifactId>
|
|
<groupId>org.whispersystems.textsecure</groupId>
|
|
<version>JGITVER</version>
|
|
</parent>
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<artifactId>service</artifactId>
|
|
|
|
<properties>
|
|
<firebase-admin.version>9.4.3</firebase-admin.version>
|
|
<java-uuid-generator.version>5.1.0</java-uuid-generator.version>
|
|
<google-androidpublisher.version>v3-rev20250318-2.0.0</google-androidpublisher.version>
|
|
<storekit.version>3.4.0</storekit.version>
|
|
<webauthn4j.version>0.28.6.RELEASE</webauthn4j.version>
|
|
<java-jwt.version>4.5.0</java-jwt.version>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.auth0</groupId>
|
|
<artifactId>java-jwt</artifactId>
|
|
<version>${java-jwt.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.apis</groupId>
|
|
<artifactId>google-api-services-androidpublisher</artifactId>
|
|
<version>${google-androidpublisher.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.apple.itunes.storekit</groupId>
|
|
<artifactId>app-store-server-library</artifactId>
|
|
<version>${storekit.version}</version>
|
|
<exclusions>
|
|
<!-- conflicts with okio-jvm from apollo-api-jvm -->
|
|
<exclusion>
|
|
<groupId>com.squareup.okio</groupId>
|
|
<artifactId>okio-jvm</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.webauthn4j</groupId>
|
|
<artifactId>webauthn4j-appattest</artifactId>
|
|
<version>${webauthn4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-jaxrs2-jakarta</artifactId>
|
|
<version>${swagger.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.servlet</groupId>
|
|
<artifactId>jakarta.servlet-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.validation</groupId>
|
|
<artifactId>jakarta.validation-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>jakarta.ws.rs</groupId>
|
|
<artifactId>jakarta.ws.rs-api</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.whispersystems.textsecure</groupId>
|
|
<artifactId>websocket-resources</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.signal</groupId>
|
|
<artifactId>libsignal-server</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.signal.forks</groupId>
|
|
<artifactId>noise-java</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.signal</groupId>
|
|
<artifactId>simple-grpc-runtime</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-auth</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-http2</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-logging</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-metrics</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-util</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-servlets</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-lifecycle</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-jersey</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-jetty</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-validation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-migrations</artifactId>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback.access</groupId>
|
|
<artifactId>logback-access-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>ch.qos.logback</groupId>
|
|
<artifactId>logback-classic</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>net.logstash.logback</groupId>
|
|
<artifactId>logstash-logback-encoder</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-healthchecks</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.dropwizard.metrics</groupId>
|
|
<artifactId>metrics-annotation</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-common</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-server</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-client</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.dropwizard</groupId>
|
|
<artifactId>dropwizard-testing</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>party.iroiro.luajava</groupId>
|
|
<artifactId>luajava</artifactId>
|
|
<version>${luajava.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>party.iroiro.luajava</groupId>
|
|
<artifactId>lua51</artifactId>
|
|
<version>${luajava.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>party.iroiro.luajava</groupId>
|
|
<artifactId>lua51-platform</artifactId>
|
|
<version>${luajava.version}</version>
|
|
<classifier>natives-desktop</classifier>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
<artifactId>websocket-jetty-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlets</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty.websocket</groupId>
|
|
<artifactId>websocket-jetty-client</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-csv</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-compress</artifactId>
|
|
<version>1.27.1</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.cloud</groupId>
|
|
<artifactId>google-cloud-pubsub</artifactId>
|
|
</dependency>
|
|
|
|
<!-- resolve opentelemetry-semconv conflicts from lower in firebase-admin and firestore dependency trees -->
|
|
<dependency>
|
|
<groupId>com.google.firebase</groupId>
|
|
<artifactId>firebase-admin</artifactId>
|
|
<version>${firebase-admin.version}</version>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>io.opentelemetry.semconv</groupId>
|
|
<artifactId>opentelemetry-semconv</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.opentelemetry.semconv</groupId>
|
|
<artifactId>opentelemetry-semconv</artifactId>
|
|
<version>1.30.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.cloud</groupId>
|
|
<artifactId>google-cloud-firestore</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>io.opentelemetry.semconv</groupId>
|
|
<artifactId>opentelemetry-semconv</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.code.findbugs</groupId>
|
|
<artifactId>jsr305</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.github.resilience4j</groupId>
|
|
<artifactId>resilience4j-circuitbreaker</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.resilience4j</groupId>
|
|
<artifactId>resilience4j-retry</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.github.resilience4j</groupId>
|
|
<artifactId>resilience4j-reactor</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-netty</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-protobuf</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.grpc</groupId>
|
|
<artifactId>grpc-stub</artifactId>
|
|
</dependency>
|
|
<!-- Needed for gRPC with Java 9+ -->
|
|
<dependency>
|
|
<groupId>org.apache.tomcat</groupId>
|
|
<artifactId>annotations-api</artifactId>
|
|
<scope>provided</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.micrometer</groupId>
|
|
<artifactId>micrometer-registry-statsd</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.coursera</groupId>
|
|
<artifactId>dropwizard-metrics-datadog</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-annotations</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.dataformat</groupId>
|
|
<artifactId>jackson-dataformat-yaml</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.datatype</groupId>
|
|
<artifactId>jackson-datatype-jsr310</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.jaxrs</groupId>
|
|
<artifactId>jackson-jaxrs-json-provider</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.salesforce.servicelibs</groupId>
|
|
<artifactId>reactor-grpc-stub</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>apache-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>netty-nio-client</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>sts</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>s3</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>software.amazon.awssdk</groupId>
|
|
<artifactId>dynamodb</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.amazonaws</groupId>
|
|
<artifactId>dynamodb-lock-client</artifactId>
|
|
<version>1.3.0</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.lettuce</groupId>
|
|
<artifactId>lettuce-core</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.eatthepath</groupId>
|
|
<artifactId>pushy</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.eatthepath</groupId>
|
|
<artifactId>pushy-dropwizard-metrics-listener</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.vdurmont</groupId>
|
|
<artifactId>semver4j</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.protobuf</groupId>
|
|
<artifactId>protobuf-java</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
<artifactId>libphonenumber</artifactId>
|
|
</dependency>
|
|
|
|
<!-- Provides tools for mapping phone numbers to time zones, which is helpful for scheduling push notifications
|
|
during waking hours -->
|
|
<dependency>
|
|
<groupId>com.googlecode.libphonenumber</groupId>
|
|
<artifactId>geocoder</artifactId>
|
|
<version>3.2</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>net.sourceforge.argparse4j</groupId>
|
|
<artifactId>argparse4j</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.netty</groupId>
|
|
<artifactId>netty-codec-haproxy</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.test-framework</groupId>
|
|
<artifactId>jersey-test-framework-core</artifactId>
|
|
<scope>test</scope>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>junit</groupId>
|
|
<artifactId>junit</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.test-framework.providers</groupId>
|
|
<artifactId>jersey-test-framework-provider-grizzly2</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-core</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-core-micrometer</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>io.projectreactor</groupId>
|
|
<artifactId>reactor-test</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>org.signal</groupId>
|
|
<artifactId>embedded-redis</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.fasterxml.uuid</groupId>
|
|
<artifactId>java-uuid-generator</artifactId>
|
|
<version>${java-uuid-generator.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.amazonaws</groupId>
|
|
<artifactId>DynamoDBLocal</artifactId>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.google.auth</groupId>
|
|
<artifactId>google-auth-library-oauth2-http</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.stripe</groupId>
|
|
<artifactId>stripe-java</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.braintreepayments.gateway</groupId>
|
|
<artifactId>braintree-java</artifactId>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<groupId>com.apollographql.apollo3</groupId>
|
|
<artifactId>apollo-api-jvm</artifactId>
|
|
<version>3.8.5</version>
|
|
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>org.jetbrains</groupId>
|
|
<artifactId>annotations</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>exclude-spam-filter</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<configuration>
|
|
<createDependencyReducedPom>true</createDependencyReducedPom>
|
|
<filters>
|
|
<filter>
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<exclude>META-INF/*.SF</exclude>
|
|
<exclude>META-INF/*.DSA</exclude>
|
|
<exclude>META-INF/*.RSA</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>shade</goal>
|
|
</goals>
|
|
<configuration>
|
|
<transformers>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
|
<mainClass>org.whispersystems.textsecuregcm.WhisperServerService</mainClass>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<descriptors>
|
|
<descriptor>assembly.xml</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>make-assembly</id> <!-- this is used for inheritance merges -->
|
|
<phase>package</phase> <!-- bind to the packaging phase -->
|
|
<goals>
|
|
<goal>single</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>properties-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>read-deploy-configuration</id>
|
|
<phase>deploy</phase>
|
|
<goals>
|
|
<goal>read-project-properties</goal>
|
|
</goals>
|
|
<configuration>
|
|
<files>${project.basedir}/config/deploy.properties</files>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.google.cloud.tools</groupId>
|
|
<artifactId>jib-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>deploy</phase>
|
|
<goals>
|
|
<goal>build</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<from>
|
|
<image>eclipse-temurin@sha256:${docker.image.sha256}</image>
|
|
<platforms>
|
|
<platform>
|
|
<architecture>amd64</architecture>
|
|
<os>linux</os>
|
|
</platform>
|
|
<platform>
|
|
<architecture>arm64</architecture>
|
|
<os>linux</os>
|
|
</platform>
|
|
</platforms>
|
|
</from>
|
|
<to>
|
|
<image>${docker.repo}:${project.version}</image>
|
|
</to>
|
|
<container>
|
|
<mainClass>org.whispersystems.textsecuregcm.WhisperServerService</mainClass>
|
|
<jvmFlags>
|
|
<jvmFlag>-server</jvmFlag>
|
|
<jvmFlag>-Djava.awt.headless=true</jvmFlag>
|
|
<jvmFlag>-Djdk.nio.maxCachedBufferSize=262144</jvmFlag>
|
|
<jvmFlag>-Dlog4j2.formatMsgNoLookups=true</jvmFlag>
|
|
<jvmFlag>-XX:MaxRAMPercentage=75</jvmFlag>
|
|
<jvmFlag>-XX:+HeapDumpOnOutOfMemoryError</jvmFlag>
|
|
<jvmFlag>-XX:HeapDumpPath=/tmp/heapdump.bin</jvmFlag>
|
|
</jvmFlags>
|
|
<ports>
|
|
<port>8080</port>
|
|
</ports>
|
|
<creationTime>USE_CURRENT_TIMESTAMP</creationTime>
|
|
</container>
|
|
<extraDirectories>
|
|
<paths>
|
|
<path>
|
|
<from>${project.basedir}/config</from>
|
|
<includes>*.yml</includes>
|
|
<into>/usr/share/signal/</into>
|
|
</path>
|
|
</paths>
|
|
</extraDirectories>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>include-spam-filter</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.google.cloud.tools</groupId>
|
|
<artifactId>jib-maven-plugin</artifactId>
|
|
<configuration>
|
|
<!-- we don't want jib to execute on this module -->
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>test-server</id>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>start-test-server</id>
|
|
<phase>integration-test</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.whispersystems.textsecuregcm.LocalWhisperServerService</mainClass>
|
|
<classpathScope>test</classpathScope>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<build>
|
|
<finalName>${project.parent.artifactId}-${project.version}</finalName>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>templating-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>filter-src</id>
|
|
<goals>
|
|
<goal>filter-sources</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<configuration>
|
|
<!-- add-opens: work around PATCH not being a supported method on HttpUrlConnection -->
|
|
<argLine>-javaagent:${org.mockito:mockito-core:jar} --add-opens=java.base/java.net=ALL-UNNAMED</argLine>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>test-jar</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>check-all-service-config</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>java</goal>
|
|
</goals>
|
|
<configuration>
|
|
<mainClass>org.whispersystems.textsecuregcm.CheckServiceConfigurations</mainClass>
|
|
<classpathScope>test</classpathScope>
|
|
<arguments>
|
|
<argument>${project.basedir}/config</argument>
|
|
</arguments>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>com.github.aoudiamoncef</groupId>
|
|
<artifactId>apollo-client-maven-plugin</artifactId>
|
|
<version>5.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
<configuration>
|
|
<services>
|
|
<braintree>
|
|
<compilationUnit>
|
|
<name>braintree</name>
|
|
<compilerParams>
|
|
<schemaPackageName>com.braintree.graphql.client</schemaPackageName>
|
|
</compilerParams>
|
|
</compilationUnit>
|
|
</braintree>
|
|
</services>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project>
|