Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
132 changes: 71 additions & 61 deletions .config/detekt/.detekt.yml
Original file line number Diff line number Diff line change
@@ -1,69 +1,79 @@
comments:
# License in each file is unnecessary.
AbsentOrWrongFileLicense:
active: false
# Nothing wrong with documenting private methods.
CommentOverPrivateFunction:
active: false
# Nothing wrong with documenting private properties.
CommentOverPrivateProperty:
active: false
# [Disagree] License in each file is unnecessary.
AbsentOrWrongFileLicense:
active: false
# [Disagree] Simple private functions should be documented too.
CommentOverPrivateFunction:
active: false
# [Disagree] Simple private properties should be documented too.
CommentOverPrivateProperty:
active: false

complexity:
# Acceptable if used sparingly.
LabeledExpression:
active: false
# Solved using resource bundles. All remaining duplicates are resource identifiers.
StringLiteralDuplication:
active: false
# [Disagree] Acceptable if used sparingly.
LabeledExpression:
active: false
# [False Positive] Solved using resource bundles. All remaining duplicates are resource identifiers.
StringLiteralDuplication:
active: false

formatting:
# Experimental. Too many false positives.
ArgumentListWrapping:
active: false
# Placing expression functions on one line makes it harder to understand.
FunctionSignature:
active: false
# That's part of my code style.
NoConsecutiveBlankLines:
active: false
# Acceptable because of auto-formatting.
MultiLineIfElse:
active: false
# Only if function takes vararg.
TrailingCommaOnCallSite:
active: false
# [Disagree] Acceptable for many short arguments.
ArgumentListWrapping:
active: false
# [Bug] Incorrectly detects violation if semicolon is followed by more than one newline.
EnumWrapping:
active: false
# [Disagree] Multi-line expressions are easier to understand if they start on the next line.
FunctionSignature:
active: false
# [Disagree] Short one-liners are easier to understand.
IfElseWrapping:
active: false
# [Bug] Causes ugly indentation when using named multiline arguments to a function.
MultilineExpressionWrapping:
active: false
# [Disagree] Braces use unnecessary extra space.
MultiLineIfElse:
active: false
# [Disagree] Consecutive blank lines are used consistently to group blocks of code.
NoConsecutiveBlankLines:
active: false
# [Disagree] Unnecessary, except for calls with vararg.
TrailingCommaOnCallSite:
active: false

naming:
# Too many false positives in JUnit 4 tests.
FunctionMaxLength:
active: false
potential-bugs:
# [Exception] Initialised by scene builder.
LateinitUsage:
ignoreOnClassesPattern: ".*Editor"

style:
# `apply` is confusing with namespaces.
AlsoCouldBeApply:
active: false
# Those functions are added as conscious design decisions.
DataClassContainsFunctions:
active: false
# Not if they're settings objects.
DataClassShouldBeImmutable:
active: false
# Acceptable in parameterized tests.
DestructuringDeclarationWithTooManyEntries:
active: false
# Comments indicating TODOs are acceptable.
ForbiddenComment:
active: false
# One more is fine in my opinion.
LoopWithTooManyJumpStatements:
maxJumpCount: 2
# No braces are easier to read.
MandatoryBracesIfStatements:
active: false
# Three is fine.
ReturnCount:
max: 3
# False positives when there are two newlines after the imports.
SpacingBetweenPackageAndImports:
active: false
# [Disagree] `apply` is confusing to use because of namespace conflicts.
AlsoCouldBeApply:
active: false
# [Disagree] Braces use unnecessary extra space.
BracesOnIfStatements:
multiLine: consistent
# [Disagree] Functions on data classes are useful.
DataClassContainsFunctions:
active: false
# [Disagree] Mutable data classes are useful.
DataClassShouldBeImmutable:
active: false
# [Exception] Acceptable in (parameterized) tests.
DestructuringDeclarationWithTooManyEntries:
excludes:
- '**/test/**'
# [Bug] Fails when used as function expression body.
MultilineRawStringIndentation:
active: false
# [Bug] False positives when there are two newlines after the imports.
SpacingBetweenPackageAndImports:
active: false
# [Bug] Suggests using raw string in constant, but then `trimIndent` is not possible, resulting in weird indenting.
StringShouldBeRawString:
active: false
# [Exception] Used by scene builder.
UnusedPrivateMember:
allowedNames: "createUIComponents"
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Pull requests that do not meet the following guidelines are **fine**; these are

### 📚 Documentation
Always update related documentation, both code documentation and user instructions such as the [README](../README.md).
Additionally, make sure you update the [change notes](../src/main/resources/META-INF/change-notes.html) if necessary.
Additionally, make sure you update the [change notes](../CHANGELOG.md) if necessary.

