mirror of
https://github.com/correl/mage.git
synced 2024-11-22 03:00:11 +00:00
318 lines
13 KiB
XML
318 lines
13 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/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>org.mage</groupId>
|
|
<artifactId>mage-root</artifactId>
|
|
<version>1.4.50</version>
|
|
<packaging>pom</packaging>
|
|
<name>Mage Root</name>
|
|
<description>Mage Root POM</description>
|
|
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
<encoding>UTF-8</encoding>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- default manifest settings (parent) -->
|
|
<plugin>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<configuration>
|
|
<archive>
|
|
<manifestEntries>
|
|
<Built-By>MageTeam</Built-By>
|
|
<Build-Time>${maven.build.timestamp}</Build-Time>
|
|
</manifestEntries>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- JaCoCo Code Coverage report generation -->
|
|
<!-- Examples: http://tdongsi.github.io/blog/2017/09/23/jacoco-in-maven-project/ -->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.7</version>
|
|
<executions>
|
|
<execution>
|
|
<!-- prepare command line to inject in java agent (collect code executing stats) -->
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<!-- generate current module's report -->
|
|
<id>generate-code-coverage-report</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>report</goal>
|
|
</goals>
|
|
</execution>
|
|
<execution>
|
|
<!-- generate combined report (current and dependency modules) -->
|
|
<id>report-aggregate</id>
|
|
<phase>verify</phase>
|
|
<goals>
|
|
<goal>report-aggregate</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<source>${java.version}</source>
|
|
<target>${java.version}</target>
|
|
<encoding>UTF-8</encoding>
|
|
<!--
|
|
Because of known error in maven-compiler-plugin 3.2 useIncrementalCompilation is inverted
|
|
so remove this arg with update that fixes the problem
|
|
https://jira.codehaus.org/browse/MCOMPILER-209
|
|
-->
|
|
<useIncrementalCompilation>false</useIncrementalCompilation>
|
|
<!-- <compilerArgument>-Xlint:all</compilerArgument> -->
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.0.0-M5</version>
|
|
<!--
|
|
for compatible with jacoco code coverage - argLine moved to properties section
|
|
<configuration>
|
|
<argLine>-Dfile.encoding=UTF-8</argLine>
|
|
</configuration>
|
|
-->
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-install-plugin</artifactId>
|
|
<version>2.5.2</version>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-deploy-plugin</artifactId>
|
|
<version>2.7</version>
|
|
</plugin>
|
|
|
|
<!-- devs only: allows to run apps from command line by exec:java command -->
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>3.0.0</version>
|
|
</plugin>
|
|
|
|
<!-- generate readable readme file for releases -->
|
|
<!-- results uses in distribution.xml -->
|
|
<!-- https://github.com/walokra/markdown-page-generator-plugin -->
|
|
<plugin>
|
|
<groupId>com.ruleoftech</groupId>
|
|
<artifactId>markdown-page-generator-plugin</artifactId>
|
|
<version>2.4.0</version>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>generate</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<inputDirectory>../</inputDirectory>
|
|
<inputFileExtensions>md</inputFileExtensions>
|
|
<outputDirectory>${project.build.directory}/docs</outputDirectory>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<modules>
|
|
<module>Mage</module>
|
|
<module>Mage.Common</module>
|
|
<module>Mage.Server</module>
|
|
<module>Mage.Sets</module>
|
|
<module>Mage.Client</module>
|
|
<module>Mage.Plugins</module>
|
|
<module>Mage.Server.Plugins</module>
|
|
<module>Mage.Server.Console</module>
|
|
<module>Mage.Tests</module>
|
|
<module>Mage.Verify</module>
|
|
</modules>
|
|
|
|
<repositories>
|
|
<repository>
|
|
<id>jboss-public-repository</id>
|
|
<name>JBoss Repository</name>
|
|
<url>https://repository.jboss.org/nexus/content/groups/public</url>
|
|
<!-- These optional flags are designed to speed up your builds by reducing remote server calls -->
|
|
<releases>
|
|
<updatePolicy>never</updatePolicy>
|
|
</releases>
|
|
<snapshots>
|
|
<updatePolicy>daily</updatePolicy>
|
|
</snapshots>
|
|
</repository>
|
|
<repository>
|
|
<id>local-project-repo</id>
|
|
<url>file://${basedir}/repository</url>
|
|
</repository>
|
|
</repositories>
|
|
|
|
<properties>
|
|
<!--
|
|
java.version dictates what version of Java to build for.
|
|
This sets the minimum java version required to run the game.
|
|
-->
|
|
<java.version>1.8</java.version>
|
|
<mage-version>1.4.50</mage-version>
|
|
<argLine>-Dfile.encoding=UTF-8</argLine>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
|
|
|
|
<!--
|
|
JaCoCo code coverage disabled by default. If you need to generate
|
|
execute stats and reports then run tests by maven command
|
|
like "mvn install -Djacoco.skip=false".
|
|
Stats:
|
|
- load coverage data for IntelliJ IDEA from ./target/jacoco.exec
|
|
- web report in ./target/site/jacoco/index.html
|
|
- for sonar support see below
|
|
-->
|
|
<jacoco.skip>true</jacoco.skip>
|
|
|
|
<!-- Sonar settings for code coverage. Must be only one report for all modules (use report-aggregate goal report from JaCoCo) -->
|
|
<aggregate.report.dir>Mage.Verify/target/site/jacoco-aggregate/jacoco.xml</aggregate.report.dir>
|
|
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/../${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
|
|
</properties>
|
|
|
|
<dependencies>
|
|
<!-- GLOBAL dependencies - used in all xmage modules (no need to add it to child modules) -->
|
|
<dependency>
|
|
<!-- logs support (log4j as engine + slf4j as facade) -->
|
|
<!-- TODO: migrate from log4j to logback code usage (see SLF4J Migrator http://www.slf4j.org/migrator.html) -->
|
|
<!-- TODO: migrate log4j configs to logback xml (see properties to xml translation http://logback.qos.ch/translator/ -->
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<version>1.7.32</version>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<!-- database support - ORM -->
|
|
<groupId>com.j256.ormlite</groupId>
|
|
<artifactId>ormlite-jdbc</artifactId>
|
|
<version>5.7</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- database support - H2 db engine (main db) -->
|
|
<!-- WARNING, do not update db engine (stable: 1.4.197) cause compatibility issues, see https://github.com/h2database/h2database/issues/2078 -->
|
|
<groupId>com.h2database</groupId>
|
|
<artifactId>h2</artifactId>
|
|
<version>1.4.197</version>
|
|
<scope>runtime</scope>
|
|
</dependency>
|
|
|
|
<dependency>
|
|
<!-- junit 4 tests -->
|
|
<groupId>org.junit.vintage</groupId>
|
|
<artifactId>junit-vintage-engine</artifactId>
|
|
<version>5.8.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- junit 5 tests -->
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>5.8.1</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- write asserts in unit tests like a real language -->
|
|
<groupId>org.assertj</groupId>
|
|
<artifactId>assertj-core</artifactId>
|
|
<version>3.21.0</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<dependencyManagement>
|
|
<!-- OTHER dependencies - you must add it to child modules manually (copy groupId and artifactId without scope and version) -->
|
|
<!-- write shared libs from all childs here to version control -->
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>javax.xml.bind</groupId>
|
|
<artifactId>jaxb-api</artifactId>
|
|
<version>2.3.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.sun.xml.bind</groupId>
|
|
<artifactId>jaxb-impl</artifactId>
|
|
<version>2.3.1</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.glassfish.jaxb</groupId>
|
|
<artifactId>jaxb-core</artifactId>
|
|
<version>3.0.2</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- junit compatible dependencies (xmage uses junit 5 platform for all v4 and v5 tests) -->
|
|
<groupId>org.junit</groupId>
|
|
<artifactId>junit-bom</artifactId>
|
|
<version>5.8.1</version>
|
|
<type>pom</type>
|
|
<scope>import</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- json support -->
|
|
<groupId>com.google.code.gson</groupId>
|
|
<artifactId>gson</artifactId>
|
|
<version>2.8.8</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- extended lib from google (collections, io, etc) -->
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
<version>30.1.1-jre</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- escape/unescape html in texts -->
|
|
<groupId>org.unbescape</groupId>
|
|
<artifactId>unbescape</artifactId>
|
|
<version>1.1.6.RELEASE</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- zip files support -->
|
|
<groupId>net.java.truevfs</groupId>
|
|
<artifactId>truevfs-profile-base</artifactId>
|
|
<version>0.14.0</version>
|
|
</dependency>
|
|
<dependency>
|
|
<!-- lib with useful code and utils -->
|
|
<groupId>org.apache.commons</groupId>
|
|
<artifactId>commons-lang3</artifactId>
|
|
<version>3.12.0</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
</project>
|