Commit Graph

842 Commits

Author SHA1 Message Date
Oliver Drotbohm
83957916b2 GH-1208 - Release version 1.4.0. 2025-05-26 21:14:04 +02:00
Oliver Drotbohm
6ac5f616fe GH-1205 - Update dependency mappings to auto-update Micrometer Tracing. 2025-05-26 20:43:08 +02:00
Oliver Drotbohm
51911ad527 GH-1205 - Update Micrometer Tracing to 1.5.0. 2025-05-26 20:42:28 +02:00
Oliver Drotbohm
b318a7eeee GH-1203 - Upgrade to Spring Boot 3.5. 2025-05-23 09:34:52 +02:00
Oliver Drotbohm
67b26e9197 GH-1202 - Update Spring Framework to 6.2.7. 2025-05-22 23:18:49 +02:00
Oliver Drotbohm
b594b69c27 GH-1193 - Remove deprecated support for Spring AutoRestDocs for Javadoc extraction. 2025-05-16 15:58:25 +02:00
Oliver Drotbohm
74ffd65b5e GH-1189 - Deprecate @CheckReturnValue in favor of Spring Framework variant. 2025-05-16 14:01:30 +02:00
Oliver Drotbohm
8326923c24 GH-1185 - Support for customizing additional verifications.
ApplicationModules.verify(…) and ….detectViolations(…) now has overloads taking a newly introduced VerificationOptions instance that allows registering additional ArchRules to be executed as part of the verification or disable / replace them entirely.
2025-05-02 16:46:36 +02:00
Oliver Drotbohm
dafa45fe26 GH-1179 - Remove explicit Hibernate version in JPA events module. 2025-04-30 10:03:15 +02:00
Oliver Drotbohm
73cf1d4576 GH-1155 - Prepare next development iteration. 2025-04-25 13:59:55 +02:00
Oliver Drotbohm
e345c1d476 GH-1155 - Release version 1.4.0-RC1. 2025-04-25 13:59:54 +02:00
Oliver Drotbohm
39b9a977aa GH-1176 - Upgrade to Spring Boot 3.5 RC1. 2025-04-25 13:52:52 +02:00
Oliver Drotbohm
bfd6c64c4c GH-1171 - Improve rendering of trees in reference documentation. 2025-04-24 12:22:20 +02:00
Oliver Drotbohm
711c8449fa GH-1146 - Fix identifier comparison in event publications cache key. 2025-04-23 12:12:29 +02:00
Oliver Drotbohm
aa640d0c06 GH-1167 - Polish jMolecules integration builds. 2025-04-19 16:03:06 +02:00
Oliver Drotbohm
87025f2c1a GH-1169 - Upgrade to Micrometer Tracing 1.5 RC1. 2025-04-19 16:02:33 +02:00
Oliver Drotbohm
e66f40dbb7 GH-1168 - Update Spring Framework to 6.2.6. 2025-04-19 16:00:37 +02:00
Oliver Drotbohm
ff5560bec8 GH-1167 - Update jMolecules to 2023.3.1. 2025-04-19 16:00:28 +02:00
Oliver Drotbohm
2431996dbc GH-1158 - Fix version of Maven Exec Plugin. 2025-04-19 15:32:55 +02:00
Oliver Drotbohm
1094ce1a5e GH-1146 - Upgrade to Microbenchmark Runner 0.5.0. 2025-04-19 15:27:56 +02:00
Oliver Drotbohm
dc81a743f8 GH-1146 - Improve lookup of event publications in progress.
Instead of iterating over all publications currently in progress we now use a map to look them up by key.

Baseline
--------
Benchmark                        Mode  Cnt        Score      Error  Units
….inProgressPublicationsAccess  thrpt   50      312,155 ±    7,428  ops/s

Fixed
-----
Benchmark                        Mode  Cnt        Score      Error  Units
….inProgressPublicationsAccess  thrpt   50  2328732,504 ± 7809,092  ops/s
2025-04-18 17:13:21 +02:00
Oliver Drotbohm
dc67a117d9 GH-1146 - Add microbenchmarks. 2025-04-18 17:13:07 +02:00
Oliver Drotbohm
594d396ca9 GH-1153 - Removed deprecated FormatableType. 2025-04-18 13:06:35 +02:00
Oliver Drotbohm
5f725621c6 GH-1149 - Cache modules looked up by type in observability event listener.
To avoid repeated, expensive full lookups across the entire class space for each listener invocation.
2025-04-18 00:02:43 +02:00
Oliver Drotbohm
4cf9b5c707 GH-1149 - Optimize performance for application module lookups by type.
We now avoid immediately resorting to a by type name lookup that triggers extensive search to be able to support simple class names.
2025-04-18 00:01:55 +02:00
Oliver Drotbohm
b932faf349 GH-1152 - ApplicationModules now exposes root packages. 2025-04-17 23:53:36 +02:00
Oliver Drotbohm
4cce4626d5 GH-1151 - FormattableType now correctly abbreviates nested types. 2025-04-17 23:48:21 +02:00
Oliver Drotbohm
10f8716481 GH-1150 - ApplicationModule now exposes internal types. 2025-04-17 23:45:32 +02:00
Oliver Drotbohm
fd3542b3b0 GH-1139 - Detect @NamedInterface on composed annotations. 2025-04-04 17:07:21 +02:00
Oliver Drotbohm
2fcde209b3 GH-1131 - Polishing. 2025-04-04 16:30:03 +02:00
Daniil Tsarev
4fa434fcf2 GH-1138 - Fix Kotlin examples for module and named interfaces declarations and dependencies.
Signed-off-by: daniil.tsaryov@jetbrains.com
2025-04-04 14:16:40 +02:00
Oliver Drotbohm
3442afd4eb GH-1133 - More resilient APT output location detection.
Gradle's APT handling seems to significantly differ from Maven's as the Java compilation runs from a completely different base folder than the actual project compiled. Even more so, for multi-module projects, the base folder is always the same, which causes APT output using Java's plain File API to override itself in a multi-module project.