### 🧪 Tests
If you fixed a bug or added a new feature, make sure you add tests that cover this.
Expand Down
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ assignees: FWDekker
<!-- If applicable, add screenshots to help explain your problem. -->

**Version information**
- Randomness version [e.g. 2.7.2]: <!-- Check `Settings -> Plugins` in your IDE and search for `Randomness` -->
- IDE version [e.g. IntelliJ Community 2021.1.2]: <!-- Check `Help -> About` in your IDE -->
- Operating system [e.g. Windows 10, Ubuntu 20.04, macOS 11.4]: <!-- Use a search engine for help if you don't know -->
- Java version [e.g. 1.8.291, 11.0.11]: <!-- Run `java -version` in a terminal or check https://www.java.com/en/download/help/version_manual.xml -->
- Randomness version [e.g. 2.7.7]: <!-- Check `Settings -> Plugins` in your IDE and search for `Randomness` -->
- IDE version [e.g. IntelliJ Community 2023.1.3]: <!-- Check `Help -> About` in your IDE -->
- Operating system [e.g. Windows 11, Ubuntu 22.04.2, macOS 13.4.1]: <!-- Use a search engine for help if you don't know -->
- Java version [e.g. 17.0.5, 19.0.2]: <!-- Run `java -version` in a terminal or check https://www.java.com/en/download/help/version_manual.xml -->

