Commit Graph

787 Commits

Author SHA1 Message Date
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
Oliver Drotbohm
f09c499600 GH-1068 - Polishing. 2025-02-22 15:34:30 +01:00
Oliver Drotbohm
d5408d7359 GH-1064 - Polishing. 2025-02-22 15:20:12 +01:00
Oliver Drotbohm
32099f2073 GH-1055 - Remove dependency to Commons Logging.
The Structurizr Core library depended on by the documentation support artifact pulls in Commons Logging which conflicts with Spring Frameworks spring-jcl artifact. We now explicitly exclude the former to prevent warning logs at runtime.
2025-02-22 15:13:52 +01:00
Oliver Drotbohm
dd37a283da GH-1068 - Automatically create counters for cross-module application events.
We now create counters for each cross-module application event published. The counters can be customized through ModulithEventMetricsCustomizer beans registered in the ApplicationContext.

Refactored the packages to let ….modulith.observability become the API package and moved all implementation components into ….modulith.observability.support.
2025-02-22 14:50:08 +01:00
Oliver Drotbohm
417e1c1e8c GH-1066 - Provide abstraction to access ApplicationModuleIdentifiers in order of module dependency.
Introduce ApplicationModuleIdentifiers as abstraction for an ordered collection of application module identifiers.

Introduced ApplicationModuleMetadata as abstraction for the generated metadata (usually located in META-INF/spring-modulith/application-modules.json) to expose the information we currently need to downstream infrastructure components. Migrated the components introduced to execute ApplicationModuleInitializers to AMA and adapt auto-configuration accordingly.
2025-02-22 14:19:32 +01:00
Oliver Drotbohm
7db3897b0f GH-1065 - Avoid the bootstrap of an ApplicationModules instance to execute ApplicationModuleInitializers. 2025-02-21 23:15:24 +01:00
Oliver Drotbohm
65f7bb7a8f GH-1064 - Move AOT processor to generate application module metadata into runtime module. 2025-02-21 23:09:18 +01:00
Oliver Drotbohm
8042ad5b9a GH-1063 - Polishing. 2025-02-21 23:02:17 +01:00
Oliver Drotbohm
a800e20e63 GH-1063 - Documenter now creates application module metadata file. 2025-02-21 23:01:42 +01:00
Oliver Drotbohm
a9365ed257 GH-1056 - Switch to object identity comparison when looking up event publications.
We now rather use an object identity comparison in TargetEventPublication.isAssociatedWith(…) instead of an ….equals(…) as that would return the wrong publication for identical events.
2025-02-21 22:55:12 +01:00
Oliver Drotbohm
19db2339bd GH-1062 - ApplicationModuleExporter now exposes ApplicationModuleInitializer beans. 2025-02-21 22:49:28 +01:00
Oliver Drotbohm
8fb7f07b4a GH-1060 - Remove optional dependency on JGraphT.
We now implement the topological sorting of application modules ourselves. Properly recalculate module order after ApplicationModules recreation with shared modules. Make iterator resilient against premature invocation by falling back to the unordered modules.

Cleanup of generated type ignorance.
2025-02-21 16:15:33 +01:00
Oliver Drotbohm
421c2f8eff GH-935 - Migrate to Micrometer Tracings's local service name. 2025-02-20 21:05:07 +01:00
Oliver Drotbohm
0fd05077a5 GH-1046 - Update Spring Framework to 6.2.2. 2025-02-01 17:00:44 +01:00
Oliver Drotbohm
9957d42b6a GH-1045 - Update jMolecules to 2023.2.1. 2025-02-01 17:00:36 +01:00
Oliver Drotbohm
013bd8b9aa GH-1042 - Fix module identifier lookup in ApplicationModuleSource.
Before this commit, ApplicationModuleSource inspected all package-info.java contained in given packages, including the sub-packages of those. That caused identifiers explicitly defined in an @ApplicationModule on a package-info.java in nested packages picked up for top-level packages. This is now fixed by only considering the files in the top-level packages.
2025-01-28 23:47:52 +01:00
Oliver Drotbohm
fe2c0c1d02 GH-1033 - Revert explicit Mockito agent configuration.
This reverts commit f6dd7836c2. See [0] for details. Additionally, the change causes our integration builds to fail as the Mockito versions referred to by older Boot versions do not contain the necessary manifest entries.

