diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cd028ff05..644a32f98 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,11 +14,6 @@ jobs: matrix: platform: [ubuntu-latest, macos-latest, windows-latest] jdk: [17, 21] - include: - - platform: ubuntu-latest - jdk: 11 - - platform: macos-latest - jdk: 11 runs-on: ${{ matrix.platform }} name: on ${{ matrix.platform }} with JDK ${{ matrix.jdk }} @@ -28,10 +23,14 @@ jobs: - name: Set up JDK ${{ matrix.jdk }} uses: actions/setup-java@v3 with: - distribution: 'zulu' + distribution: 'temurin' java-version: '${{ matrix.jdk }}' check-latest: true cache: 'maven' + - name: Set up Maven + uses: stCarolas/setup-maven@v4 + with: + maven-version: 3.9.5 - name: Build with Maven env: BROWSER: chrome-container diff --git a/LICENSE b/LICENSE index 2f5595810..2657e2991 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2007-2022 Dr. Ullrich Hafner +Copyright (c) 2007-2023 Dr. Ullrich Hafner Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index d23c60aab..8e95c5e05 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Static Analysis Model and Parsers Library [![Join the chat at Gitter/Matrix](https://badges.gitter.im/jenkinsci/warnings-plugin.svg)](https://gitter.im/jenkinsci/warnings-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![Jenkins](https://ci.jenkins.io/job/Plugins/job/analysis-model/job/master/badge/icon?subject=Jenkins%20CI)](https://ci.jenkins.io/job/Plugins/job/analysis-model/job/master/) -[![CI on all platforms](https://github.com/jenkinsci/analysis-model/workflows/GitHub%20CI/badge.svg?branch=master)](https://github.com/jenkinsci/analysis-model/actions) +[![Jenkins](https://ci.jenkins.io/job/Plugins/job/analysis-model/job/main/badge/icon?subject=Jenkins%20CI)](https://ci.jenkins.io/job/Plugins/job/analysis-model/job/main/) +[![CI on all platforms](https://github.com/jenkinsci/analysis-model/workflows/GitHub%20CI/badge.svg?branch=main)](https://github.com/jenkinsci/analysis-model/actions) [![codecov](https://codecov.io/gh/jenkinsci/analysis-model/branch/master/graph/badge.svg)](https://codecov.io/gh/jenkinsci/analysis-model) [![CodeQL](https://github.com/jenkinsci/analysis-model/workflows/CodeQL/badge.svg?branch=master)](https://github.com/jenkinsci/analysis-model/actions/workflows/codeql.yml) diff --git a/etc/assertj-templates/assertion_class_template.txt b/etc/assertj-templates/assertion_class_template.txt new file mode 100644 index 000000000..320e3603b --- /dev/null +++ b/etc/assertj-templates/assertion_class_template.txt @@ -0,0 +1,26 @@ +package ${package}; +${imports} +/** + * {@link ${class_to_assert}} specific assertions - Generated by CustomAssertionGenerator. + */ +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") +public class ${custom_assertion_class} extends AbstractObjectAssert<${custom_assertion_class}, ${class_to_assert}> { + + /** + * Creates a new {@link ${custom_assertion_class}} to make assertions on actual ${class_to_assert}. + * @param actual the ${class_to_assert} we want to make assertions on. + */ + public ${custom_assertion_class}(${class_to_assert} actual) { + super(actual, ${custom_assertion_class}.class); + } + + /** + * An entry point for ${custom_assertion_class} to follow AssertJ standard assertThat() statements.
+ * With a static import, one can write directly: assertThat(my${class_to_assert}) and get specific assertion with code completion. + * @param actual the ${class_to_assert} we want to make assertions on. + * @return a new {@link ${custom_assertion_class}} + */ + @org.assertj.core.util.CheckReturnValue + public static ${custom_assertion_class} assertThat(${class_to_assert} actual) { + return new ${custom_assertion_class}(actual); + } diff --git a/etc/assertj-templates/assertions_entry_point_class_template.txt b/etc/assertj-templates/assertions_entry_point_class_template.txt index f5204a15d..a275e227a 100644 --- a/etc/assertj-templates/assertions_entry_point_class_template.txt +++ b/etc/assertj-templates/assertions_entry_point_class_template.txt @@ -5,7 +5,7 @@ package ${package}; * type-specific assertion objects. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class Assertions extends org.assertj.core.api.Assertions { ${all_assertions_entry_points} /** diff --git a/etc/assertj-templates/soft_assertions_entry_point_class_template.txt b/etc/assertj-templates/soft_assertions_entry_point_class_template.txt index c7485e425..68df98692 100644 --- a/etc/assertj-templates/soft_assertions_entry_point_class_template.txt +++ b/etc/assertj-templates/soft_assertions_entry_point_class_template.txt @@ -4,7 +4,7 @@ package ${package}; * Entry point for soft assertions of different data types. */ @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") -@javax.annotation.Generated(value="assertj-assertions-generator") +@edu.hm.hafner.util.Generated(value="assertj-assertions-generator") public class SoftAssertions extends org.assertj.core.api.AutoCloseableSoftAssertions { ${all_assertions_entry_points} } diff --git a/pom.xml b/pom.xml index e66478809..10846522f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ edu.hm.hafner codingstyle-pom - 3.29.0 + 3.32.0