mon/.github/workflows/maven-build.yml
Paul Campbell 830b312d9e
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

25 lines
611 B
YAML

# This workflow will build a Java project with Maven
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
name: Java CI with Maven
on:
push:
branches: '*'
pull_request:
branches: '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 8, 11, 13 ]
steps:
- uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: Build with Maven
run: mvn -B install