[0] https://github.com/eclipse-m2e/m2e-core/issues/1916#issuecomment-2616344357
2025-01-27 17:54:30 +01:00
Oliver Drotbohm
12b6a2d1fd GH-1040 - NamedInterfaces.Builder now does not exclude all packages by default.
Polished NamedInterfaces.toString() for easier debugability.
2025-01-25 13:57:07 +01:00
Oliver Drotbohm
5d8cbca10c GH-1039 - Revamp JavaPackage's sub-package traversal to retain empty intermediate packages. 2025-01-25 13:54:43 +01:00
Oliver Drotbohm
18f10b0401 GH-1038 - Expose ApplicationModuleInformation.
ApplicationModuleInformation is now public as it's referenced from the ApplicationModuleDetectionStrategy SPI. Extracted ApplicationModuleInformationFactory to avoid the internal instance creation logic from leaking.
2025-01-25 13:49:53 +01:00
Oliver Drotbohm
133ad57be3 GH-1037 - Upgrade examples to Spring Boot 3.5 M1. 2025-01-24 11:00:18 +01:00
Oliver Drotbohm
4090499634 GH-1027 - Prepare next development iteration. 2025-01-23 22:16:36 +01:00
Oliver Drotbohm
36370ae31a GH-1027 - Release version 1.4.0-M1. 2025-01-23 22:16:36 +01:00
Oliver Drotbohm
6e6a3ddab2 GH-1037 - Upgrade to Spring Boot 3.5 M1. 2025-01-23 22:10:57 +01:00
Oliver Drotbohm
05cf89f13f GH-1036 - Upgrade to Micrometer Tracing 1.5 M1. 2025-01-23 22:10:21 +01:00
Oliver Drotbohm
f6dd7836c2 GH-1033 - Prevent dynamic agent attachment warnings caused by Mockito.
Prior to this commit, running our tests caused the following warning because Mockito was dynamically self-attaching to the running JVM:

Mockito is currently self-attaching to enable the inline-mock-maker. This will no longer work in future releases of the JDK. Please add Mockito as an agent to your build what is described in Mockito's documentation: https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html#0.3

We now follow the advice in the provided link and set up our build accordingly.
2025-01-23 16:57:23 +01:00
Oliver Drotbohm
dcde35385c GH-1029 - Consume GPG passphrase from environment. 2025-01-23 13:43:39 +01:00
Oliver Drotbohm
f3f8deb3b3 GH-1024 - Remove AWS support in favor of Spring Cloud AWS.
Follow-up of GH-671.
2025-01-23 12:56:36 +01:00
Oliver Drotbohm
32cebcbadf GH-1016 - Observability proxying now uses original bean class loader.
Original issue: spring-projects/spring-data-rest#2438.
2025-01-17 00:56:53 +01:00
Oliver Drotbohm
2e31447097 GH-1009 - Allow customizing the detection of NamedInterfaces via ApplicationModuleDetectionStrategy.
The detection of NamedInterfaces for an application module can now be customized by implementing ApplicationModuleDetectionStrategy.detectNamedInterfaces(…). The default implementation of that methods uses the previously default NamedInterfaces.of(…) lookup.

NamedInterfaces and NamedInterface now expose factory methods to be able to construct and combine (through NamedInterfaces.and(…)) instances manually. In particular, the newly introduced NamedInterfaces.builder() method allows setting up a detection configuration that allows picking up packages by naming conventions.
2025-01-16 10:21:42 +01:00
Oliver Drotbohm
f941756242 GH-1015 - Polishing. 2025-01-16 09:43:10 +01:00
Oliver Drotbohm
38b7ac78cd GH-1015 - ModulithMetadata obtained from a package now considers @Modulithic annotations. 2025-01-16 09:42:58 +01:00
Oliver Drotbohm
79a80d2325 GH-1006 - Pick up reference types for event listeners declared in annotations.
We now detect event types a listener is interested in declared in annotations for inclusion the reference documentation. This allows for the rare case that the event listener method not actually declaring the event type as parameter as it might not be needed in the payload but only the fact that an event was published at all.
2025-01-06 19:12:36 +01:00
Oliver Drotbohm
7fabc528b4 GH-1010 - Update copyright declarations to include 2025. 2025-01-06 16:58:45 +01:00
Oliver Drotbohm
08c43f3084 GH-1000 - Update version number in README. 2024-12-20 15:53:20 +01:00
Oliver Drotbohm
30ab681a4a GH-1002 - Upgrade compatibility builds after Boot 3.3.7 release. 2024-12-19 12:27:10 +01:00
Oliver Drotbohm
dca73ee137 GH-995 - Allow filtering violations. 2024-12-18 20:25:43 +01:00
Oliver Drotbohm
f1ba94989e GH-992 - Upgrade to APTK 0.29. 2024-12-12 00:07:14 +01:00