expense-tally
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.github.francis-pang</groupId>
<artifactId>expense-tally</artifactId>
<version>75</version>
</dependency><?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>com.github.francis-pang</groupId>
<artifactId>expense-tally</artifactId>
<packaging>pom</packaging>
<version>75</version>
<modules>
<module>base</module>
<module>model</module>
<module>csv-parser</module>
<module>expense-manager</module>
<module>reconciliator</module>
<module>cli</module>
</modules>
<!-- Application information -->
<name>${project.groupId}:${project.artifactId}</name>
<description>
Expense Tally is an application which tallies the transaction history from Singapore banks against the records
download from Expense Manager database.
</description>
<url>https://github.com/francis-pang/expense-tally</url>
<licenses>
<license>
<name>MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
<distribution>repo</distribution>
</license>
</licenses>
<!-- Development team information -->
<developers>
<developer>
<name>Francis Pang</name>
<email>boyshawn@hotmail.com</email>
<organizationUrl>https://www.linkedin.com/in/francispangdexian/</organizationUrl>
</developer>
</developers>
<properties>
<javaVersion>11</javaVersion>
<javaCompilerVersion>1.11</javaCompilerVersion>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.projectKey>boyshawn_expense-tally</sonar.projectKey>
<sonar.moduleKey>${project.groupId}:${project.artifactId}</sonar.moduleKey>
<sonar.login>f3e43ff4f0692fcd97fc41da1a7f890c79a86b5b</sonar.login>
<sonar.organization>boyshawn-github</sonar.organization>
<maven.developmentVersion>0-SNAPSHOT</maven.developmentVersion>
<!--Prevent "File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!"
This warning is emitted by a plugin that processes plain text files but has not been configured to use a
specific file encoding. -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--Source control management information-->
<scm>
<connection>scm:git:git@github.com:francis-pang/expense-tally.git</connection>
<developerConnection>scm:git:https://github.com/francis-pang/expense-tally.git</developerConnection>
<url>https://github.com/francis-pang/expense-tally</url>
<tag>expense-tally-75</tag>
</scm>
<distributionManagement>
<snapshotRepository>
<id>ossrh</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
<repository>
<id>ossrh</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.6.0</version>
</requireMavenVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Check for version -->
<!-- Command to use: mvn versions:use-latest-releases -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.11.0</version>
</plugin>
<!-- Need this to specify the compiler argument -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.10.1</version>
<configuration>
<release>${javaVersion}</release>
<source>${javaCompilerVersion}</source>
<target>${javaCompilerVersion}</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<!-- Used for executing test-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M6</version>
<configuration>
<excludes>
<exclude>some test to exclude here</exclude>
</excludes>
</configuration>
</plugin>
<!-- Used for executing integration test -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M6</version>
<configuration>
<properties>
<configurationParameters>
junit.jupiter.conditions.deactivate = *
junit.jupiter.extensions.autodetection.enabled = true
junit.jupiter.testinstance.lifecycle.default = per_class
junit.jupiter.execution.parallel.enabled = true
</configurationParameters>
</properties>
</configuration>
</plugin>
<!-- testing code coverage -->
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.8</version>
<configuration>
<excludes>
<!-- Exclude all the model package -->
<exclude>expense_tally/**/model/*</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>during-test-report</id>
<!-- The default is package, I change this so that the report is generated during test phase -->
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
<execution>
<id>default-check</id>
<goals>
<goal>check</goal>
</goals>
<configuration>
<rules>
<rule />
</rules>
</configuration>
</execution>
</executions>
</plugin>
<!-- Need this to specify the main entry point of the application-->
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<!-- Sonarqube plugin -->
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>3.9.1.2184</version>
</plugin>
<!-- Perform maven release to update the POM version-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0-M5</version>
<executions>
<execution>
<id>update-pom</id>
<goals>
<goal>update-versions</goal>
</goals>
</execution>
</executions>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
</configuration>
</plugin>
<!-- This will fix the issue of The code being documented uses modules but the packages defined in
https://docs.oracle.com/javase/13/docs/api/ are in the unnamed module. -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<javadocExecutable>${java.home}/bin/javadoc</javadocExecutable>
</configuration>
</plugin>
<!-- Generate the source jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- skip the deployment portion -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- Used to sign the components with the following configuration.-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<!--Deploy to the OSSRH Nexus Repository Manager with the Nexus Staging Maven plugin -->
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>ossrh</serverId>
<nexusUrl>https://oss.sonatype.org/</nexusUrl>
<autoReleaseAfterClose>true</autoReleaseAfterClose>
</configuration>
</plugin>
</plugins>
</build>
</project>