COLA
COLA copied to clipboard
chore(deps): bump archunit from 0.23.1 to 1.0.0
Bumps archunit from 0.23.1 to 1.0.0.
Release notes
Sourced from archunit's releases.
ArchUnit 1.0.0
:warning: If you upgrade from the latest
0.xversion, please also refer to the release notes of release candidate1.0.0-rc1as these release notes refer to upgrading from the release candidate :warning:Breaking Changes
- Naming around
JavaPackagesubpackages 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 usingimportClasspath()without anyImportOption(see #954)ClassFileImporter.importClasspath()now behaves consistently to other import APIs. I.e. no defaultImportOptionslikeDoNotIncludeArchivesare added anymore, instead allImportOptionsneed to be added the same way as for all other import methods (see #958)- The custom collection
ImportOptionshas been removed from the public API and been replaced by a standardCollection<ImportOption>where appropriate (see #958)- The package
com.tngtech.archunit.library.plantumlhas been moved tocom.tngtech.archunit.library.plantuml.rulesto make room for adding other PlantUML related features (see #959)- SLF4J-API has been upgraded from
1.7.36to2.0.3, so any log adapter dependency to be used with ArchUnit (e.g. to hook in Log4J) has to be compatible with SLF4J-API2.xfrom 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.txtis now also respected byFreezingArchRule. Thus, ignored violations are not added to theViolationStoreanymore (see #915)Library
testClassesShouldResideInTheSamePackageAsImplementation(..)now supports multiple test classes with same simple name (see #918; thanks a lot to@​mslowiak)PlantUmlArchConditionnow 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 viaFreezingArchRuleinstead of crashing the test (see #960)Further Acknowledgement
- Thanks a lot to
@​hankemfor upgrading various dependencies, cleaning up code and extensive reviewsArchUnit 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-apinow resides within the packagecom.tngtech.archunit.junit.engine_apiinstead of directly underjunit. This only affects users that want to programmatically interface with theArchUnitTestEngineand should be irrelevant for most users (see #827)- ArchUnit now needs at least Java 8 to run (see #833)
- The ArchUnit types
Function,PredicateandOptionalhave been replaced by the JDK 8 equivalentsDescribedPredicatenow extends the JDK 8Predicate, soapply(..)has to be replaced bytest(..)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 aslayeredArchitecture().consideringAllDependencies()(see #892)ConditionEventsis 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
f11750bprepare release 1.0.0f5c1f05support-rcsuffixes inupdateArchUnitExampleVersionc3efe74update expected versions in released POMs651f3f7support rc-versions inpublish.gradlea7a71b1RenameJavaPackage.getAllClasses()->getClassesInPackageTree()(#968)7b31072renameJavaPackage.getAllClasses()->getClassesInPackageTree()6878f49Some minor code improvements (#965)86255a7replace JUnit 4ExpectedExceptionby AssertJassertThatThrownBy4b0aa34replaceassertThat(x).containsOnlyElementsOfwith.hasSameElementsAs506030breplace GuavaFiles.{write/append}byjava.nio.Files.write(..)- Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)