Commit Graph

825 Commits

Author SHA1 Message Date
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
Oliver Drotbohm
07f7843385 GH-1024 - Remove Spring Cloud AWS version property. 2025-02-25 10:09:43 +01:00
Oliver Drotbohm
dc1b9e7a88 GH-1093 - Switch back to Spring Framework 6.2.3. 2025-02-25 09:47:32 +01:00
Oliver Drotbohm
06d47fb1de GH-1050 - ModuleContextCustomizer are now considered equal if their backing execution is. 2025-02-24 22:12:17 +01:00
Oliver Drotbohm
34ff544d95 GH-1090 - ModuleTestExecution now uses ApplicationModulesFactory to bootstrap ApplicationModules.
This allows running tests against it and see application modules located in test sources.
2025-02-24 22:05:59 +01:00
Oliver Drotbohm
ec0e2c73e9 GH-1087 - Set up DCO infrastructure. 2025-02-24 12:54:06 +01:00
Lukas Dohmen
f49fad2a04 GH-1084 - Complete description for Neo4j index property.
Signed-off-by: Lucas Dohmen <l.dohmen@yahoo.de>
2025-02-24 12:39:53 +01:00
Oliver Drotbohm
bf0c07e222 GH-1052 - ApplicationModuleSource now uses JavaPackage.findAnnotation(…).
This is to make sure that marker types annotated with @PackageInfo are considered, too. Deprecate JavaPackage.getAnnotation(…) as it's not used anywhere anymore and we would like to consistently consider package info marker types when looking up package annotations.
2025-02-23 22:06:30 +01:00
Oliver Drotbohm
cd36bd7ac8 GH-1077 - Do not CI build hacking/* branches. 2025-02-23 13:49:02 +01:00
Oliver Drotbohm
66bb3b847a GH-1075 - Temporarily upgrade to Spring Framework 6.2.4 snapshots. 2025-02-23 13:13:36 +01:00
Oliver Drotbohm
c145ba5a07 GH-1051 - Only unregister resubmitted event publication in case of errors.
Before this commit the code resubmitting incomplete event publications unregistered them independently of whether they succeeded or not. We now only do that for failed submissions as an error here indicates a failure to *submit* the publication. As the execution is likely performed asynchronously, a successful hand-off does not implicate the publication being completely processed.
2025-02-23 13:13:24 +01:00
Oliver Drotbohm
a0315113bc GH-1066 - Use metadata resource's input stream rather than file. 2025-02-23 09:48:51 +01:00
Oliver Drotbohm
20f07b7936 GH-1068 - Switch to simple event type name for automatically created counters. 2025-02-23 09:48:05 +01:00
Oliver Drotbohm
78991f4723 GH-1060 - Remove dependency to JGraphT from runtime artifact. 2025-02-23 09:47:09 +01:00
Oliver Drotbohm
f09009bfb2 Gh-1075 - Temporarily downgrade to Spring Framework 6.2.2. 2025-02-22 17:10:45 +01:00
Oliver Drotbohm
efc99f1a35 GH-1073 - Upgrade to Spring Boot 3.5 M2. 2025-02-22 16:34:08 +01:00
Oliver Drotbohm
c7bf5f100d GH-1072 - Upgrade to Micrometer Tracing 1.5 M2. 2025-02-22 15:44:11 +01:00
Oliver Drotbohm
c8ad505c2a GH-1071 - Update Spring Framework to 6.2.3. 2025-02-22 15:39:06 +01:00