diff --git a/lib/manager/sbt/__fixtures__/dependency-file.scala b/lib/manager/sbt/__fixtures__/dependency-file.scala index bdd6f9fcd03d809e1bc80ce70abeb641eb46fe56..605a9a9bffe72f7a6f61230a5c26f7ebf0538ddd 100644 --- a/lib/manager/sbt/__fixtures__/dependency-file.scala +++ b/lib/manager/sbt/__fixtures__/dependency-file.scala @@ -16,5 +16,5 @@ object Dependencies { "com.abc" % "abc-b" % abcVersion ) - val aloneDepInSeq = Seq("com.abc" % "abc-c" % abcVersion) + val aloneDepInSeq = List("com.abc" % "abc-c" % abcVersion) } diff --git a/lib/manager/sbt/extract.ts b/lib/manager/sbt/extract.ts index 25d11b30cd2fa0d174c7566deb8191d489938967..65dd05a6ec526c479c82b7ff79d3d90d635a6d80 100644 --- a/lib/manager/sbt/extract.ts +++ b/lib/manager/sbt/extract.ts @@ -75,11 +75,16 @@ const getScalaVersionVariable = (str: string): string => const isResolver = (str: string): boolean => regEx( - /^\s*(resolvers\s*\+\+?=\s*(Seq\()?)?"[^"]*"\s*at\s*"[^"]*"[\s,)]*$/ + /^\s*(resolvers\s*\+\+?=\s*((Seq|List|Stream)\()?)?"[^"]*"\s*at\s*"[^"]*"[\s,)]*$/ ).test(str); const getResolverUrl = (str: string): string => str - .replace(regEx(/^\s*(resolvers\s*\+\+?=\s*(Seq\()?)?"[^"]*"\s*at\s*"/), '') + .replace( + regEx( + /^\s*(resolvers\s*\+\+?=\s*((Seq|List|Stream)\()?)?"[^"]*"\s*at\s*"/ + ), + '' + ) .replace(regEx(/"[\s,)]*$/), ''); const isVarDependency = (str: string): boolean => @@ -94,12 +99,12 @@ const isVarDef = (str: string): boolean => const isVarSeqSingleLine = (str: string): boolean => regEx( - /^\s*(private\s*)?(lazy\s*)?val\s+[_a-zA-Z][_a-zA-Z0-9]*\s*=\s*Seq\(.*\).*\s*$/ + /^\s*(private\s*)?(lazy\s*)?val\s+[_a-zA-Z][_a-zA-Z0-9]*\s*=\s*(Seq|List|Stream)\(.*\).*\s*$/ ).test(str); const isVarSeqMultipleLine = (str: string): boolean => regEx( - /^\s*(private\s*)?(lazy\s*)?val\s+[_a-zA-Z][_a-zA-Z0-9]*\s*=\s*Seq\(.*[^)]*.*$/ + /^\s*(private\s*)?(lazy\s*)?val\s+[_a-zA-Z][_a-zA-Z0-9]*\s*=\s*(Seq|List|Stream)\(.*[^)]*.*$/ ).test(str); const getVarName = (str: string): string => @@ -250,14 +255,14 @@ function parseSbtLine( } else if (isVarSeqSingleLine(line)) { isMultiDeps = false; const depExpr = line - .replace(regEx(/^.*Seq\(\s*/), '') + .replace(regEx(/^.*(Seq|List|Stream)\(\s*/), '') .replace(regEx(/\).*$/), ''); dep = parseDepExpr(depExpr, { ...ctx, }); } else if (isVarSeqMultipleLine(line)) { isMultiDeps = true; - const depExpr = line.replace(regEx(/^.*Seq\(\s*/), ''); + const depExpr = line.replace(regEx(/^.*(Seq|List|Stream)\(\s*/), ''); dep = parseDepExpr(depExpr, { ...ctx, });