I've tweaked the output folder detection to look up well-known APT parameters provided by either the Spring Boot plugin (org.springframework.boot.configurationprocessor.additionalMetadataLocations) or KAPT (for Kotlin-based projects, kapt.kotlin.generated) and derive the actual output folder from the values set for those. If neither of these is set, we fall back to the original local folder.
2025-04-03 13:49:24 +02:00
Oliver Drotbohm
47fa1fb056 GH-1130 - Polishing.
Simplify output to one line. Formatting, authorship.
2025-04-01 14:21:25 +02:00
조상준
12811a7f37 GH-1130 - Add debug log describing selected externalized events.
Original pull request: GH-1135
Signed-off-by: 조상준 <juncho12011201@gmail.com>
2025-04-01 14:20:53 +02:00
Oliver Drotbohm
777a5c9e7e GH-1131 - Non-empty collections do not indicate scenario completion anymore.
Similarly to our treatment of Optional, we now only consider non-empty collections a trigger for a state change based Scenario conclusion.
2025-03-28 12:50:46 +01:00
Oliver Drotbohm
fa946c148b GH-1122 - Consolidate automatic module names. 2025-03-22 15:17:47 +01:00
Oliver Drotbohm
6a98b3624e GH-1105 - Prepare next development iteration. 2025-03-21 11:52:23 +01:00
Oliver Drotbohm
48ecc12337 GH-1105 - Release version 1.4.0-M3. 2025-03-21 11:52:23 +01:00
Oliver Drotbohm
6eecb9dc80 GH-1105 - Upgrade to Spring Boot 3.5 M3. 2025-03-21 11:48:22 +01:00
Oliver Drotbohm
eb72e18fdd GH-1116 - Update Spring Framework to 6.2.5. 2025-03-20 12:02:52 +01:00
Oliver Drotbohm
433a22559e GH-1110 - Register AssertablePublishedEvents in ApplicationContext if AssertJ is on the classpath.
We now check for the presence of AssertJ on the classpath and rather register an instance of ApplicationPublishedEvents in the ApplicationContext if present.
2025-03-17 19:01:53 +01:00
Oliver Drotbohm
8df778b039 GH-202 - Support for bean instances located in test sources in @ApplicationModuleTest.
Prior to this commit, the TypeExcludeFilter registered by @ApplicationModuleTest decided whether to include a type based on the ApplicationModules instance and the content of the modules' backing JavaPackage instances. Those in turn always consider the classes scanned by ArchUnit to decide whether they include a type or not. As an ApplicationModules instance is set up to only consider production code, any type located in the test sources was disregarded from component scanning.

The checks for package inclusion for a test execution have now been revamped to consider the sole package names when filtering types for inclusion.
2025-03-17 18:35:03 +01:00
Oliver Drotbohm
a771ecfad5 GH-1105 - Add dependency mapping file. 2025-03-13 23:27:42 +01:00
Oliver Drotbohm
424837bde8 GH-1103 - Update Spring Framework to 6.2.4. 2025-03-13 23:15:01 +01:00
Oliver Drotbohm
c6b7288211 GH-1104 - Upgrade to Micrometer Tracing 1.5 M3. 2025-03-13 23:15:01 +01:00
Oliver Drotbohm
df4d82dd3f GH-1098 - Optimize type selection in Classes.
We now resort to a simple iteration over the types within a Classes arrangement to detect all classes residing in certain packages. This is primarily used during the JavaPackage data structure construction as it's called for every sub-package of a package originally created from a Classes instance. The new simplified algorithm avoids set up of DescribedPredicate instances to eventually only perform simple package name checks.
2025-03-07 12:42:45 +01:00
Oliver Drotbohm
083ce7beae GH-1098 - Fix performance regression in JavaPackage.
The fix for GH-1039 introduced a performance regression as the calculation of the sub-packages escaped the SingletonSupplier and thus is now included in every hashCode() calculation. Took the chance to significantly revamp the sub-package calculation for nested packages. In other words, the entire sub-package arrangement for a package is calculated once with pre-computed intermediaries held instead of re-computing them per sub-package.
2025-03-04 15:56:50 +01:00
Oliver Drotbohm
423f54d6b9 GH-1097 - Upgrade to ArchUnit 1.4. 2025-02-26 19:17:39 +01:00
Oliver Drotbohm
f0016c8164 GH-1094 - Prepare next development iteration. 2025-02-25 10:40:49 +01:00
Oliver Drotbohm
95acf1fcac GH-1094 - Release version 1.4.0-M2. 2025-02-25 10:40:48 +01:00