Skip to content

Commit c4b5ab7

Browse files
authored
fix(java): don't ignore runtime scope for pom.xml files (aquasecurity#6223)
1 parent 355c1b5 commit c4b5ab7

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

pkg/dependency/parser/java/pom/parse.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ func (p *parser) parseDependencies(deps []pomDependency, props map[string]string
381381
// Resolve dependencies
382382
d = d.Resolve(props, depManagement, rootDepManagement)
383383

384-
if (d.Scope != "" && d.Scope != "compile") || d.Optional {
384+
if (d.Scope != "" && d.Scope != "compile" && d.Scope != "runtime") || d.Optional {
385385
continue
386386
}
387387

pkg/dependency/parser/java/pom/parse_test.go

+24
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,24 @@ func TestPom_Parse(t *testing.T) {
4747
},
4848
},
4949
},
50+
{
51+
ID: "org.example:example-runtime:1.0.0",
52+
Name: "org.example:example-runtime",
53+
Version: "1.0.0",
54+
Locations: types.Locations{
55+
{
56+
StartLine: 37,
57+
EndLine: 42,
58+
},
59+
},
60+
},
5061
},
5162
wantDeps: []types.Dependency{
5263
{
5364
ID: "com.example:happy:1.0.0",
5465
DependsOn: []string{
5566
"org.example:example-api:1.7.30",
67+
"org.example:example-runtime:1.0.0",
5668
},
5769
},
5870
},
@@ -80,12 +92,24 @@ func TestPom_Parse(t *testing.T) {
8092
},
8193
},
8294
},
95+
{
96+
ID: "org.example:example-runtime:1.0.0",
97+
Name: "org.example:example-runtime",
98+
Version: "1.0.0",
99+
Locations: types.Locations{
100+
{
101+
StartLine: 37,
102+
EndLine: 42,
103+
},
104+
},
105+
},
83106
},
84107
wantDeps: []types.Dependency{
85108
{
86109
ID: "com.example:happy:1.0.0",
87110
DependsOn: []string{
88111
"org.example:example-api:1.7.30",
112+
"org.example:example-runtime:1.0.0",
89113
},
90114
},
91115
},

pkg/dependency/parser/java/pom/testdata/happy/pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@
3434
<artifactId>example-api</artifactId>
3535
<version>${api.version}</version>
3636
</dependency>
37+
<dependency>
38+
<groupId>org.example</groupId>
39+
<artifactId>example-runtime</artifactId>
40+
<version>1.0.0</version>
41+
<scope>runtime</scope>
42+
</dependency>
3743
<dependency>
3844
<groupId>org.example</groupId>
3945
<artifactId>example-provided</artifactId>

0 commit comments

Comments
 (0)