Skip to content

Commit 705f0ff

Browse files
authored
[Pico] Fixed UnsatisfiableDependencyException with Component dependencies (#2764)
Co-authored-by: Julien Kronegg <julien [at] kronegg.ch>
1 parent 7694d25 commit 705f0ff

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414
- [Core] Fixed `cucumber.publish.enabled=false` ([#2747](https://github.com/cucumber/cucumber-jvm/pull/2747) M.P. Korstanje)
1515
- [JUnit Platform Engine] Fixed `cucumber.publish.enabled=false` ([#2747](https://github.com/cucumber/cucumber-jvm/pull/2747) M.P. Korstanje)
1616
- [Java] Fixed duplicate step definition for classes with interfaces ([#2757](https://github.com/cucumber/cucumber-jvm/issues/2757) Julien Kronegg)
17+
- [Pico] Fixed unsatisfiable dependency with disposables ([#2762](https://github.com/cucumber/cucumber-jvm/issues/2762) Julien Kronegg)
1718

1819
## [7.12.0] - 2023-04-29
1920
### Added

cucumber-picocontainer/src/main/java/io/cucumber/picocontainer/PicoFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ public void stop() {
4343
@Override
4444
public boolean addClass(Class<?> clazz) {
4545
if (isInstantiable(clazz) && classes.add(clazz)) {
46-
pico.addComponent(clazz);
4746
addConstructorDependencies(clazz);
47+
pico.addComponent(clazz);
4848
}
4949
return true;
5050
}

cucumber-picocontainer/src/test/java/io/cucumber/picocontainer/StepDefinitionsWithTransitiveDependencies.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package io.cucumber.picocontainer;
22

3+
import org.picocontainer.Disposable;
4+
35
public class StepDefinitionsWithTransitiveDependencies {
46

57
final FirstDependency firstDependency;
@@ -8,12 +10,16 @@ public StepDefinitionsWithTransitiveDependencies(FirstDependency firstDependency
810
this.firstDependency = firstDependency;
911
}
1012

11-
public static class FirstDependency {
13+
public static class FirstDependency implements Disposable {
1214
final SecondDependency secondDependency;
1315

1416
public FirstDependency(SecondDependency secondDependency) {
1517
this.secondDependency = secondDependency;
1618
}
19+
20+
@Override
21+
public void dispose() {
22+
}
1723
}
1824

1925
public static class SecondDependency {

0 commit comments

Comments
 (0)