trait DependencyMatchers extends DependencyBaseMatchers with DependencyBeHaveMatchers
The dependency matchers trait provides a way to specify the dependencies that should be verified in your project and then to check that there's no unwanted dependency in the code.
It does so by:
- specifying the dependencies as "layers" where a package name declared in one layer can only be dependent on a package name declared in a lower layer
- using the scala compiler BuildManager class to recompile the files and get dependency analysis data
Usage:
layers( "package1", layer("package2", "package3", "package4"), layer("package6", "package7") ) must beRespected
- Alphabetic
- By Inheritance
- DependencyMatchers
- DependencyBeHaveMatchers
- BeHaveMatchers
- DependencyBaseMatchers
- LayersAnalysis
- ClassycleDependencyFinder
- DependencyFinder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
case class
Layer(names: Set[String], prefix: String = "", sourceDir: DirectoryPath = "src" / "main" / "scala", targetDir: DirectoryPath = ..., included: Seq[String] = Seq(), excluded: Seq[String] = Seq()) extends Product with Serializable
The Layer class represent a list of packages.
The Layer class represent a list of packages.
If those packages share a common prefix, it will be stored in the
prefix
member- Definition Classes
- LayersAnalysis
-
case class
Layers(layers: Seq[Layer]) extends Product with Serializable
This class represents an ordered set of layers, where each package on a given layer can only depend on packages defined in lower layers
This class represents an ordered set of layers, where each package on a given layer can only depend on packages defined in lower layers
- Definition Classes
- LayersAnalysis
-
class
LayersDependenciesMatcher extends Matcher[Layers]
this matcher checks that dependencies are satisfied for a given Layers definition
this matcher checks that dependencies are satisfied for a given Layers definition
- Definition Classes
- DependencyBaseMatchers
-
class
LayersResultMatcher extends AnyRef
- Definition Classes
- DependencyBeHaveMatchers
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
be: NeutralMatcher[Any]
- Definition Classes
- BeHaveMatchers
-
def
beRespected: LayersDependenciesMatcher
matcher for Layers declarations
matcher for Layers declarations
- Definition Classes
- DependencyBaseMatchers
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
fs: FilePathReader.type
- Definition Classes
- ClassycleDependencyFinder
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getPackageDependents(sourceDir: DirectoryPath, targetDir: DirectoryPath): (String) ⇒ Operation[Seq[Dependency]]
- returns
the classes depending on the classes of package, given its name
- Definition Classes
- ClassycleDependencyFinder → DependencyFinder
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
have: NeutralMatcher[Any]
- Definition Classes
- BeHaveMatchers
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
layer(names: String*): Layer
- returns
a new Layer object. If a prefix is defined, it will apply to each given name
- Definition Classes
- LayersAnalysis
-
def
layers(ls: Layer*): Layers
- returns
a new Layers object, composed of other layers. If a prefix is defined it will apply to each layer
- Definition Classes
- LayersAnalysis
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
not: NotMatcher[Any]
- Definition Classes
- BeHaveMatchers
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
respected: LayersDependenciesMatcher
- Definition Classes
- DependencyBeHaveMatchers
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
implicit
def
toLayer(s: String): Layer
this implicit definition allows to use a single string instead of a Layer object
this implicit definition allows to use a single string instead of a Layer object
- Definition Classes
- LayersAnalysis
-
implicit
def
toLayersResultMatcher(result: MatchResult[Layers]): LayersResultMatcher
- Definition Classes
- DependencyBeHaveMatchers
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated