356 lines
11 KiB
XML
356 lines
11 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/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<groupId>it1901.groups2021.gr2141</groupId>
|
|
<artifactId>flashy</artifactId>
|
|
<packaging>pom</packaging>
|
|
<version>1.0-SNAPSHOT</version>
|
|
<name>Flashy</name>
|
|
<description>
|
|
An application to make and memorize flashcards
|
|
</description>
|
|
|
|
<properties>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<maven.compiler.source>16</maven.compiler.source>
|
|
<maven.compiler.target>11</maven.compiler.target>
|
|
<gitlab.url>https://gitlab.stud.idi.ntnu.no/it1901/groups-2021/gr2141/gr2141</gitlab.url>
|
|
|
|
<!-- Dependency versions -->
|
|
<openjfx.version>18-ea+2</openjfx.version>
|
|
<junit.version>5.8.0</junit.version>
|
|
<testfx.version>4.0.16-alpha</testfx.version>
|
|
<mockito.version>4.0.0</mockito.version>
|
|
|
|
</properties>
|
|
|
|
<scm>
|
|
<url>${gitlab.url}</url>
|
|
<connection>scm:git:${gitlab.url}.git</connection>
|
|
</scm>
|
|
<ciManagement>
|
|
<system>gitlab-ci</system>
|
|
<url>${gitlab.url}</url>
|
|
</ciManagement>
|
|
<issueManagement>
|
|
<system>gitlab</system>
|
|
<url>${gitlab.url}/-/issues</url>
|
|
</issueManagement>
|
|
<licenses>
|
|
<license>
|
|
<name>MIT License</name>
|
|
<url>http://www.opensource.org/licenses/mit-license.php</url>
|
|
<distribution>repo</distribution>
|
|
</license>
|
|
</licenses>
|
|
<distributionManagement>
|
|
<site>
|
|
<id>${project.artifactId}-site</id>
|
|
<url>${project.baseUri}</url>
|
|
</site>
|
|
</distributionManagement>
|
|
|
|
<!-- ##################################################################### -->
|
|
<!-- Dependencies -->
|
|
<!-- ##################################################################### -->
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<!-- JavaFX -->
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-controls</artifactId>
|
|
<version>${openjfx.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.openjfx</groupId>
|
|
<artifactId>javafx-fxml</artifactId>
|
|
<version>${openjfx.version}</version>
|
|
</dependency>
|
|
|
|
<!-- Jackson - JSON parser -->
|
|
<dependency>
|
|
<groupId>com.fasterxml.jackson.core</groupId>
|
|
<artifactId>jackson-databind</artifactId>
|
|
<version>2.13.0-rc2</version>
|
|
</dependency>
|
|
|
|
<!-- Material Icons -->
|
|
<dependency>
|
|
<groupId>de.jensd</groupId>
|
|
<artifactId>fontawesomefx-materialicons</artifactId>
|
|
<version>2.2.0-9.1.2</version>
|
|
</dependency>
|
|
|
|
<!-- JUnit -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
<version>${junit.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- Mockito -->
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-core</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.mockito</groupId>
|
|
<artifactId>mockito-inline</artifactId>
|
|
<version>${mockito.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
<!-- TestFX -->
|
|
<dependency>
|
|
<groupId>org.testfx</groupId>
|
|
<artifactId>testfx-core</artifactId>
|
|
<version>${testfx.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.testfx</groupId>
|
|
<artifactId>testfx-junit5</artifactId>
|
|
<version>${testfx.version}</version>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
|
|
<dependencies>
|
|
<!-- JUnit -->
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-params</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-api</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.junit.jupiter</groupId>
|
|
<artifactId>junit-jupiter-engine</artifactId>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<!-- ##################################################################### -->
|
|
<!-- Plugins -->
|
|
<!-- ##################################################################### -->
|
|
|
|
<build>
|
|
<plugins>
|
|
<!-- Plugin for compiling the project -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-compiler-plugin</artifactId>
|
|
<version>3.8.1</version>
|
|
<configuration>
|
|
<release>${maven.compiler.target}</release>
|
|
<showWarnings>true</showWarnings>
|
|
<showDeprecation>true</showDeprecation>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Plugin to run and report unit tests -->
|
|
<plugin>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>3.0.0-M5</version>
|
|
<configuration>
|
|
<forkCount>1</forkCount>
|
|
<reuseForks>true</reuseForks>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Plugin to generate a webpage for the project -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<version>3.9.1</version>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.maven.skins</groupId>
|
|
<artifactId>maven-fluido-skin</artifactId>
|
|
<version>1.2.2</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</plugin>
|
|
|
|
<!-- Plugin to generate code coverage
|
|
|
|
This part only sets up the coverage report generation before the tests are run.
|
|
The aggregated report is generated in the report module.
|
|
-->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.7</version>
|
|
<executions>
|
|
<execution>
|
|
<id>jacoco-prepare-agent</id>
|
|
<goals>
|
|
<goal>prepare-agent</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
|
|
<!-- Plugin to package the project into a jar archive -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-jar-plugin</artifactId>
|
|
<version>3.2.0</version>
|
|
<configuration>
|
|
<archive>
|
|
<index>true</index>
|
|
<manifest>
|
|
<addClasspath>true</addClasspath>
|
|
</manifest>
|
|
</archive>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
<encoding>UTF-8</encoding>
|
|
<consoleOutput>true</consoleOutput>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</build>
|
|
|
|
<!-- ##################################################################### -->
|
|
<!-- Reporting -->
|
|
<!-- ##################################################################### -->
|
|
|
|
<reporting>
|
|
<plugins>
|
|
|
|
<!-- Plugin to generate default reports for maven-site-plugin -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-project-info-reports-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
</plugin>
|
|
|
|
<!-- Plugin to extract javadoc comments and make API documentation -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-javadoc-plugin</artifactId>
|
|
<version>3.3.1</version>
|
|
<configuration>
|
|
<failOnError>false</failOnError>
|
|
<sourceFileIncludes>
|
|
<sourceFileInclude>**/*.java</sourceFileInclude>
|
|
</sourceFileIncludes>
|
|
</configuration>
|
|
<reportSets>
|
|
<reportSet>
|
|
<id>default</id>
|
|
<reports>
|
|
<report>javadoc</report>
|
|
</reports>
|
|
</reportSet>
|
|
<reportSet>
|
|
<id>aggregate</id>
|
|
<inherited>false</inherited>
|
|
<reports>
|
|
<report>aggregate</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
|
|
<!-- Plugin to lint the code -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-checkstyle-plugin</artifactId>
|
|
<version>3.1.2</version>
|
|
<configuration>
|
|
<configLocation>checkstyle.xml</configLocation>
|
|
<encoding>UTF-8</encoding>
|
|
<consoleOutput>true</consoleOutput>
|
|
<failsOnError>false</failsOnError>
|
|
<linkXRef>true</linkXRef>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Plugin to generate code coverage
|
|
|
|
The plugin defined here doesn't actually have any effect on the final site.
|
|
The report is generated in the report module.
|
|
The only effect of keeping the plugin here too, is that the html entry for the
|
|
report gets generated as a side effect.
|
|
-->
|
|
<plugin>
|
|
<groupId>org.jacoco</groupId>
|
|
<artifactId>jacoco-maven-plugin</artifactId>
|
|
<version>0.8.7</version>
|
|
<reportSets>
|
|
<reportSet>
|
|
<id>aggregate</id>
|
|
<inherited>false</inherited>
|
|
<reports>
|
|
<report>report-aggregate</report>
|
|
</reports>
|
|
</reportSet>
|
|
</reportSets>
|
|
</plugin>
|
|
|
|
<!-- Plugin to report test results -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-report-plugin</artifactId>
|
|
<version>2.4.2</version>
|
|
<configuration>
|
|
<aggregate>true</aggregate>
|
|
</configuration>
|
|
</plugin>
|
|
|
|
<!-- Plugin for static code analysis (reports potential bugs) -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-pmd-plugin</artifactId>
|
|
<version>3.15.0</version>
|
|
</plugin>
|
|
|
|
</plugins>
|
|
</reporting>
|
|
|
|
<modules>
|
|
<module>core</module>
|
|
<module>fxui</module>
|
|
<module>report</module>
|
|
<module>packaging</module>
|
|
</modules>
|
|
|
|
</project> |