Skip to content

Commit 6eb27b1

Browse files
authored
Merge pull request #266 from xdev-software/develop
Release
2 parents 7be86ac + 11d1c61 commit 6eb27b1

29 files changed

+230
-188
lines changed

.config/checkstyle/checkstyle.xml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
<module name="TreeWalker">
5353
<!-- Checks - sorted alphabetically -->
5454
<module name="ArrayTypeStyle"/>
55+
<module name="AvoidDoubleBraceInitialization"/>
5556
<module name="AvoidStarImport"/>
5657
<module name="ConstantName"/>
5758
<module name="DefaultComesLast"/>
@@ -68,6 +69,11 @@
6869
<module name="FinalParameters"/>
6970
<module name="GenericWhitespace"/>
7071
<module name="HideUtilityClassConstructor"/>
72+
<module name="IllegalCatch">
73+
<!-- https://docs.pmd-code.org/pmd-doc-7.11.0/pmd_rules_java_errorprone.html#avoidcatchingnpe -->
74+
<!-- https://docs.pmd-code.org/pmd-doc-7.11.0/pmd_rules_java_errorprone.html#avoidcatchingthrowable -->
75+
<property name="illegalClassNames" value="Error,Throwable,NullPointerException,java.lang.Error,java.lang.Throwable,java.lang.NullPointerException"/>
76+
</module>
7177
<module name="IllegalImport"/>
7278
<module name="InterfaceIsType"/>
7379
<module name="JavadocStyle">
@@ -93,7 +99,6 @@
9399
<module name="MethodParamPad"/>
94100
<module name="MissingDeprecated"/>
95101
<module name="MissingOverride"/>
96-
<module name="MissingSwitchDefault"/>
97102
<module name="ModifierOrder"/>
98103
<module name="NeedBraces"/>
99104
<module name="NoClone"/>
@@ -122,7 +127,13 @@
122127
</module>
123128
<module name="TypecastParenPad"/>
124129
<module name="TypeName"/>
130+
<module name="UnnecessaryParentheses"/>
131+
<module name="UnnecessarySemicolonAfterOuterTypeDeclaration"/>
132+
<module name="UnnecessarySemicolonAfterTypeMemberDeclaration"/>
133+
<module name="UnnecessarySemicolonInEnumeration"/>
134+
<module name="UnnecessarySemicolonInTryWithResources"/>
125135
<module name="UnusedImports"/>
136+
<module name="UnusedLocalVariable"/>
126137
<module name="UpperEll"/>
127138
<module name="VisibilityModifier">
128139
<property name="packageAllowed" value="true"/>

.config/pmd/ruleset.xml renamed to .config/pmd/java/ruleset.xml

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,38 @@
1010

1111
<!-- Only rules that don't overlap with CheckStyle! -->
1212

13+
<rule ref="category/java/bestpractices.xml/AvoidPrintStackTrace"/>
14+
<rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/>
1315
<rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/>
16+
<rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
17+
<rule ref="category/java/bestpractices.xml/ExhaustiveSwitchHasDefault"/>
18+
<rule ref="category/java/bestpractices.xml/LiteralsFirstInComparisons"/>
19+
<!-- CheckStyle can't handle this switch behavior -> delegated to PMD -->
20+
<rule ref="category/java/bestpractices.xml/NonExhaustiveSwitch"/>
21+
<rule ref="category/java/bestpractices.xml/OneDeclarationPerLine">
22+
<properties>
23+
<property name="strictMode" value="true"/>
24+
</properties>
25+
</rule>
1426
<rule ref="category/java/bestpractices.xml/PreserveStackTrace"/>
27+
<rule ref="category/java/bestpractices.xml/SimplifiableTestAssertion"/>
28+
<rule ref="category/java/bestpractices.xml/SystemPrintln"/>
29+
<rule ref="category/java/bestpractices.xml/UnusedAssignment"/>
30+
<rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/>
31+
<rule ref="category/java/bestpractices.xml/UnusedPrivateField"/>
32+
<rule ref="category/java/bestpractices.xml/UnusedPrivateMethod"/>
1533
<rule ref="category/java/bestpractices.xml/UseCollectionIsEmpty"/>
34+
<rule ref="category/java/bestpractices.xml/UseEnumCollections"/>
1635
<rule ref="category/java/bestpractices.xml/UseStandardCharsets"/>
36+
<rule ref="category/java/bestpractices.xml/UseTryWithResources"/>
1737

1838
<!-- Native code is platform dependent; Loading external native libs might pose a security threat -->
1939
<rule ref="category/java/codestyle.xml/AvoidUsingNativeCode"/>
2040
<rule ref="category/java/codestyle.xml/IdenticalCatchBranches"/>
41+
<rule ref="category/java/codestyle.xml/LambdaCanBeMethodReference"/>
2142
<rule ref="category/java/codestyle.xml/NoPackage"/>
2243
<rule ref="category/java/codestyle.xml/PrematureDeclaration"/>
44+
<rule ref="category/java/codestyle.xml/UnnecessarySemicolon"/>
2345

