Sebastian Lövdahl
3a467dead6
Avoid instantiating Plugin class if a plugin is already unloaded
Given the following preconditions:
- `PluginClassLoader` is configured to use `ClassLoadingStrategy` `PDA`, `DPA` or `DAP`.
- There is a `PluginStateListener` that calls `event.getPlugin().getPlugin()`.
- A plugin (`plugin-a`) with a missing dependency is loaded (`plugin-a`).
- The `Plugin` class in `plugin-a` extends, implements or references a class in either
`plugin-b` or in the main application.
In that scenario, when `plugin-a` is unloaded by pf4j, and the `PluginStateListener`
is run, the `event.getPlugin().getPlugin()` call will fail with a `NullPointerException`.
This is caused by the class loading done when instantiating the `Plugin` class in
`plugin-a`. Because not all classes needed are found in `plugin-a` itself, pf4j will
continue by looking up classes in `plugin-a`'s dependencies. Because `plugin-b` is
missing and has no associated `ClassLoader`.
3 months ago
Decebal Suiu
36c036f79e
Add version 3.11.0 to changelog
3 months ago
Decebal Suiu
35bc67a69a
[maven-release-plugin] prepare for next development iteration
3 months ago
Decebal Suiu
2201ab5e23
[maven-release-plugin] prepare release release-3.11.0
3 months ago
Decebal Suiu
9362beb3ff
Update changelog
3 months ago
Sebastian Lövdahl
b92ec9ed53
Post `PluginState.UNLOADED` event when plugins are unloaded (#567)
3 months ago
Sebastian Lövdahl
5a73e6a1b3
Fix maven warning about plugin version (#568)
3 months ago
Decebal Suiu
336a5ba35a
Add strategy for handling the recovery of a plugin that could not be resolved (#564)
3 months ago
Sebastian Lövdahl
f08629928a
Make `PluginStateEvent` fields `final` (#566)
4 months ago
Decebal Suiu
6e4e6b3781
Ignore fire plugin state event without state change
4 months ago
Decebal Suiu
cc959309bd
Add SonarCloud coverage badge
4 months ago
Decebal Suiu
6b20660c36
Add support for coverage in sonar (#565)
4 months ago
Decebal Suiu
bdd404bf6a
Fix test
4 months ago
Decebal Suiu
62b6162ec2
Fix #563
4 months ago
Decebal Suiu
58f3638230
Add missing license file header
4 months ago
Decebal Suiu
30f415fe2d
Fix #520
4 months ago
Decebal Suiu
d351e52ab4
Add more javadoc, fix warnings
4 months ago
Decebal Suiu
a33c7b084a
Add InvalidPluginDescriptorException
Add more javadoc in AbstractPluginManager
4 months ago
Decebal Suiu
9bc18d3592
Add more javadoc
4 months ago
John Niang
aec3785105
Fix the problem of unable doing sonar scanning in JDK 11 (#561)
4 months ago
John Niang
a73185226d
Upgrade Java SemVer to 0.10.2 (#560)
4 months ago
Marcus Ilgner
426a0d71ff
Write empty extensions descriptor even if no extensions are found
8 months ago
finn0s
4715257de1
Unload broken plugins fix (#545)
9 months ago
Decebal Suiu
e4d7c7b9ea
Add version 3.10.0 to changelog
9 months ago
Decebal Suiu
925a30a90c
[maven-release-plugin] prepare for next development iteration
9 months ago
Decebal Suiu
c7774e336a
[maven-release-plugin] prepare release release-3.10.0
9 months ago
Decebal Suiu
4daa650d18
Update changelog
9 months ago
Decebal Suiu
7fddf8f891
Update changelog
9 months ago
Decebal Suiu
8e0aa198c4
Add security checks to prevent directory traversal when decompressing (#538)
10 months ago
Decebal Suiu
c1c9c982dc
Remove obsolete comment
11 months ago
Decebal Suiu
860b79710d
Add link to pf4j-shell
11 months ago
miracleshiy
3c2e7e297e
Fix:when ignoredComments=false, FileUtils.readLines() will return empty list. (#527)
1 year ago
dre4merp
bdadc6667a
Fix #524 (#525)
1 year ago
Decebal Suiu
2eb8d7809b
Switch to slf4j-2.x and replace log4j with slf4j-simple (#514)
1 year ago
Marcus Ilgner
6170d1973c
Update Gradle demo to pass plugin dependencies into Manifest (#517)
1 year ago
Decebal Suiu
a18206af7c
Fix readme according to feedback
1 year ago
devlap2
2fe4849675
Fix English mistakes to improve the README.md (#499)
1 year ago
Decebal Suiu
cce6e1334c
Improve class generation for testing (#515)
1 year ago
Decebal Suiu
21a28546dd
Update compile-testing dependency to 0.21.0
1 year ago
Decebal Suiu
36f77cc63d
Fix some warnings (javadoc, pom, sonar)
1 year ago
Decebal Suiu
dd42fafa1c
Some clean after travis remove
1 year ago
Decebal Suiu
2d3cf24fed
Sync readme with the latest version
1 year ago
Decebal Suiu
f1cf98a4de
Clean changelog (remove empty sections)
1 year ago
Decebal Suiu
266aecc531
Add version 3.9.0 to changelog
1 year ago
Decebal Suiu
ad2dd6e85a
[maven-release-plugin] prepare for next development iteration
1 year ago
Decebal Suiu
361fb8b9b3
[maven-release-plugin] prepare release release-3.9.0
1 year ago
Decebal Suiu
e598ffb885
Fix typo
1 year ago
Decebal Suiu
8584121c5a
Update changelog
1 year ago
Decebal Suiu
1f04209be1
Relax Plugin construction (remove dependency on PluginWrapper) (#512)
1 year ago
Decebal Suiu
de63736b13
Remove travis (#509)
1 year ago