<?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> <version>3.8.1</version> <configuration> <source>1.8</source> <target>1.8</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> <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> <version>3.2.0</version> <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-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> </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> <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> <!-- 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>