2446
<rule ref="category/java/design.xml">
2547
<!-- Sometimes abstract classes have just fields -->
@@ -76,9 +98,6 @@
7698

7799
<!-- Limit too low -->
78100
<exclude name="UseObjectForClearerAPI"/>
79-
80-
<!-- Handled by checkstyle -->
81-
<exclude name="UseUtilityClass"/>
82101
</rule>
83102

84103
<rule ref="category/java/design.xml/AvoidDeeplyNestedIfStmts">
@@ -114,17 +133,33 @@
114133
</properties>
115134
</rule>
116135

136+
<rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/>
137+
<rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
138+
<rule ref="category/java/errorprone.xml/AvoidMultipleUnaryOperators"/>
117139
<rule ref="category/java/errorprone.xml/AvoidUsingOctalValues"/>
118140
<rule ref="category/java/errorprone.xml/BrokenNullCheck"/>
119141
<rule ref="category/java/errorprone.xml/ComparisonWithNaN"/>
120142
<rule ref="category/java/errorprone.xml/DoNotCallGarbageCollectionExplicitly"/>
121143
<rule ref="category/java/errorprone.xml/DontImportSun"/>
144+
<rule ref="category/java/errorprone.xml/DontUseFloatTypeForLoopIndices"/>
145+
<rule ref="category/java/errorprone.xml/EqualsNull"/>
146+
<rule ref="category/java/errorprone.xml/IdempotentOperations"/>
147+
<rule ref="category/java/errorprone.xml/ImplicitSwitchFallThrough"/>
148+
<rule ref="category/java/errorprone.xml/InstantiationToGetClass"/>
149+
<rule ref="category/java/errorprone.xml/InvalidLogMessageFormat"/>
150+
<rule ref="category/java/errorprone.xml/JumbledIncrementer"/>
122151
<rule ref="category/java/errorprone.xml/MisplacedNullCheck"/>
152+
<rule ref="category/java/errorprone.xml/MoreThanOneLogger"/>
153+
<rule ref="category/java/errorprone.xml/NonStaticInitializer"/>
154+
<rule ref="category/java/errorprone.xml/ReturnFromFinallyBlock"/>
155+
<rule ref="category/java/errorprone.xml/SingletonClassReturningNewInstance"/>
156+
<rule ref="category/java/errorprone.xml/UnconditionalIfStatement"/>
123157
<rule ref="category/java/errorprone.xml/UnnecessaryCaseChange"/>
158+
<rule ref="category/java/errorprone.xml/UselessOperationOnImmutable"/>
124159

125160

126161
<rule ref="category/java/multithreading.xml">
127-
<!-- Just bloats code -->
162+
<!-- Just bloats code; improved in JEP-491/Java 24+ -->
128163
<exclude name="AvoidSynchronizedAtMethodLevel"/>
129164

130165
<!-- NOPE -->

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: 🐞 Bug
22
description: Create a bug report for something that is broken
33
labels: [bug]
4+
type: bug
45
body:
56
- type: markdown
67
attributes:
@@ -32,6 +33,15 @@ body:
3233
validations:
3334
required: true
3435

36+
- type: textarea
37+
id: description
38+
attributes:
39+
label: Description of the problem
40+
description: |
41+
Describe as exactly as possible what is not working.
42+
validations:
43+
required: true
44+
3545
- type: textarea
3646
id: steps-to-reproduce
3747
attributes:
@@ -46,20 +56,6 @@ body:
4656
validations:
4757
required: true
4858

49-
- type: textarea
50-
id: expected-behavior
51-
attributes:
52-
label: Expected behavior
53-
description: |
54-
Tell us what you expect to happen.
55-
56-
- type: textarea
57-
id: actual-behavior
58-
attributes:
59-
label: Actual behavior
60-
description: |
61-
Tell us what happens with the steps given above.
62-
6359
- type: textarea
6460
id: additional-information
6561
attributes:

.github/ISSUE_TEMPLATE/enhancement.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: ✨ Feature/Enhancement
22
description: Suggest a new feature or enhancement
33
labels: [enhancement]
4+
type: feature
45
body:
56
- type: markdown
67
attributes:

.github/workflows/broken-links.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919

2020
- name: Link Checker
2121
id: lychee
22-
uses: lycheeverse/lychee-action@v2
22+
uses: lycheeverse/lychee-action@82202e5e9c2f4ef1a55a3d02563e1cb6041e5332 # v2
2323
with:
2424
fail: false # Don't fail on broken links, create an issue instead
2525

@@ -31,14 +31,14 @@ jobs:
3131
GH_TOKEN: ${{ github.token }}
3232