**Additional context**
<!-- Add any other context about the problem here. -->
17 changes: 10 additions & 7 deletions .github/RELEASE_CHECKLIST.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
# Release checklist
## Documentation
* Bump the version number according to [Semantic Versioning](https://semver.org/).
* Update `README.md`, `change-notes.html`, and `description.html` if necessary.
* Make sure to preview the change notes in the IDE by loading the plugin.
* Update [`README.md`](../README.md), [`CHANGELOG.md`](../CHANGELOG.md), and
[`description.html`](../src/main/resources/META-INF/description.html) if necessary.
* Make sure to preview the change notes in the IDE by loading the plugin.
* Make sure the list of acknowledgements is up-to-date.
* Update screenshots and GIFs in `.github/img/` and on the plugin repository if necessary.
* Distance between bottom of "Refresh" button and top of button bar at bottom is 50 pixels, or the original distance,
whichever is smaller.
* On Linux, the screen can be recorded using [peek](https://github.com/phw/peek).
* Ensure documentation generates without errors and push documentation to `gh-pages` branch.
* Distance between bottom of "Refresh" button and top of button bar at bottom is 50 pixels, or the original
distance, whichever is smaller.
* On Linux, the screen can be recorded using [peek](https://github.com/phw/peek) or
[SimpleScreenRecorder](https://www.maartenbaert.be/simplescreenrecorder/).
* Ensure documentation generates without errors, and push the documentation to the `gh-pages` branch.

## Verification
* Run tests and static analysis one more time.
* Try out the plugin yourself and check that old and new features work properly.
* Run the plugin verifier.
* Make sure the latest IDE version is in the plugin verifier's configuration.
* Make sure the latest IDE version is in the plugin verifier's configuration.
* Ensure settings from the previous version correctly load into the new version.
6 changes: 4 additions & 2 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Security policy
## Supported versions
Only the [latest version](https://github.com/FWDekker/intellij-randomness/releases/latest) is ever supported and supplied with security patches.
Only the [latest version](https://github.com/FWDekker/intellij-randomness/releases/latest) is ever supported and
supplied with security patches.

## Reporting a vulnerability
To report a security vulnerability, send an email to security@fwdekker.com instead of using the issue tracker. You will be contacted as soon as possible.
To report a security vulnerability, email `security@fwdekker.com` instead of using the issue tracker.
You will be contacted as soon as possible.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
java-version: '17'
cache: 'gradle'
- name: Run checks (Ubuntu)
if: matrix.os == 'ubuntu-latest'
Expand All @@ -41,4 +41,4 @@ jobs:
if: success() && matrix.os == 'ubuntu-latest'
with:
fail_ci_if_error: true
files: build/reports/kover/xml/report.xml
files: build/reports/kover/report.xml
16 changes: 12 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -14,29 +14,37 @@
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*



## Gradle
.gradle
/build/
/out/
**/build/
!src/**/build/

# Ignore Gradle GUI config
gradle-app.setting

# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar

# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties

# Cache of project
.gradletasknamecache

# Work around https://youtrack.jetbrains.com/issue/IDEA-116898
gradle/wrapper/gradle-wrapper.properties
# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,22 @@ Check the plugin description for more details and animated usage examples.
* Changelogs are now kept in [keep a changelog](https://keepachangelog.com/en/1.0.0/) style.

### Deprecated
* Minimum IDE version has been increased to 2022.1.
* Minimum IDE version has been increased to 2022.3.

### Fixed
* The settings-only popup is now also shown when editing a read-only file.


## 2.7.7 -- 2023-06-30
### Breaking changes
Minimum IDE version has been increased to 2022.2.

### Fixes
Resolve compatibility issues with upcoming IDE versions.
([#459](https://github.com/FWDekker/intellij-randomness/issues/459))
([#460](https://github.com/FWDekker/intellij-randomness/issues/460))


## 2.7.6 -- 2022-12-14
### Breaking changes
Minimum IDE version has been increased to 2022.1.
Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,14 @@ $ gradlew dokkaHtml # Generate documentation
```

### 🖼 Icons
The icons used by the plugin are found in the [.sketch](.github/img/icons.sketch) file.
The icons used by the plugin are found in [the file `icons.sketch`](.github/img/icons.sketch).
You can open this file with [Sketch](https://www.sketch.com/) (macOS), [Lunacy](https://icons8.com/lunacy) (Windows), or
[Figma](https://github.com/Figma-Linux/figma-linux) (Linux).


## 🙏 Acknowledgements
I want to thank everyone who contributed something to Randomness, no matter the size of that contribution.

In chronological order of contribution:
* Thanks to [Casper Boone](https://github.com/casperboone) for
[reporting a bug](https://github.com/FWDekker/intellij-randomness/issues/25) and for
Expand All @@ -124,7 +126,7 @@ In chronological order of contribution:
[suggesting the array data type](https://github.com/FWDekker/intellij-randomness/issues/54)!
* Thanks to [Georgios Andreadis](https://github.com/gandreadis) for the
[original logo](https://github.com/FWDekker/intellij-randomness/pull/86)!
* Thanks to [Oleksii K.](https://github.com/ok3141) for
* Thanks to [Oleksii](https://github.com/ok3141) for
[suggesting the UUID data type](https://github.com/FWDekker/intellij-randomness/issues/88) and for
[suggesting the hex symbol set](https://github.com/FWDekker/intellij-randomness/issues/89)!
* Thanks to [Meilina Reksoprodjo](https://github.com/meilinar) for help with macOS user testing!
Expand All @@ -142,7 +144,7 @@ In chronological order of contribution:
[suggesting a configurable popup](https://github.com/FWDekker/intellij-randomness/issues/305#issuecomment-661530711)!
* Thanks to [Alex Pernot](https://github.com/AlexPernot) for
[participating in the data type discussion](https://github.com/FWDekker/intellij-randomness/issues/305#issuecomment-662499058)!
* Thanks to [solonovamax](https://github.com/solonovamax) for
* Thanks to [solo](https://github.com/solonovamax) for
[his contributions](https://github.com/FWDekker/intellij-randomness/issues/305#issuecomment-804415489)
[to the data type discussion](https://github.com/FWDekker/intellij-randomness/issues/363#issuecomment-804976008)
[in several places](https://github.com/FWDekker/intellij-randomness/issues/365#issuecomment-805052007),
Expand All @@ -152,7 +154,7 @@ In chronological order of contribution:
[reporting that symbol sets didn't get saved](https://github.com/FWDekker/intellij-randomness/issues/382)!
* Thanks to [Aleksey Bobyr](https://github.com/Alexsey) for
[reporting a critical UI bug in WebStorm EAP](https://github.com/FWDekker/intellij-randomness/issues/418)!
* Thanks to [LukasAppleFan](https://github.com/LukasAppleFan) for
* Thanks to [Lukas](https://github.com/LukasAppleFan) for
[helping me find a bug in IntelliJ](https://github.com/FWDekker/intellij-randomness/issues/421)!
* Thanks to [Pascal](https://github.com/theMunichDev) for
[reporting a bug with custom shortcuts](https://github.com/FWDekker/intellij-randomness/issues/423)!
Expand All @@ -166,5 +168,9 @@ In chronological order of contribution:
[reporting an issue with slow actions during indexing](https://github.com/FWDekker/intellij-randomness/issues/445)!
* Thanks to [Luc Everse](https://github.com/cmpsb) for
[suggesting generating non-matching strings](https://github.com/FWDekker/intellij-randomness/issues/447)!
* Thanks to [ForNeVeR](https://github.com/ForNeVeR) for
[reporting a compatibility issue with the IntelliJ EAP](https://github.com/FWDekker/intellij-randomness/issues/459)!
* Thanks to [Vitaly Provodin](https://github.com/vprovodin) for
[also reporting that compatibility issue](https://github.com/FWDekker/intellij-randomness/issues/460)!

If I should add, remove, or change anything here, just open an issue or email me!
Loading