forked from Qortal/qortal
2497ac256c
Also added test for missing creator public key on API-submitted transaction creation calls, like /payments/pay or /asset/issue. (Needs to be an OpenAPI validator added at some point).
414 lines
12 KiB
XML
414 lines
12 KiB
XML
<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">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>org.qora</groupId>
|
|
<artifactId>qora-core</artifactId>
|
|
<version>2.0.0-SNAPSHOT</version>
|
|
<packaging>jar</packaging>
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<bouncycastle.version>1.60</bouncycastle.version>
|
|
<hsqldb.version>r5836</hsqldb.version>
|
|
<jetty.version>9.4.11.v20180605</jetty.version>
|
|
<jersey.version>2.27</jersey.version>
|
|
<log4j.version>2.11.0</log4j.version>
|
|
<slf4j.version>1.7.12</slf4j.version>
|
|
<swagger-api.version>2.0.6</swagger-api.version>
|
|
<swagger-ui.version>3.19.0</swagger-ui.version>
|
|
<felix-bundle-plugin.version>3.5.0</felix-bundle-plugin.version>
|
|
</properties>
|
|
<build>
|
|
<sourceDirectory>src/main/java</sourceDirectory>
|
|
<testSourceDirectory>src/test/java</testSourceDirectory>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.5.1</version>
|
|
<configuration>
|
|
<source>1.8</source>
|
|
<target>1.8</target>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- unpack swagger-ui to target folder -->
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>swagger ui</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>unpack</goal>
|
|
</goals>
|
|
<configuration>
|
|
<artifactItems>
|
|
<artifactItem>
|
|
<groupId>org.webjars</groupId>
|
|
<artifactId>swagger-ui</artifactId>
|
|
<version>${swagger-ui.version}</version>
|
|
</artifactItem>
|
|
</artifactItems>
|
|
<outputDirectory>${project.build.directory}/swagger-ui.unpacked</outputDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- inject correct url to swagger json file into swagger-ui -->
|
|
<plugin>
|
|
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
|
<artifactId>replacer</artifactId>
|
|
<version>1.5.3</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>replace</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<file>${project.build.directory}/swagger-ui.unpacked/META-INF/resources/webjars/swagger-ui/${swagger-ui.version}/index.html</file>
|
|
<replacements>
|
|
<replacement>
|
|
<token>https://petstore.swagger.io/v2/swagger.json</token>
|
|
<value>/openapi.json</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token>Swagger UI</token>
|
|
<value>API Documentation</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token>deepLinking: true,</token>
|
|
<value>
|
|
deepLinking: true,
|
|
tagsSorter: "alpha",
|
|
operationsSorter:
|
|
"alpha",
|
|
</value>
|
|
</replacement>
|
|
</replacements>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- add swagger-ui as resource to output package -->
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>3.1.0</version>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-resources</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.build.directory}/classes/resources/swagger-ui</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>${project.build.directory}/swagger-ui.unpacked/META-INF/resources/webjars/swagger-ui/${swagger-ui.version}</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Generate package-info.java files for JAXB, to convert byte[] to/from
|
|
Base58 -->
|
|
<plugin>
|
|
<groupId>com.github.bohnman</groupId>
|
|
<artifactId>package-info-maven-plugin</artifactId>
|
|
<version>1.0.1</version>
|
|
<configuration>
|
|
<packages>
|
|
<package>
|
|
<pattern>org.qora.data.**</pattern>
|
|
<template>${project.build.sourceDirectory}/org/qora/data/package-info.java</template>
|
|
</package>
|
|
<package>
|
|
<pattern>org.qora.api.model**</pattern>
|
|
<template>${project.build.sourceDirectory}/org/qora/data/package-info.java</template>
|
|
</package>
|
|
</packages>
|
|
<outputDirectory>${project.build.directory}/generated-sources/package-info</outputDirectory>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- Include generated package-info.java sources in build -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>generate-sources</phase>
|
|
<goals>
|
|
<goal>add-source</goal>
|
|
</goals>
|
|
<configuration>
|
|
<sources>
|
|
<source>${project.build.directory}/generated-sources/package-info</source>
|
|
</sources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.0.2</version>
|
|
<configuration>
|
|
<archive>
|
|
<manifest>
|
|
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-shade-plugin</artifactId>
|
|
<version>2.4.3</version>
|
|
<configuration>
|
|
<createDependencyReducedPom>false</createDependencyReducedPom>
|
|
<artifactSet>
|
|
<excludes>
|
|
<!-- Don't include original swagger-UI as we're including our own
|
|
modified version -->
|
|
<exclude>org.webjars:swagger-ui</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
<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.qora.controller.Controller</mainClass>
|
|
<manifestEntries>
|
|
<Class-Path>. ..</Class-Path>
|
|
</manifestEntries>
|
|
</transformer>
|
|
</transformers>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>${felix-bundle-plugin.version}</version>
|
|
<extensions>true</extensions>
|
|
<configuration>
|
|
<instructions>
|
|
<Include-Resource>
|
|
{maven-resources}, {maven-dependencies}
|
|
</Include-Resource>
|
|
<Bundle-ClassPath>.,..,{maven-dependencies}</Bundle-ClassPath>
|
|
</instructions>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
<repositories>
|
|
<repository>
|
|
<id>project.local</id>
|
|
<name>project</name>
|
|
<url>file:${project.basedir}/lib</url>
|
|
</repository>
|
|
</repositories>
|
|
<dependencies>
|
|
<!-- https://mvnrepository.com/artifact/org.codehaus.mojo/build-helper-maven-plugin -->
|
|
<dependency>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>build-helper-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
</dependency>
|
|
<!-- https://mvnrepository.com/artifact/com.github.bohnman/package-info-maven-plugin -->
|
|
<dependency>
|
|
<groupId>com.github.bohnman</groupId>
|
|
<artifactId>package-info-maven-plugin</artifactId>
|
|
<version>1.0.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.felix</groupId>
|
|
<artifactId>maven-bundle-plugin</artifactId>
|
|
<version>3.5.0</version>
|
|
</dependency>
|
|
<!-- HSQLDB for repository -->
|
|
<dependency>
|
|
<groupId>org.hsqldb</groupId>
|
|
<artifactId>hsqldb</artifactId>
|
|
<version>${hsqldb.version}</version>
|
|
</dependency>
|
|
<!-- CIYAM AT (automated transactions) -->
|
|
<dependency>
|
|
<groupId>org.ciyam</groupId>
|
|
<artifactId>at</artifactId>
|
|
<version>1.0</version>
|
|
</dependency>
|
|
<!-- Bitcoin support -->
|
|
<dependency>
|
|
<groupId>org.bitcoinj</groupId>
|
|
<artifactId>bitcoinj-core</artifactId>
|
|
<version>0.14.7</version>
|
|
</dependency>
|
|
<!-- Utilities -->
|
|
<dependency>
|
|
<groupId>com.googlecode.json-simple</groupId>
|
|
<artifactId>json-simple</artifactId>
|
|
<version>1.1.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-text</artifactId>
|
|
<version>1.4</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>commons-net</groupId>
|
|
<artifactId>commons-net</artifactId>
|
|
<version>3.3</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>25.0-jre</version>
|
|
</dependency>
|
|
<!-- Logging: log4j2 -->
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-core</artifactId>
|
|
<version>${log4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.logging.log4j</groupId>
|
|
<artifactId>log4j-api</artifactId>
|
|
<version>${log4j.version}</version>
|
|
</dependency>
|
|
<!-- Logging: slf4j used by Jetty -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-api</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-simple</artifactId>
|
|
<version>${slf4j.version}</version>
|
|
</dependency>
|
|
<!-- Servlet related -->
|
|
<dependency>
|
|
<groupId>javax.servlet</groupId>
|
|
<artifactId>javax.servlet-api</artifactId>
|
|
<version>4.0.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>javax.mail</groupId>
|
|
<artifactId>mail</artifactId>
|
|
<version>1.5.0-b01</version>
|
|
</dependency>
|
|
<!-- Jetty -->
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-server</artifactId>
|
|
<version>${jetty.version}</version>
|
|
<classifier>config</classifier>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlet</artifactId>
|
|
<version>${jetty.version}</version>
|
|
<type>jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-servlets</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.eclipse.jetty</groupId>
|
|
<artifactId>jetty-rewrite</artifactId>
|
|
<version>${jetty.version}</version>
|
|
</dependency>
|
|
<!-- Jersey -->
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.core</groupId>
|
|
<artifactId>jersey-server</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.containers</groupId>
|
|
<artifactId>jersey-container-servlet-core</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.inject</groupId>
|
|
<artifactId>jersey-hk2</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.media</groupId>
|
|
<artifactId>jersey-media-moxy</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jersey.media</groupId>
|
|
<artifactId>jersey-media-multipart</artifactId>
|
|
<version>${jersey.version}</version>
|
|
</dependency>
|
|
<!-- Swagger OpenAPI implementation -->
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-jaxrs2</artifactId>
|
|
<version>${swagger-api.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>io.swagger.core.v3</groupId>
|
|
<artifactId>swagger-jaxrs2-servlet-initializer</artifactId>
|
|
<version>${swagger-api.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.webjars</groupId>
|
|
<artifactId>swagger-ui</artifactId>
|
|
<version>${swagger-ui.version}</version>
|
|
</dependency>
|
|
<!-- Testing -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>5.3.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.hamcrest</groupId>
|
|
<artifactId>hamcrest-library</artifactId>
|
|
<version>1.3</version>
|
|
</dependency>
|
|
<!-- BouncyCastle for crypto, including TLS secure networking -->
|
|
<dependency>
|
|
<groupId>org.bouncycastle</groupId>
|
|
<artifactId>bcprov-jdk15on</artifactId>
|
|
<version>${bouncycastle.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</project>
|