mon/pom.xml

144 lines
5.6 KiB
XML
Raw Permalink Normal View History

2017-09-15 19:13:11 +01:00
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
2018-06-27 07:04:00 +01:00
<parent>
<groupId>net.kemitix</groupId>
<artifactId>kemitix-parent</artifactId>
<version>5.3.0</version>
2018-06-27 07:04:00 +01:00
<relativePath/>
</parent>
2017-09-15 19:13:11 +01:00
<artifactId>mon</artifactId>
2021-08-05 07:38:49 +01:00
<version>3.0.0</version>
<name>Mon</name>
<description>Wrapper, TypeAlias, Maybe, Result, Tree, Lazy, Either and Combinators for Java.
</description>
<issueManagement>
2018-07-21 22:50:32 +01:00
<url>https://github.com/kemitix/mon/issues</url>
<system>github Issues</system>
</issueManagement>
<scm>
2018-07-21 22:50:32 +01:00
<url>https://github.com/kemitix/mon</url>
<connection>scm:git:https://github.com/kemitix/mon.git</connection>
<developerConnection>scm:git:git@github.com:kemitix/mon.git</developerConnection>
</scm>
2018-07-21 22:50:32 +01:00
<url>https://github.com/kemitix/mon</url>
<inceptionYear>2017</inceptionYear>
<properties>
<junit.version>5.7.2</junit.version>
<mockito.version>3.11.2</mockito.version>
<assertj.version>3.20.2</assertj.version>
<lombok.version>1.18.20</lombok.version>
<tiles-maven-plugin.version>2.23</tiles-maven-plugin.version>
<kemitix-maven-tiles.version>3.0.1</kemitix-maven-tiles.version>
2017-12-24 08:03:45 +00:00
<digraph-dependency.basePackage>net.kemitix.mon</digraph-dependency.basePackage>
<kemitix-checkstyle.version>5.5.0</kemitix-checkstyle.version>
<pitest-maven-plugin.version>1.6.8</pitest-maven-plugin.version>
<pitest-junit5-plugin.version>0.14</pitest-junit5-plugin.version>
<spotbugs.version>4.3.0</spotbugs.version>
<apiguardian-api.version>1.1.2</apiguardian-api.version>
</properties>
2017-09-15 19:13:11 +01:00
<dependencies>
2017-12-24 08:03:45 +00:00
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
Result enhancements (#215) * pom: don’t override java version - use LTS - JDK 11 * result: nest tests * Add Result.{from(Either|Optional),ofVoid,ok(),onSuccess,applyOver} * Add Result.flatApplyOver * result: create separate documentation file * Add Result.toEither() * Add Result.onError - by type * Simplify creation of Result in Result.ofVoid * Make Result.ofVoid tolerate exceptions and no return statement * Add missing javadoc for result.VoidCallable * Bump pitest-junit5-plugin from 0.12 to 0.14 (#187) * Bump tiles-maven-plugin from 2.19 to 2.20 (#188) * Bump lombok from 1.18.18 to 1.18.20 (#189) * Bump spotbugs-annotations from 4.2.2 to 4.2.3 (#191) * Bump mockito-junit-jupiter from 3.8.0 to 3.9.0 (#190) * Bump pitest-maven from 1.6.4 to 1.6.5 (#192) * Bump pitest-maven from 1.6.5 to 1.6.6 (#194) * Bump tiles-maven-plugin from 2.20 to 2.21 (#195) * Bump mockito-junit-jupiter from 3.9.0 to 3.10.0 (#196) * Bump junit-bom from 5.7.1 to 5.7.2 (#197) * Bump tiles-maven-plugin from 2.21 to 2.22 (#198) * Bump pitest-maven from 1.6.6 to 1.6.7 (#199) * Bump mockito-junit-jupiter from 3.10.0 to 3.11.0 (#200) * Bump assertj-core from 3.19.0 to 3.20.0 (#202) * Bump mockito-junit-jupiter from 3.11.0 to 3.11.1 (#201) * Bump assertj-core from 3.20.0 to 3.20.1 (#203) * Bump tiles-maven-plugin from 2.22 to 2.23 (#204) * Bump assertj-core from 3.20.1 to 3.20.2 (#205) * Bump mockito-junit-jupiter from 3.11.1 to 3.11.2 (#206) * Upgrade to GitHub-native Dependabot (#193) Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Paul Campbell <pcampbell@kemitix.net> * Create dependabot.yml (#207) * Bump actions/setup-java from 1 to 2.1.0 (#210) * Bump actions/setup-java from 1 to 2.1.0 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 1 to 2.1.0. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v1...v2.1.0) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update build-maven.yml * Update deploy-sonatype.yml * Update build-maven.yml * Update build-maven.yml Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Paul Campbell <pcampbell@kemitix.net> * Bump release-drafter/release-drafter from 5.14.0 to 5.15.0 (#209) Bumps [release-drafter/release-drafter](https://github.com/release-drafter/release-drafter) from 5.14.0 to 5.15.0. - [Release notes](https://github.com/release-drafter/release-drafter/releases) - [Commits](https://github.com/release-drafter/release-drafter/compare/v5.14.0...v5.15.0) --- updated-dependencies: - dependency-name: release-drafter/release-drafter dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Paul Campbell <pcampbell@kemitix.net> * Add ResultVoid special Result type - Result now extends ThrowableFunctor allowing mapping functions to throw exceptions - Added ResultVoid to replace the usage of Result<Void> and handle void cases better - Add `flatMapV` and `andThenV` which return ResultVoid * result: Migrate static constructor docs to javadoc * result.Result: move static constructors to top of class * result: add docs and tests for from(Maybe) and from(Either) * pom: add apigaurdian dependency * Remove migrated docs * result: add missing api status * result.Result: group static methods together in file * result.Result: reorder static methods * result.Result: deprecate static maybe methods that don’t include Maybe in name * result.Result.toMaybe: update docs and tests * fix up toMaybe example * result.Result.flatMapMaybe: update docs and tests * result.Result.applyOver(Stream,Consumer): updated docs and tests * result.Result.applyOver: update docs and tests * result.Result: fix bad javadoc encoding * result.Result.flatMapApply: update docs and tests * result.Result.error(Class, Throwable): added * result.Result: suppress warning on long class * result.Result: apply warning supression to entire interface * result.Result.toEither: update docs and tests * result.Result.err: deprecate * [BREAKING] result.Result.err: removed * [BREAKING] result.Result.result: remove method * [BREAKING] result.Result.success: remove method * result.Result.orElseThrow: update docs and tests * result.Result.toVoid: add javadoc and test * result.Result.map: update docs and tests * result.Result.map: add api status * result.Result.isError: update docs and test * result.Result.isError: update docs and test * result.Result.isOkay: update docs and test * result.Result.onError: update docs and test * result.Result.onError: update docs and tests * result.Result: tidy up and add some API statuses * result.Result.orElseThrowUnchecked: update docs and tests * result.Result.orElseThrow: update docs and tests * result.Result.maybe: removed * result.Result.thenWith: update docs and test * result.Result.peek: update docs and tests * result.Result.recover: update docs and tests * result.Result.match: update docs and tests * result.Result.andThen: deprecate in favour of map * result.Result.flatMap: update docs and tests * Update link to documentation for Result * result.Result.flatMapV: add docs and test * result.Result.match: update docs * result.Result.onSuccess: update docs * result.Result.reduce: mark experimental * pom: remove java.version (conflict resolution mistake) * Result: add deprecation annotations * result.Err: remove unused imports * result.BaseResult: extract interface * result.ResultVoid.match: add javadoc * result.ResultVoid: regroup tests and add javadoc for recover and onSuccess * result.ResultVoid.onError: update docs and tests * result.Err.andThen: don't create new object needlessly * result.ResultVoid.andThen: add javadoc and update tests * result.ResultVoid.inject: on error returns new exception, update docs and tests * result.Result.error: suppress false positive unused parameter warning * result.Success.getInstance added * ErrVoid: fix toString * SuccessVoid: break circular dependency * Err: break circular dependency * Result.result: added * Success: break cyclic dependency * Result.result: add javadoc and test * Result.result: reuse static of(…) * github/dependabot: clean up * github/workflow: remove unused graphviz * github/workflow: drop java support Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-08-05 06:49:32 +01:00
<dependency>
<groupId>org.apiguardian</groupId>
<artifactId>apiguardian-api</artifactId>
<version>${apiguardian-api.version}</version>
</dependency>
2017-09-15 19:13:11 +01:00
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
2017-09-15 19:13:11 +01:00
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
2018-02-28 19:58:56 +00:00
<version>${assertj.version}</version>
2017-09-15 19:13:11 +01:00
<scope>test</scope>
</dependency>
JDK 13 Compatibility (#116) * Add jdk 13 to build matrix * Adjust indentation * Adjust indentation * Bump kemitix-maven-tiles from 1.2.0 to 2.4.1 * Fix TypeAlias.equals(Object) does not check for null argument net.kemitix.mon.TypeAlias.equals(Object) does not check for null argument [net.kemitix.mon.TypeAlias] At TypeAlias.java:[lines 82-88] NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT * Fix TypeAlias.flatMap(Function) declares unbound method template parameter [ERROR] Method net.kemitix.mon.TypeAlias.flatMap(Function) declares unbound method template parameter(s) [net.kemitix.mon.TypeAlias] At TypeAlias.java:[line 72] UMTP_UNBOUND_METHOD_TEMPLATE_PARAMETER * Fix Lazy has a circular dependency with other classes [ERROR] Class net.kemitix.mon.lazy.Lazy has a circular dependency with other classes [net.kemitix.mon.lazy.Lazy] At Lazy.java:[lines 36-46] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Synchronization performed on AtomicReference [ERROR] Synchronization performed on java.util.concurrent.atomic.AtomicReference in net.kemitix.mon.lazy.LazySupplier.value() [net.kemitix.mon.lazy.LazySupplier] At LazySupplier.java:[line 61] JLM_JSR166_UTILCONCURRENT_MONITORENTER * Fix Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [ERROR] Non derivable method net.kemitix.mon.maybe.Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [net.kemitix.mon.maybe.Just] At Just.java:[line 102] BED_BOGUS_EXCEPTION_DECLARATION * Fix Maybe has a circular dependency with other classes [ERROR] Class net.kemitix.mon.maybe.Maybe has a circular dependency with other classes [net.kemitix.mon.maybe.Maybe] At Maybe.java:[lines 40-94] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Maybe.findFirst(Stream) uses immediate execution of a block [ERROR] Method net.kemitix.mon.maybe.Maybe.findFirst(Stream) uses immediate execution of a block of code that is often not used [net.kemitix.mon.maybe.Maybe] At Maybe.java:[line 94] OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION * Fix Success/Result/Err has a circular dependency [ERROR] Class net.kemitix.mon.result.Err has a circular dependency with other classes [net.kemitix.mon.result.Err] At Err.java: FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix GeneralisedTree has a circular dependency [ERROR] Class net.kemitix.mon.tree.GeneralisedTree has a circular dependency with other classes [net.kemitix.mon.tree.GeneralisedTree] At GeneralisedTree.java:[lines 39-80] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Supress warning about boxing a boolean NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION Without creating a whole reimplemention of Maybe/Just/Nothing purely for `boolean` primitives, we can’t avoid this boxing. * Supress store before return warnings in Lombok generate hashCode USBR_UNNECESSARY_STORE_BEFORE_RETURN The annotation has to be used at the class level, which unfortunately means we have no store-before-return checks for the rest of the class. * Suppress warning about unused parameter The type parameter for `Tree.builder(type)` is used to specify the parameterised type of the return value. * Checkstyle fixups * [changelog] updated
2020-03-20 07:17:29 +00:00
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-annotations</artifactId>
<version>${spotbugs.version}</version>
<scope>provided</scope>
</dependency>
2017-09-15 19:13:11 +01:00
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2017-12-24 08:03:45 +00:00
<build>
<plugins>
<plugin>
<groupId>io.repaint.maven</groupId>
<artifactId>tiles-maven-plugin</artifactId>
<version>${tiles-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<tiles>
<tile>net.kemitix.tiles:maven-plugins:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:compiler-jdk-lts:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:pmd:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:testing:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:spotbugs:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:coverage:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:pitest:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.tiles:pmd-strict:${kemitix-maven-tiles.version}</tile>
<tile>net.kemitix.checkstyle:tile:${kemitix-checkstyle.version}</tile>
2017-12-24 08:03:45 +00:00
</tiles>
</configuration>
</plugin><!-- tiles-maven-plugin -->
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>${pitest-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>${pitest-junit5-plugin.version}</version>
</dependency>
</dependencies>
</plugin>
2017-12-24 08:03:45 +00:00
</plugins>
</build>
2017-09-15 19:13:11 +01:00
</project>