diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cb14edb6f..0cfd23757 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,8 @@ name: Build +permissions: + contents: read + on: workflow_dispatch: pull_request: @@ -15,10 +18,10 @@ jobs: name: "Build" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 - name: "Set up JDK" - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: 21 diff --git a/.github/workflows/dependency-submission.yml b/.github/workflows/dependency-submission.yml index 79b0496d0..9cb408169 100644 --- a/.github/workflows/dependency-submission.yml +++ b/.github/workflows/dependency-submission.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout sources - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Generate and submit dependency graph uses: gradle/actions/dependency-submission@v4 env: diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 28af62d51..f98763d24 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -8,10 +8,10 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 - name: "Set up JDK" - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: 'zulu' java-version: '21' @@ -27,7 +27,7 @@ jobs: - name: "Gradle Publish" run: | - ./gradlew publishToSonatype -Pversion=${GITHUB_REF:10} \ + ./gradlew publishToSonatype closeSonatypeStagingRepository -Pversion=${GITHUB_REF:10} \ -Psigning.keyId=${GPG_KEY_ID} \ -Psigning.password=${GPG_PASSPHRASE} \ -Psigning.secretKeyRingFile=${GITHUB_WORKSPACE}/${GPG_KEY_ID}.gpg diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1f8821c29..5e31f9b54 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: "Check next version" run: | expr "${{ github.event.inputs.nextVersion }}" : '[[:digit:]][[:digit:]]*\.[[:digit:]][[:digit:]]*$' - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@v5 with: token: ${{ secrets.QAMETA_CI }} diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java index e097b8815..5c6d09f34 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentData.java @@ -20,6 +20,7 @@ * * @author charlie (Dmitry Baev). */ +@FunctionalInterface public interface AttachmentData { String getName(); diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java index 467261139..99129f89a 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentProcessor.java @@ -19,6 +19,7 @@ * @param the type of attachment data. * @author charlie (Dmitry Baev). */ +@FunctionalInterface public interface AttachmentProcessor { void addAttachment(T attachmentData, AttachmentRenderer renderer); diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java index 355f6d782..2b6f5b1a5 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/AttachmentRenderer.java @@ -20,6 +20,7 @@ * @author charlie (Dmitry Baev). */ @SuppressWarnings("PMD.AvoidUncheckedExceptionsInSignatures") +@FunctionalInterface public interface AttachmentRenderer { AttachmentContent render(T attachmentData) throws AttachmentRenderException; diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java index 75cda2e96..a51052cf7 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpRequestAttachment.java @@ -112,7 +112,6 @@ public String toString() { /** * Builder for HttpRequestAttachment. */ - @SuppressWarnings("PMD.AvoidFieldNameMatchingMethodName") public static final class Builder { private final String name; diff --git a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java index 2369e10f8..d606af57e 100644 --- a/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java +++ b/allure-attachments/src/main/java/io/qameta/allure/attachment/http/HttpResponseAttachment.java @@ -90,7 +90,6 @@ public String toString() { /** * Builder for HttpRequestAttachment. */ - @SuppressWarnings("PMD.AvoidFieldNameMatchingMethodName") public static final class Builder { private final String name; diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java index 8998226d8..b5a5d429d 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/AllureCucumber4Jvm.java @@ -82,7 +82,6 @@ "ClassDataAbstractionCoupling", "ClassFanOutComplexity", "MultipleStringLiterals", - "PMD.ExcessiveImports", }) public class AllureCucumber4Jvm implements ConcurrentEventListener { diff --git a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java index a0ed3c28b..fbcbb3f10 100644 --- a/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java +++ b/allure-cucumber4-jvm/src/main/java/io/qameta/allure/cucumber4jvm/LabelBuilder.java @@ -49,8 +49,8 @@ /** * Scenario labels and links builder. */ -@SuppressWarnings({"CyclomaticComplexity", "PMD.CyclomaticComplexity", "PMD.NcssCount", "MultipleStringLiterals"}) -class LabelBuilder { +@SuppressWarnings({"CyclomaticComplexity", "MultipleStringLiterals"}) +final class LabelBuilder { private static final Logger LOGGER = LoggerFactory.getLogger(LabelBuilder.class); private static final String COMPOSITE_TAG_DELIMITER = "="; @@ -89,34 +89,34 @@ class LabelBuilder { switch (tagKey) { case SEVERITY: - getScenarioLabels().add(ResultsUtils.createSeverityLabel(tagValue.toLowerCase())); + scenarioLabels.add(ResultsUtils.createSeverityLabel(tagValue.toLowerCase())); break; case TMS_LINK: - getScenarioLinks().add(ResultsUtils.createTmsLink(tagValue)); + scenarioLinks.add(ResultsUtils.createTmsLink(tagValue)); break; case ISSUE_LINK: - getScenarioLinks().add(ResultsUtils.createIssueLink(tagValue)); + scenarioLinks.add(ResultsUtils.createIssueLink(tagValue)); break; case PLAIN_LINK: - getScenarioLinks().add(ResultsUtils.createLink(null, tagValue, tagValue, null)); + scenarioLinks.add(ResultsUtils.createLink(null, tagValue, tagValue, null)); break; default: LOGGER.warn("Composite tag {} is not supported. adding it as RAW", tagKey); - getScenarioLabels().add(getTagLabel(tag)); + scenarioLabels.add(getTagLabel(tag)); break; } } else if (tagParser.isPureSeverityTag(tag)) { - getScenarioLabels().add(ResultsUtils.createSeverityLabel(tagString.substring(1))); + scenarioLabels.add(ResultsUtils.createSeverityLabel(tagString.substring(1))); } else if (!tagParser.isResultTag(tag)) { - getScenarioLabels().add(getTagLabel(tag)); + scenarioLabels.add(getTagLabel(tag)); } } final String featureName = feature.getName(); final String uri = scenario.getUri(); - getScenarioLabels().addAll(ResultsUtils.getProvidedLabels()); - getScenarioLabels().addAll(Arrays.asList( + scenarioLabels.addAll(ResultsUtils.getProvidedLabels()); + scenarioLabels.addAll(Arrays.asList( createHostLabel(), createThreadLabel(), createFeatureLabel(featureName), @@ -130,7 +130,7 @@ class LabelBuilder { featurePackage(uri, featureName) .map(ResultsUtils::createPackageLabel) - .ifPresent(getScenarioLabels()::add); + .ifPresent(scenarioLabels::add); } public List