File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
spring-boot-testjars-maven/src
main/java/org/springframework/experimental/boot/server/exec
test/java/org/springframework/experimental/boot/server/exec Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 4747import org .eclipse .aether .transport .file .FileTransporterFactory ;
4848import org .eclipse .aether .transport .http .HttpTransporterFactory ;
4949import org .eclipse .aether .util .artifact .JavaScopes ;
50+ import org .eclipse .aether .util .filter .AndDependencyFilter ;
5051import org .eclipse .aether .util .filter .DependencyFilterUtils ;
5152import org .eclipse .aether .util .repository .SimpleArtifactDescriptorPolicy ;
5253
@@ -128,13 +129,15 @@ public List<String> resolve() {
128129
129130 Artifact artifact = new DefaultArtifact (this .coords );
130131
131- DependencyFilter classpathFlter = DependencyFilterUtils .classpathFilter (JavaScopes .RUNTIME , JavaScopes .COMPILE );
132+ DependencyFilter scopeFilter = DependencyFilterUtils .classpathFilter (JavaScopes .RUNTIME , JavaScopes .COMPILE );
133+ DependencyFilter optionalFilter = (node , parents ) -> !node .getDependency ().isOptional ();
134+ DependencyFilter dependencyFilter = new AndDependencyFilter (scopeFilter , optionalFilter );
132135
133136 CollectRequest collectRequest = new CollectRequest ();
134137 collectRequest .setRoot (new Dependency (artifact , JavaScopes .RUNTIME ));
135138 collectRequest .setRepositories (this .repositories );
136139
137- DependencyRequest dependencyRequest = new DependencyRequest (collectRequest , classpathFlter );
140+ DependencyRequest dependencyRequest = new DependencyRequest (collectRequest , dependencyFilter );
138141
139142 List <String > result = new ArrayList <>();
140143 try {
Original file line number Diff line number Diff line change @@ -57,6 +57,15 @@ void runtimeDependencyResolved() {
5757 assertThat (entries ).anyMatch (entry -> entry .contains (runtimeDependency ));
5858 }
5959
60+ @ Test
61+ void optionalDependencyNotResolved () {
62+ MavenClasspathEntry classpath = new MavenClasspathEntry (
63+ "org.springframework.data:spring-data-commons:3.2.9" );
64+ List <String > entries = classpath .resolve ();
65+ String optionalDependency = "spring-expression" ;
66+ assertThat (entries ).noneMatch (entry -> entry .contains (optionalDependency ));
67+ }
68+
6069 @ Test
6170 void jdk () {
6271 String cloudVersion = "4.2.0" ;
You can’t perform that action at this time.
0 commit comments