mon/.github/workflows/maven-build.yml

26 lines
611 B
YAML
Raw Normal View History

# 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:
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
java: [ 8, 11, 13 ]
steps:
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
- 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