Skip to content

dependabot maven(deps-dev): bump archunit.version from 0.23.1 to 1.0.0

Depen d'Abot requested to merge dependabot-maven-archunit.version-1.0.0 into master

Bumps archunit.version from 0.23.1 to 1.0.0. Updates archunit from 0.23.1 to 1.0.0

Release notes

Sourced from archunit's releases.

ArchUnit 1.0.0

If you upgrade from the latest 0.x version, please also refer to the release notes of release candidate 1.0.0-rc1 as these release notes refer to upgrading from the release candidate

Breaking Changes

  • Naming around JavaPackage subpackages and dependencies has been improved to remove ambiguities. In general, whenever all classes from a package and subpackages recursively are involved, this is now called "package tree". Otherwise, it only targets the classes directly within this package (see #919/#968; thanks a lot to @​grimsa) The following mapping shows how to translate the old methods to the current methods:
    • getAllClasses() -> getClassesInPackageTree()
    • getAllSubpackages() -> getSubpackagesInTree()
    • getClassDependenciesFromSelf() -> getClassDependenciesFromThisPackageTree()
    • getClassDependenciesToSelf() -> getClassDependenciesToThisPackageTree()
    • getPackageDependenciesFromSelf() -> getPackageDependenciesFromThisPackageTree()
    • getPackageDependenciesToSelf() -> getPackageDependenciesToThisPackageTree()
    • accept(..) -> traversePackageTree(..)
  • Importing the default package via ClassFileImporter.importPackages("") will now yields the same result as using importClasspath() without any ImportOption (see #954)
  • ClassFileImporter.importClasspath() now behaves consistently to other import APIs. I.e. no default ImportOptions like DoNotIncludeArchives are added anymore, instead all ImportOptions need to be added the same way as for all other import methods (see #958)
  • The custom collection ImportOptions has been removed from the public API and been replaced by a standard Collection<ImportOption> where appropriate (see #958)
  • The package com.tngtech.archunit.library.plantuml has been moved to com.tngtech.archunit.library.plantuml.rules to make room for adding other PlantUML related features (see #959)
  • SLF4J-API has been upgraded from 1.7.36 to 2.0.3, so any log adapter dependency to be used with ArchUnit (e.g. to hook in Log4J) has to be compatible with SLF4J-API 2.x from now on (see #966)

Bug Fixes

  • Fix bug where multiple synthetic access calls to methods like access$123(..) would lead to only one access being imported. Note, that these synthetic methods are added for calls to private fields / methods from inner classes to outer classes, etc. (see #957)

Enhancements

Lang

  • archunit_ignore_patterns.txt is now also respected by FreezingArchRule. Thus, ignored violations are not added to the ViolationStore anymore (see #915)

Library

  • testClassesShouldResideInTheSamePackageAsImplementation(..) now supports multiple test classes with same simple name (see #918; thanks a lot to @​mslowiak)
  • PlantUmlArchCondition now does not throw exceptions anymore, if a class is in none or multiple components, but instead reports those as standard violations. This way these violations can also be frozen via FreezingArchRule instead of crashing the test (see #960)

Further Acknowledgement

  • Thanks a lot to @​hankem for upgrading various dependencies, cleaning up code and extensive reviews

ArchUnit 1.0.0-rc1

Breaking Changes

  • All deprecated members and classes have been removed (see #909)
  • @AnalyzeClasses() without any explicit locations to import will now import the package of the annotated class by default instead of the whole classpath. To restore the old behavior use @AnalyzeClasses(wholeClasspath = true) (see #828)
  • The archunit-junit5-engine-api now resides within the package com.tngtech.archunit.junit.engine_api instead of directly under junit. This only affects users that want to programmatically interface with the ArchUnitTestEngine and should be irrelevant for most users (see #827)
  • ArchUnit now needs at least Java 8 to run (see #833)
  • The ArchUnit types Function, Predicate and Optional have been replaced by the JDK 8 equivalents
  • DescribedPredicate now extends the JDK 8 Predicate, so apply(..) has to be replaced by test(..)
  • layeredArchitecture() now forces to decide how to deal with dependencies by adding .considering...Dependencies() in the beginning of the declaration. To restore the old behavior declare it as layeredArchitecture().consideringAllDependencies() (see #892)
  • ConditionEvents is now an interface and the interface has been cleaned out of all non-essential methods, e.g. getAllowed(). This was done to increase maintainability and make it easier to optimize the internals. If you are missing any functionality now, please file an issue to discuss it (see #876)

... (truncated)

Commits
  • f11750b prepare release 1.0.0
  • f5c1f05 support -rc suffixes in updateArchUnitExampleVersion
  • c3efe74 update expected versions in released POMs
  • 651f3f7 support rc-versions in publish.gradle
  • a7a71b1 Rename JavaPackage.getAllClasses() -> getClassesInPackageTree() (#968)
  • 7b31072 rename JavaPackage.getAllClasses() -> getClassesInPackageTree()
  • 6878f49 Some minor code improvements (#965)
  • 86255a7 replace JUnit 4 ExpectedException by AssertJ assertThatThrownBy
  • 4b0aa34 replace assertThat(x).containsOnlyElementsOf with .hasSameElementsAs
  • 506030b replace Guava Files.{write/append} by java.nio.Files.write(..)
  • Additional commits viewable in compare view

Updates archunit-junit5 from 0.23.1 to 1.0.0

Release notes

Sourced from archunit-junit5's releases.

ArchUnit 1.0.0

If you upgrade from the latest 0.x version, please also refer to the release notes of release candidate 1.0.0-rc1 as these release notes refer to upgrading from the release candidate

Breaking Changes

  • Naming around JavaPackage subpackages and dependencies has been improved to remove ambiguities. In general, whenever all classes from a package and subpackages recursively are involved, this is now called "package tree". Otherwise, it only targets the classes directly within this package (see #919/#968; thanks a lot to @​grimsa) The following mapping shows how to translate the old methods to the current methods:
    • getAllClasses() -> getClassesInPackageTree()
    • getAllSubpackages() -> getSubpackagesInTree()
    • getClassDependenciesFromSelf() -> getClassDependenciesFromThisPackageTree()
    • getClassDependenciesToSelf() -> getClassDependenciesToThisPackageTree()
    • getPackageDependenciesFromSelf() -> getPackageDependenciesFromThisPackageTree()
    • getPackageDependenciesToSelf() -> getPackageDependenciesToThisPackageTree()
    • accept(..) -> traversePackageTree(..)
  • Importing the default package via ClassFileImporter.importPackages("") will now yields the same result as using importClasspath() without any ImportOption (see #954)
  • ClassFileImporter.importClasspath() now behaves consistently to other import APIs. I.e. no default ImportOptions like DoNotIncludeArchives are added anymore, instead all ImportOptions need to be added the same way as for all other import methods (see #958)
  • The custom collection ImportOptions has been removed from the public API and been replaced by a standard Collection<ImportOption> where appropriate (see #958)
  • The package com.tngtech.archunit.library.plantuml has been moved to com.tngtech.archunit.library.plantuml.rules to make room for adding other PlantUML related features (see #959)
  • SLF4J-API has been upgraded from 1.7.36 to 2.0.3, so any log adapter dependency to be used with ArchUnit (e.g. to hook in Log4J) has to be compatible with SLF4J-API 2.x from now on (see #966)

Bug Fixes

  • Fix bug where multiple synthetic access calls to methods like access$123(..) would lead to only one access being imported. Note, that these synthetic methods are added for calls to private fields / methods from inner classes to outer classes, etc. (see #957)

Enhancements

Lang

  • archunit_ignore_patterns.txt is now also respected by FreezingArchRule. Thus, ignored violations are not added to the ViolationStore anymore (see #915)

Library

  • testClassesShouldResideInTheSamePackageAsImplementation(..) now supports multiple test classes with same simple name (see #918; thanks a lot to @​mslowiak)
  • PlantUmlArchCondition now does not throw exceptions anymore, if a class is in none or multiple components, but instead reports those as standard violations. This way these violations can also be frozen via FreezingArchRule instead of crashing the test (see #960)

Further Acknowledgement

  • Thanks a lot to @​hankem for upgrading various dependencies, cleaning up code and extensive reviews

ArchUnit 1.0.0-rc1

Breaking Changes

  • All deprecated members and classes have been removed (see #909)
  • @AnalyzeClasses() without any explicit locations to import will now import the package of the annotated class by default instead of the whole classpath. To restore the old behavior use @AnalyzeClasses(wholeClasspath = true) (see #828)
  • The archunit-junit5-engine-api now resides within the package com.tngtech.archunit.junit.engine_api instead of directly under junit. This only affects users that want to programmatically interface with the ArchUnitTestEngine and should be irrelevant for most users (see #827)
  • ArchUnit now needs at least Java 8 to run (see #833)
  • The ArchUnit types Function, Predicate and Optional have been replaced by the JDK 8 equivalents
  • DescribedPredicate now extends the JDK 8 Predicate, so apply(..) has to be replaced by test(..)
  • layeredArchitecture() now forces to decide how to deal with dependencies by adding .considering...Dependencies() in the beginning of the declaration. To restore the old behavior declare it as layeredArchitecture().consideringAllDependencies() (see #892)
  • ConditionEvents is now an interface and the interface has been cleaned out of all non-essential methods, e.g. getAllowed(). This was done to increase maintainability and make it easier to optimize the internals. If you are missing any functionality now, please file an issue to discuss it (see #876)

... (truncated)

Commits
  • f11750b prepare release 1.0.0
  • f5c1f05 support -rc suffixes in updateArchUnitExampleVersion
  • c3efe74 update expected versions in released POMs
  • 651f3f7 support rc-versions in publish.gradle
  • a7a71b1 Rename JavaPackage.getAllClasses() -> getClassesInPackageTree() (#968)
  • 7b31072 rename JavaPackage.getAllClasses() -> getClassesInPackageTree()
  • 6878f49 Some minor code improvements (#965)
  • 86255a7 replace JUnit 4 ExpectedException by AssertJ assertThatThrownBy
  • 4b0aa34 replace assertThat(x).containsOnlyElementsOf with .hasSameElementsAs
  • 506030b replace Guava Files.{write/append} by java.nio.Files.write(..)
  • Additional commits viewable in compare view

Merge request reports