Skip to content

acyclic.skipped not working with chained packages #27

@jibbers42

Description

@jibbers42

A.scala:

package skip
package a

import acyclic.skipped

trait A {
  val b: B
}

B.scala:

package skip
package a

import acyclic.skipped

trait B {
  val a: A
}

build.sbt:

organization in ThisBuild := "skip"
version in ThisBuild := "1.0-SNAPSHOT"
scalaVersion in ThisBuild := "2.12.5"

val acyclicVersion = "0.1.7"
val acyclicDep = "com.lihaoyi" %% "acyclic" % acyclicVersion % Provided
lazy val acyclicCompilerPlugin = addCompilerPlugin("com.lihaoyi" %% "acyclic" % acyclicVersion)

autoCompilerPlugins in ThisBuild := true

lazy val `acyclic` = (project in file("."))
  .settings(settings)

lazy val settings = Seq(
  libraryDependencies ++= Seq(
    acyclicDep
  ),
  acyclicCompilerPlugin
)

scalacOptions in ThisBuild ++= Seq(
  "-P:acyclic:force",                  // Run cyclic dependencies check on all files
)

If you change

package skip
package a

to
package skip.a
in both files, then it compiles fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions