UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

56 lines (55 loc) 2.36 kB
import { newlineRegex, regEx } from "../../../util/regex.js"; import { logger } from "../../../logger/index.js"; import { coerceArray } from "../../../util/array.js"; import { MavenDatasource } from "../../datasource/maven/index.js"; //#region lib/modules/manager/maven-wrapper/extract.ts const DISTRIBUTION_URL_REGEX = regEx("^(?:distributionUrl\\s*=\\s*)(?<replaceString>\\S*-(?<version>\\d+\\.\\d+(?:\\.\\d+)?(?:-\\w+)*)-(?<type>bin|all)\\.zip)\\s*$"); const WRAPPER_URL_REGEX = regEx("^(?:wrapperUrl\\s*=\\s*)(?<replaceString>\\S*-(?<version>\\d+\\.\\d+(?:\\.\\d+)?(?:-\\w+)*)(?:.jar))"); const WRAPPER_VERSION_REGEX = regEx("^(?:wrapperVersion\\s*=\\s*)(?<replaceString>(?<version>\\d+\\.\\d+(?:\\.\\d+)?))"); const WRAPPER_VERSION_MVNW_REGEX = regEx("^(#|@REM) Apache Maven Wrapper startup batch script, version (?<replaceString>(?<version>\\d+\\.\\d+(?:\\.\\d+)?))"); function extractVersions(fileContent) { const lines = coerceArray(fileContent?.split(newlineRegex)); return { maven: extractLineInfo(lines, DISTRIBUTION_URL_REGEX) ?? void 0, wrapper: extractLineInfo(lines, WRAPPER_URL_REGEX, WRAPPER_VERSION_REGEX, WRAPPER_VERSION_MVNW_REGEX) ?? void 0 }; } function extractLineInfo(lines, ...regexs) { for (const regex of regexs) for (const line of lines) if (line.match(regex)) { const match = regex.exec(line); if (match?.groups) return { replaceString: match.groups.replaceString, version: match.groups.version }; } return null; } function extractPackageFile(fileContent) { logger.trace("maven-wrapper.extractPackageFile()"); const extractResult = extractVersions(fileContent); const deps = []; if (extractResult.maven?.version) { const maven = { depName: "maven", packageName: "org.apache.maven:apache-maven", currentValue: extractResult.maven?.version, replaceString: extractResult.maven?.replaceString, datasource: MavenDatasource.id }; deps.push(maven); } if (extractResult.wrapper?.version) { const wrapper = { depName: "maven-wrapper", packageName: "org.apache.maven.wrapper:maven-wrapper", currentValue: extractResult.wrapper?.version, replaceString: extractResult.wrapper?.replaceString, datasource: MavenDatasource.id }; deps.push(wrapper); } return deps.length ? { deps } : null; } //#endregion export { extractPackageFile }; //# sourceMappingURL=extract.js.map