Skip to content

Commit da635ca

Browse files
committed
Handling of locally-installed (ZIO) dependencies
1 parent d0e9a11 commit da635ca

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/main/scala/zio/intellij/utils/package.scala

+8-9
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,11 @@ import org.jetbrains.plugins.scala.lang.psi.types.result.Typeable
2727
import org.jetbrains.plugins.scala.lang.refactoring.ScTypePresentationExt
2828
import org.jetbrains.plugins.scala.lang.refactoring.util.ScalaNamesUtil
2929
import org.jetbrains.plugins.scala.project.settings.ScalaCompilerConfiguration
30-
import org.jetbrains.plugins.scala.project.{
31-
LibraryExt,
32-
ModuleExt,
33-
ProjectContext,
34-
ProjectExt,
35-
ProjectPsiElementExt,
36-
ScalaLanguageLevel
37-
}
30+
import org.jetbrains.plugins.scala.project.{LibraryExt, ModuleExt, ProjectContext, ProjectExt, ProjectPsiElementExt, ScalaLanguageLevel}
3831
import org.jetbrains.sbt.SbtUtil
3932
import org.jetbrains.sbt.SbtUtil.getDefaultLauncher
4033
import org.jetbrains.sbt.project.SbtExternalSystemManager
34+
import zio.intellij.utils.Method.localRegex
4135

4236
import java.io.File
4337
import scala.annotation.tailrec
@@ -241,6 +235,8 @@ package object utils {
241235

242236
object Method {
243237

238+
val localRegex = "(\\d+\\.\\d+\\.\\d+)\\S*(?=\\.jar$)".r
239+
244240
def unapply(ts: TermSignature): Option[ScFunction] =
245241
ts match {
246242
case PhysicalMethodSignature(method: ScFunctionDeclaration, _) => Some(method)
@@ -258,10 +254,13 @@ package object utils {
258254
url <- library.getUrls(OrderRootType.CLASSES)
259255
if p(url)
260256
trimmedUrl = utils.trimAfterSuffix(url, ".jar")
261-
versionStr <- LibraryExt.runtimeVersion(trimmedUrl)
257+
versionStr <- LibraryExt.runtimeVersion(trimmedUrl) orElse localLibraryVersion(trimmedUrl)
262258
version <- Version.parse(versionStr)
263259
} yield version).headOption
264260

261+
private def localLibraryVersion(str: String) =
262+
localRegex.findFirstMatchIn(str).map(_.group(1))
263+
265264
@CachedInUserData(module, ScalaCompilerConfiguration.modTracker(module.getProject))
266265
def zioVersion: Option[Version] =
267266
findLibrary(lib => lib.contains("/dev/zio/zio_") || lib.contains("/dev.zio/zio_"))

0 commit comments

Comments
 (0)