3333
- name: Close issue if everything is fine
34-
if: env.lychee_exit_code == 0 && steps.find-issue.outputs.number != ''
34+
if: steps.lychee.outputs.exit_code == 0 && steps.find-issue.outputs.number != ''
3535
run: gh issue close -r 'not planned' ${{ steps.find-issue.outputs.number }}
3636
env:
3737
GH_TOKEN: ${{ github.token }}
3838

3939
- name: Create Issue From File
40-
if: env.lychee_exit_code != 0
41-
uses: peter-evans/create-issue-from-file@v5
40+
if: steps.lychee.outputs.exit_code != 0
41+
uses: peter-evans/create-issue-from-file@e8ef132d6df98ed982188e460ebb3b5d4ef3a9cd # v5
4242
with:
4343
issue-number: ${{ steps.find-issue.outputs.number }}
4444
title: Link Checker Report

.github/workflows/check-build.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
cache: 'gradle'
4141

4242
- name: Build
43-
run: ./gradlew build buildPlugin --info
43+
run: ./gradlew build buildPlugin --info --stacktrace
4444

4545
- name: Try upload test reports when failure occurs
4646
uses: actions/upload-artifact@v4
@@ -95,7 +95,7 @@ jobs:
9595
cache: 'gradle'
9696

9797
- name: Run Checkstyle
98-
run: ./gradlew checkstyleMain checkstyleTest -PcheckstyleEnabled
98+
run: ./gradlew checkstyleMain checkstyleTest -PcheckstyleEnabled --stacktrace
9999

100100
pmd:
101101
runs-on: ubuntu-latest
@@ -118,7 +118,7 @@ jobs:
118118
cache: 'gradle'
119119

120120
- name: Run PMD
121-
run: ./gradlew pmdMain pmdTest -PpmdEnabled
121+
run: ./gradlew pmdMain pmdTest -PpmdEnabled --stacktrace
122122

123123
- name: Upload report
124124
if: always()
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Check IDE Compatibility
2+
3+
on:
4+
schedule:
5+
- cron: '55 2 * * 1'
6+
workflow_dispatch:
7+
8+
jobs:
9+
check-ide-compatibility:
10+
runs-on: ubuntu-latest
11+
timeout-minutes: 45
12+
steps:
13+
- name: Free up disk space
14+
run: |
15+
sudo df -h
16+
sudo docker system prune -af || true
17+
sudo rm -rf /usr/share/dotnet \
18+
/usr/local/.ghcup \
19+
/usr/local/swift \
20+
/usr/share/swift \
21+
/usr/lib/jvm \
22+
/usr/local/lib/android \
23+
/usr/lib/google-cloud-sdk \
24+
/usr/local/share/boost \
25+
/usr/local/share/powershell \
26+
/usr/local/share/chromium \
27+
/usr/local/lib/node_modules \
28+
/usr/lib/mono \
29+
/usr/lib/heroku \
30+
/usr/lib/firefox \
31+
/usr/share/miniconda \
32+
/opt/microsoft \
33+
/opt/chrome \
34+
/opt/pipx \
35+
"$AGENT_TOOLSDIRECTORY" || true
36+
sudo df -h
37+
38+
- uses: actions/checkout@v4
39+
40+
- name: Set up JDK
41+
uses: actions/setup-java@v4
42+
with:
43+
distribution: 'temurin'
44+
java-version: 21
45+
46+
- name: Check compatibility
47+
run: ./gradlew verifyPlugin --info --stacktrace
48+
49+
- name: Upload report
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: plugin-verifier-reports
53+
path: build/reports/pluginVerifier/**
54+
if-no-files-found: warn

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
cache: 'gradle'
2424

2525
- name: Build
26-
run: ./gradlew build buildPlugin --info
26+
run: ./gradlew build buildPlugin --info --stacktrace
2727

2828
- name: Check for uncommited changes
2929
run: |
@@ -82,7 +82,7 @@ jobs:
8282
8383
- name: Create Release
8484
id: create_release
85-
uses: shogo82148/actions-create-release@v1
85+
uses: shogo82148/actions-create-release@4661dc54f7b4b564074e9fbf73884d960de569a3 # v1
8686
with:
8787
tag_name: v${{ steps.version.outputs.release }}
8888
release_name: v${{ steps.version.outputs.release }}

.github/workflows/sonar.yml

Lines changed: 0 additions & 78 deletions
This file was deleted.

.github/workflows/sync-labels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ jobs:
2020
with:
2121
sparse-checkout: .github/labels.yml
2222

23-
- uses: EndBug/label-sync@v2
23+
- uses: EndBug/label-sync@52074158190acb45f3077f9099fea818aa43f97a # v2
2424
with:
2525
config-file: .github/labels.yml

0 commit comments

Comments
 (0)