mage/pom.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>