fix condition in Resolvers.mavenCompatibleBaseOpt (use artifactPatterns instead of ivyPatterns) (#484)

Before the change Resolvers.mavenCompatibleBaseOpt always returned Some value because `baseIvyPattern == baseArtifactPattern` always was `true``
This commit is contained in:
Dmitrii Naumenko 2023-11-27 14:57:45 +01:00 committed by GitHub
parent b8aedbe98d
commit cee6474d24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 2 deletions

View File

@ -17,8 +17,12 @@ object Resolvers {
private def mavenCompatibleBaseOpt(patterns: Patterns): Option[String] =
if (patterns.isMavenCompatible) {
val baseIvyPattern = patterns.ivyPatterns.head.takeWhile(c => c != '[' && c != '(')
val baseArtifactPattern = patterns.ivyPatterns.head.takeWhile(c => c != '[' && c != '(')
//input : /Users/user/custom/repo/[organisation]/[module](_[scalaVersion])(_[sbtVersion])/[revision]/[artifact]-[revision](-[classifier]).[ext]
//output : /Users/user/custom/repo/
def basePattern(pattern: String): String = pattern.takeWhile(c => c != '[' && c != '(')
val baseIvyPattern = basePattern(patterns.ivyPatterns.head)
val baseArtifactPattern = basePattern(patterns.artifactPatterns.head)
if (baseIvyPattern == baseArtifactPattern)
Some(baseIvyPattern)