├── .git-blame-ignore-revs ├── .github ├── dependabot.yml └── workflows │ └── actions.yml ├── .gitignore ├── .mill-jvm-version ├── .mill-version ├── .scalafmt.conf ├── LICENSE ├── acyclic ├── resources │ ├── plugin.properties │ └── scalac-plugin.xml ├── src-2.11 │ └── acyclic │ │ └── plugin │ │ └── Compat.scala ├── src-2.12 │ └── acyclic │ │ └── plugin │ │ └── Compat.scala ├── src-2.13 │ └── acyclic │ │ └── plugin │ │ └── Compat.scala ├── src-2 │ └── acyclic │ │ └── plugin │ │ ├── DependencyExtraction.scala │ │ ├── Plugin.scala │ │ └── PluginPhase.scala ├── src-3 │ └── acyclic │ │ └── plugin │ │ ├── Compat.scala │ │ ├── DependencyExtraction.scala │ │ ├── Plugin.scala │ │ └── PluginPhase.scala ├── src │ └── acyclic │ │ ├── package.scala │ │ └── plugin │ │ ├── BasePluginPhase.scala │ │ └── GraphAnalysis.scala └── test │ ├── resources │ ├── fail │ │ ├── cyclicgraph │ │ │ ├── A.scala │ │ │ ├── B.scala │ │ │ ├── C.scala │ │ │ ├── D.scala │ │ │ └── E.scala │ │ ├── cyclicpackage │ │ │ ├── a │ │ │ │ ├── A1.scala │ │ │ │ ├── A2.scala │ │ │ │ └── package.scala │ │ │ └── b │ │ │ │ ├── B1.scala │ │ │ │ ├── B2.scala │ │ │ │ └── package.scala │ │ ├── halfpackagecycle │ │ │ ├── A.scala │ │ │ ├── B.scala │ │ │ └── c │ │ │ │ ├── C1.scala │ │ │ │ ├── C2.scala │ │ │ │ └── package.scala │ │ ├── indirect │ │ │ ├── A.scala │ │ │ ├── B.scala │ │ │ └── C.scala │ │ └── simple │ │ │ ├── A.scala │ │ │ └── B.scala │ ├── force │ │ ├── simple │ │ │ ├── A.scala │ │ │ └── B.scala │ │ └── skip │ │ │ ├── A.scala │ │ │ └── B.scala │ └── success │ │ ├── cyclicunmarked │ │ ├── A.scala │ │ └── B.scala │ │ ├── dag │ │ ├── A.scala │ │ ├── B.scala │ │ ├── C.scala │ │ ├── D.scala │ │ └── E.scala │ │ ├── java │ │ └── SomeJava.java │ │ ├── pkg │ │ ├── halfacyclic │ │ │ ├── a │ │ │ │ ├── A1.scala │ │ │ │ ├── A2.scala │ │ │ │ └── package.scala │ │ │ └── b │ │ │ │ ├── B1.scala │ │ │ │ └── B2.scala │ │ ├── innercycle │ │ │ └── a │ │ │ │ ├── A1.scala │ │ │ │ ├── A2.scala │ │ │ │ └── package.scala │ │ ├── mutualcyclic │ │ │ ├── a │ │ │ │ ├── A1.scala │ │ │ │ └── A2.scala │ │ │ └── b │ │ │ │ ├── B1.scala │ │ │ │ └── B2.scala │ │ └── single │ │ │ └── pkg │ │ │ └── package.scala │ │ └── simple │ │ ├── A.scala │ │ └── B.scala │ ├── src-2 │ └── acyclic │ │ ├── CycleTests.scala │ │ └── TestUtils.scala │ ├── src-3 │ └── acyclic │ │ ├── CycleTests.scala │ │ └── TestUtils.scala │ └── src │ └── acyclic │ ├── BaseCycleTests.scala │ └── BaseTestUtils.scala ├── mill ├── mill.bat └── readme.adoc /.git-blame-ignore-revs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/.git-blame-ignore-revs -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/actions.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/.github/workflows/actions.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/.gitignore -------------------------------------------------------------------------------- /.mill-jvm-version: -------------------------------------------------------------------------------- 1 | temurin:11.0.25 2 | -------------------------------------------------------------------------------- /.mill-version: -------------------------------------------------------------------------------- 1 | 1.0.5-native 2 | -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/LICENSE -------------------------------------------------------------------------------- /acyclic/resources/plugin.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/resources/plugin.properties -------------------------------------------------------------------------------- /acyclic/resources/scalac-plugin.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/resources/scalac-plugin.xml -------------------------------------------------------------------------------- /acyclic/src-2.11/acyclic/plugin/Compat.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2.11/acyclic/plugin/Compat.scala -------------------------------------------------------------------------------- /acyclic/src-2.12/acyclic/plugin/Compat.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2.12/acyclic/plugin/Compat.scala -------------------------------------------------------------------------------- /acyclic/src-2.13/acyclic/plugin/Compat.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2.13/acyclic/plugin/Compat.scala -------------------------------------------------------------------------------- /acyclic/src-2/acyclic/plugin/DependencyExtraction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2/acyclic/plugin/DependencyExtraction.scala -------------------------------------------------------------------------------- /acyclic/src-2/acyclic/plugin/Plugin.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2/acyclic/plugin/Plugin.scala -------------------------------------------------------------------------------- /acyclic/src-2/acyclic/plugin/PluginPhase.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-2/acyclic/plugin/PluginPhase.scala -------------------------------------------------------------------------------- /acyclic/src-3/acyclic/plugin/Compat.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-3/acyclic/plugin/Compat.scala -------------------------------------------------------------------------------- /acyclic/src-3/acyclic/plugin/DependencyExtraction.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-3/acyclic/plugin/DependencyExtraction.scala -------------------------------------------------------------------------------- /acyclic/src-3/acyclic/plugin/Plugin.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-3/acyclic/plugin/Plugin.scala -------------------------------------------------------------------------------- /acyclic/src-3/acyclic/plugin/PluginPhase.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src-3/acyclic/plugin/PluginPhase.scala -------------------------------------------------------------------------------- /acyclic/src/acyclic/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src/acyclic/package.scala -------------------------------------------------------------------------------- /acyclic/src/acyclic/plugin/BasePluginPhase.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src/acyclic/plugin/BasePluginPhase.scala -------------------------------------------------------------------------------- /acyclic/src/acyclic/plugin/GraphAnalysis.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/src/acyclic/plugin/GraphAnalysis.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicgraph/A.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicgraph/A.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicgraph/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicgraph/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicgraph/C.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicgraph/C.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicgraph/D.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicgraph/D.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicgraph/E.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicgraph/E.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/a/A1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/a/A1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/a/A2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/a/A2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/a/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/a/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/b/B1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/b/B1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/b/B2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/b/B2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/cyclicpackage/b/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/cyclicpackage/b/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/halfpackagecycle/A.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/halfpackagecycle/A.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/halfpackagecycle/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/halfpackagecycle/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/halfpackagecycle/c/C1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/halfpackagecycle/c/C1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/halfpackagecycle/c/C2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/halfpackagecycle/c/C2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/halfpackagecycle/c/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/halfpackagecycle/c/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/indirect/A.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/indirect/A.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/indirect/B.scala: -------------------------------------------------------------------------------- 1 | package fail.indirect 2 | 3 | class B extends C 4 | -------------------------------------------------------------------------------- /acyclic/test/resources/fail/indirect/C.scala: -------------------------------------------------------------------------------- 1 | package fail.indirect 2 | 3 | class C { 4 | val a = A 5 | } 6 | -------------------------------------------------------------------------------- /acyclic/test/resources/fail/simple/A.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/simple/A.scala -------------------------------------------------------------------------------- /acyclic/test/resources/fail/simple/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/fail/simple/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/force/simple/A.scala: -------------------------------------------------------------------------------- 1 | package force.simple 2 | 3 | class A { 4 | val b: B = null 5 | } 6 | -------------------------------------------------------------------------------- /acyclic/test/resources/force/simple/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/force/simple/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/force/skip/A.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/force/skip/A.scala -------------------------------------------------------------------------------- /acyclic/test/resources/force/skip/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/force/skip/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/cyclicunmarked/A.scala: -------------------------------------------------------------------------------- 1 | package success.cyclicunmarked 2 | 3 | class A { 4 | val b: B = null 5 | } 6 | -------------------------------------------------------------------------------- /acyclic/test/resources/success/cyclicunmarked/B.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/cyclicunmarked/B.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/dag/A.scala: -------------------------------------------------------------------------------- 1 | package success.dag 2 | 3 | class A {} 4 | -------------------------------------------------------------------------------- /acyclic/test/resources/success/dag/B.scala: -------------------------------------------------------------------------------- 1 | package success.dag 2 | 3 | class B { 4 | val a: A = null 5 | } 6 | -------------------------------------------------------------------------------- /acyclic/test/resources/success/dag/C.scala: -------------------------------------------------------------------------------- 1 | package success.dag 2 | 3 | object C extends A 4 | -------------------------------------------------------------------------------- /acyclic/test/resources/success/dag/D.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/dag/D.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/dag/E.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/dag/E.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/java/SomeJava.java: -------------------------------------------------------------------------------- 1 | 2 | public interface SomeJava { 3 | 4 | } -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/halfacyclic/a/A1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/halfacyclic/a/A1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/halfacyclic/a/A2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/halfacyclic/a/A2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/halfacyclic/a/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/halfacyclic/a/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/halfacyclic/b/B1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/halfacyclic/b/B1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/halfacyclic/b/B2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/halfacyclic/b/B2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/innercycle/a/A1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/innercycle/a/A1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/innercycle/a/A2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/innercycle/a/A2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/innercycle/a/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/innercycle/a/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/mutualcyclic/a/A1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/mutualcyclic/a/A1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/mutualcyclic/a/A2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/mutualcyclic/a/A2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/mutualcyclic/b/B1.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/mutualcyclic/b/B1.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/mutualcyclic/b/B2.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/mutualcyclic/b/B2.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/pkg/single/pkg/package.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/resources/success/pkg/single/pkg/package.scala -------------------------------------------------------------------------------- /acyclic/test/resources/success/simple/A.scala: -------------------------------------------------------------------------------- 1 | package success.simple 2 | 3 | class A {} 4 | -------------------------------------------------------------------------------- /acyclic/test/resources/success/simple/B.scala: -------------------------------------------------------------------------------- 1 | package success.simple 2 | 3 | class B { 4 | val a: A = null 5 | } 6 | -------------------------------------------------------------------------------- /acyclic/test/src-2/acyclic/CycleTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src-2/acyclic/CycleTests.scala -------------------------------------------------------------------------------- /acyclic/test/src-2/acyclic/TestUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src-2/acyclic/TestUtils.scala -------------------------------------------------------------------------------- /acyclic/test/src-3/acyclic/CycleTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src-3/acyclic/CycleTests.scala -------------------------------------------------------------------------------- /acyclic/test/src-3/acyclic/TestUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src-3/acyclic/TestUtils.scala -------------------------------------------------------------------------------- /acyclic/test/src/acyclic/BaseCycleTests.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src/acyclic/BaseCycleTests.scala -------------------------------------------------------------------------------- /acyclic/test/src/acyclic/BaseTestUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/acyclic/test/src/acyclic/BaseTestUtils.scala -------------------------------------------------------------------------------- /mill: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/mill -------------------------------------------------------------------------------- /mill.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/mill.bat -------------------------------------------------------------------------------- /readme.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/com-lihaoyi/acyclic/HEAD/readme.adoc --------------------------------------------------------------------------------