From 1f4bda7877d1369c6a793f127acb353c70ddcc28 Mon Sep 17 00:00:00 2001 From: Sergio Zharinov <zharinov@users.noreply.github.com> Date: Fri, 11 Sep 2020 19:54:12 +0400 Subject: [PATCH] feat(gradle): Add more variable patterns for Kotlin files (#7250) --- lib/manager/gradle/build-gradle.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/lib/manager/gradle/build-gradle.ts b/lib/manager/gradle/build-gradle.ts index 8ab31dd107..81dd5e8408 100644 --- a/lib/manager/gradle/build-gradle.ts +++ b/lib/manager/gradle/build-gradle.ts @@ -145,6 +145,24 @@ function kotlinPluginVariableVersionFormatMatch( ); } +function kotlinImplementationVariableVersionFormatMatch( + dependency: GradleDependency +): RegExp { + // implementation("com.graphql-java", "graphql-java", graphqlVersion) + return regEx( + `(?:implementation|testImplementation)\\s*\\(\\s*['"]${dependency.group}['"]\\s*,\\s*['"]${dependency.name}['"]\\s*,\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\)\\s*(?:\\s|;|})` + ); +} + +function kotlinPluginVariableDotVersionFormatMatch( + dependency: GradleDependency +): RegExp { + // id("org.jetbrains.kotlin.jvm").version(kotlinVersion) + return regEx( + `id\\s*\\(\\s*"${dependency.group}"\\s*\\)\\s*\\.\\s*version\\s*\\(\\s*([a-zA-Z_][a-zA-Z_0-9]*)\\s*\\)\\s*(?:\\s|;|})` + ); +} + function dependencyStringVariableExpressionFormatMatch( dependency: GradleDependency ): RegExp { @@ -181,6 +199,8 @@ export function collectVersionVariables( dependencyStringVariableExpressionFormatMatch(dependency), ...moduleMapVariableVersionFormatMatch(dependency), ...moduleKotlinNamedArgumentVariableVersionFormatMatch(dependency), + kotlinImplementationVariableVersionFormatMatch(dependency), + kotlinPluginVariableDotVersionFormatMatch(dependency), ]; const depName = `${dependency.group}:${dependency.name}`; @@ -235,6 +255,7 @@ function updateLocalVariables( moduleStringVariableExpressionVersionFormatMatch(dependency), groovyPluginVariableVersionFormatMatch(dependency), kotlinPluginVariableVersionFormatMatch(dependency), + kotlinImplementationVariableVersionFormatMatch(dependency), ...moduleKotlinNamedArgumentVariableVersionFormatMatch(dependency), ]; for (const regex of regexes) { -- GitLab