From 12cc30779a74ce29935dc4c66499e0126d0a0cf2 Mon Sep 17 00:00:00 2001
From: Sergei Zharinov <zharinov@users.noreply.github.com>
Date: Mon, 18 Jan 2021 01:20:17 +0400
Subject: [PATCH] feat(maven): Parse maven dependency.scope into depType
 (#8325)

* feat(maven): Parse maven dependency.scope into depType

* Fix snapshot
---
 lib/manager/maven/__fixtures__/simple.pom.xml        | 1 +
 lib/manager/maven/__snapshots__/extract.spec.ts.snap | 9 +++++----
 lib/manager/maven/__snapshots__/index.spec.ts.snap   | 9 +++++----
 lib/manager/maven/extract.ts                         | 9 ++++++++-
 4 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/lib/manager/maven/__fixtures__/simple.pom.xml b/lib/manager/maven/__fixtures__/simple.pom.xml
index cbebf20279..138cc1e7b3 100644
--- a/lib/manager/maven/__fixtures__/simple.pom.xml
+++ b/lib/manager/maven/__fixtures__/simple.pom.xml
@@ -107,6 +107,7 @@
       <groupId>org.example</groupId>
       <artifactId>quuz</artifactId>
       <version>1.2.3</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.example</groupId>
diff --git a/lib/manager/maven/__snapshots__/extract.spec.ts.snap b/lib/manager/maven/__snapshots__/extract.spec.ts.snap
index 05e299a0d3..6bae8e26b7 100644
--- a/lib/manager/maven/__snapshots__/extract.spec.ts.snap
+++ b/lib/manager/maven/__snapshots__/extract.spec.ts.snap
@@ -98,6 +98,7 @@ Object {
       "currentValue": "1.2.3",
       "datasource": "maven",
       "depName": "org.example:quuz",
+      "depType": "test",
       "fileReplacePosition": 2832,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
@@ -108,7 +109,7 @@ Object {
       "currentValue": "it's not a version",
       "datasource": "maven",
       "depName": "org.example:quuuz",
-      "fileReplacePosition": 2972,
+      "fileReplacePosition": 2998,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -118,7 +119,7 @@ Object {
       "currentValue": "[1.0.0]",
       "datasource": "maven",
       "depName": "org.example:hard-range",
-      "fileReplacePosition": 3130,
+      "fileReplacePosition": 3156,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -128,7 +129,7 @@ Object {
       "currentValue": "\${profile-placeholder}",
       "datasource": "maven",
       "depName": "org.example:profile-artifact",
-      "fileReplacePosition": 3392,
+      "fileReplacePosition": 3418,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -138,7 +139,7 @@ Object {
       "currentValue": "2.17",
       "datasource": "maven",
       "depName": "org.apache.maven.plugins:maven-checkstyle-plugin",
-      "fileReplacePosition": 3668,
+      "fileReplacePosition": 3694,
       "registryUrls": Array [
         "https://repo.maven.apache.org/maven2",
         "https://maven.atlassian.com/content/repositories/atlassian-public/",
diff --git a/lib/manager/maven/__snapshots__/index.spec.ts.snap b/lib/manager/maven/__snapshots__/index.spec.ts.snap
index b34f116b8b..f1606d81ad 100644
--- a/lib/manager/maven/__snapshots__/index.spec.ts.snap
+++ b/lib/manager/maven/__snapshots__/index.spec.ts.snap
@@ -103,6 +103,7 @@ Array [
         "currentValue": "1.2.3",
         "datasource": "maven",
         "depName": "org.example:quuz",
+        "depType": "test",
         "fileReplacePosition": 2832,
         "registryUrls": Array [
           "https://repo.maven.apache.org/maven2",
@@ -113,7 +114,7 @@ Array [
         "currentValue": "it's not a version",
         "datasource": "maven",
         "depName": "org.example:quuuz",
-        "fileReplacePosition": 2972,
+        "fileReplacePosition": 2998,
         "registryUrls": Array [
           "https://repo.maven.apache.org/maven2",
           "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -123,7 +124,7 @@ Array [
         "currentValue": "[1.0.0]",
         "datasource": "maven",
         "depName": "org.example:hard-range",
-        "fileReplacePosition": 3130,
+        "fileReplacePosition": 3156,
         "registryUrls": Array [
           "https://repo.maven.apache.org/maven2",
           "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -133,7 +134,7 @@ Array [
         "currentValue": "\${profile-placeholder}",
         "datasource": "maven",
         "depName": "org.example:profile-artifact",
-        "fileReplacePosition": 3392,
+        "fileReplacePosition": 3418,
         "registryUrls": Array [
           "https://repo.maven.apache.org/maven2",
           "https://maven.atlassian.com/content/repositories/atlassian-public/",
@@ -144,7 +145,7 @@ Array [
         "currentValue": "2.17",
         "datasource": "maven",
         "depName": "org.apache.maven.plugins:maven-checkstyle-plugin",
-        "fileReplacePosition": 3668,
+        "fileReplacePosition": 3694,
         "registryUrls": Array [
           "https://repo.maven.apache.org/maven2",
           "https://maven.atlassian.com/content/repositories/atlassian-public/",
diff --git a/lib/manager/maven/extract.ts b/lib/manager/maven/extract.ts
index b1d2a11ce3..3e46e09438 100644
--- a/lib/manager/maven/extract.ts
+++ b/lib/manager/maven/extract.ts
@@ -59,13 +59,20 @@ function depFromNode(node: XmlElement): PackageDependency | null {
     const fileReplacePosition = versionNode.position;
     const datasource = datasourceMaven.id;
     const registryUrls = [MAVEN_REPO];
-    return {
+    const result: PackageDependency = {
       datasource,
       depName,
       currentValue,
       fileReplacePosition,
       registryUrls,
     };
+
+    const depType = node.valueWithPath('scope');
+    if (depType) {
+      result.depType = depType;
+    }
+
+    return result;
   }
   return null;
 }
-- 
GitLab