Commit Graph

347 Commits

Author SHA1 Message Date
Oliver Drotbohm
28fcdf1f1e GH-280 - Make MomentsProperties usable on AOT.
Introduce a default constructor to prevent the AOT engine from breaking as reported in [0].

[0] https://github.com/spring-projects/spring-framework/issues/31117
2023-08-26 16:38:40 +02:00
Oliver Drotbohm
4d939d34a9 GH-269 - Update integration build after Boot releases. 2023-08-25 10:20:00 -07:00
Oliver Drotbohm
52f61bb1f3 GH-269 - Upgrade to Spring Boot 3.2 M2. 2023-08-24 12:04:18 -07:00
Oliver Drotbohm
c048f91ef2 GH-279 - Improve annotation processor setup.
Temporarily extract version numbers into properties until the compiler plugin considers the versions declared in dependency management [0].

[0] https://issues.apache.org/jira/browse/MCOMPILER-391
2023-08-24 11:41:26 -07:00
Eric Haag
d87fcd475a GH-279 - Add annotation processors for compiler avoidance. 2023-08-24 11:38:00 -07:00
Eric Haag
ebb43ac46d GH-279 - Update workflows with Gradle Enterprise credentials
Only workflows that do not build PRs have been configured with credentials.
2023-08-23 15:14:42 -07:00
Eric Haag
78434cec48 GH-279 - Connect build to ge.spring.io.
This change publishes a build scan to ge.spring.io for every local build from an authenticated Spring committer and for CI where appropriate access tokens are available. The build will not fail if publishing fails.

This change also allows the build to benefit from local and remote build caching, providing faster builds for all contributors.

Additionally, the project will have access to all features of Gradle Enterprise such as:

- Dashboards to view all historical build scans, along with performance trends over time
- Build failure analytics for enhanced investigation and diagnosis of build failures
- Test failure analytics to better understand trends and causes around slow, failing, and flaky tests
2023-08-23 15:14:15 -07:00
Oliver Drotbohm
40a13c742c GH-274 - Switch back to Spring credentials for release deployments. 2023-08-22 11:36:31 -07:00
Oliver Drotbohm
f6ce8c91f2 GH-269 - Upgrade to Spring Boot 3.2 snapshots. 2023-08-22 10:35:16 -07:00
Oliver Drotbohm
ddaf34d4d8 GH-274 - Prepare next development iteration. 2023-08-21 07:00:02 -07:00
Oliver Drotbohm
6197d35937 GH-274 - Release version 1.0.0. 2023-08-21 06:59:57 -07:00
Oliver Drotbohm
6872734d24 GH-274 - Switch to personal credentials for release deployment. 2023-08-21 06:58:04 -07:00
Oliver Drotbohm
374255672e GH-276 - Upgrade to jMolecules 2023.1.0. 2023-08-18 12:25:14 +02:00
Oliver Drotbohm
8e6d519554 GH-275 - Upgrade to Spring Asciidoctor Backends 0.0.7. 2023-08-18 12:24:32 +02:00
Oliver Drotbohm
941394f2d5 GH-273 - Remove experimental declaration from Scenario. 2023-08-17 17:35:09 +02:00
Oliver Drotbohm
9084ef71ac GH-271 - Remove Spring Modulith Events parent POM from BOM. 2023-08-16 21:49:21 +02:00
Oliver Drotbohm
39ce5346c6 GH-270 - Prepare next development iteration. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
2c5cedd1d1 GH-270 - Release version 1.0.0-RC2. 2023-08-16 08:05:46 +02:00
Oliver Drotbohm
9568f29613 GH-267 - Explicitly declared empty allowed dependencies now forbids any dependency.
The default for @ApplicationModule(allowedDependencies) is now a single element list with a dedicated token we recognize as "all dependencies allowed". This allows users to declare an empty array explicitly to disallow any outgoing dependencies for an application module. Previously, such a declaration would have allowed any dependency.
2023-08-15 19:52:02 +02:00
Oliver Drotbohm
cec759af0c GH-268 - Rename actuator endpoint to modulith.
To align with the conventions established by Spring Boot.
2023-08-15 09:30:00 +02:00
Oliver Drotbohm
0bfdb81d91 GH-265 - Use EVENT_PUBLICATION as table name for JPA to be consistent with JDBC. 2023-08-12 07:50:37 +02:00
Oliver Drotbohm
1e1ebb52ff GH-266 - Use event_publication collection for MongoDB event publications. 2023-08-12 07:50:37 +02:00
Oliver Drotbohm
967556d014 GH-264 - Only register EventPublicationRegistry if EventPublicationRepository present.
We now clearly separate between strict configuration, usable via @EnablePersistentDomainEvents and the auto-configuration for EventPublicationRegistry infrastructure. This allows using the core JAR in scenarios, in which no registry functionality is needed.
2023-08-12 07:49:43 +02:00
Yossi Spektor
0b110f70c2 GH-220 - Documentation polish. 2023-08-10 08:37:44 +02:00
Oliver Drotbohm
0de48790d7 GH-261 - Avoid materializing JpaEventPublication to mark it completed.
We now simply issue an update query.
2023-08-10 00:19:35 +02:00
Oliver Drotbohm
1a84ae256f GH-260 - Prepare next development iteration. 2023-08-09 22:29:57 +02:00
Oliver Drotbohm
bf68d74756 GH-260 - Release version 1.0.0-RC1. 2023-08-09 22:29:56 +02:00
Oliver Drotbohm
7a72dc16f6 GH-260 - Upgrade change log configuration to include improvements. 2023-08-09 22:27:13 +02:00
Oliver Drotbohm
31efdb31a2 GH-259 - Rename modulith.events package to modulith.events.core.
Allows us to eventually use the former as user-facing API package in a to-be-introduced API JAR.
2023-08-09 22:05:08 +02:00
Oliver Drotbohm
46127e0fbd GH-260 - Upgrade build plugins to the latest versions. 2023-08-09 21:25:26 +02:00
Oliver Drotbohm
43418b5fe0 GH-246 - Upgrade to ArchUnit 1.1.0.
Related tickets: GH-221.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
290b1c899b GH-257 - Add appendix listing all configuration properties exposed. 2023-08-09 21:21:18 +02:00
Oliver Drotbohm
afe77711f1 GH-212 - Invert default for event republication to false.
This is to accommodate cluster setups and avoid multiple instances from resubmitting outstanding event publications concurrently.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
79e465c10e GH-251 - Improve efficiency of event publication completion.
Changed the EventPublicationRepository interface to allow marking an event as completed without having to materialize it in the first place. This allows us to get rid of CompletableEventPublication. EventPublication not exposes its identifier to make sure the stores can actually store the same id.

Introduced EventPublicationRegistry.deleteCompletedPublicationsOlderThan(Duration) to purge completed event publications before a given point in time.
2023-08-09 21:21:18 +02:00
Oliver Drotbohm
22ec81bf0f GH-254 - Update Maven wrapper to 3.9.3. 2023-08-03 09:56:21 +02:00
Oliver Drotbohm
3055212e4b GH-253 - Let @ApplicationModuleTest be meta-annotated with @SpringBootTest.
@ApplicationModuleTest is now meta-annotated with @SpringBootTest. This allows us to remove a couple of declarations that we actually had copied from it (such as the TestContextBootstrapper, the SpringExtension etc.)

The presence of the original annotation allow test-related auto-configuration to inspect @SprignBootTest for particular configuration. For example, we now alias the WebEnvironment to make it configurable for the test execution.
2023-08-03 09:46:42 +02:00
Oliver Drotbohm
d665161c37 GH-252 - Avoid premature initialization of SpringModulithRuntimeAutoConfiguration.
Bean declarations are now entirely static.
2023-08-01 23:35:19 +02:00
Oliver Drotbohm
04187a1706 GH-243 - Add section on how to customize the Clock instance to be used to determine event publication dates. 2023-08-01 16:10:49 +02:00
Oliver Drotbohm
c23c26bd78 GH-228 - Be explicit about which jMolecules ArchUnit rules are executed as part of our verification. 2023-08-01 16:10:41 +02:00
Oliver Drotbohm
7c2e8e4079 GH-247 - Upgrade to jMolecules 2023.0.0. 2023-07-21 17:20:33 +02:00
Oliver Drotbohm
8e2c238425 GH-244 - Upgrade examples to Boot 3.1.2 as well. 2023-07-20 18:11:06 +02:00
Oliver Drotbohm
a4563647a2 GH-221 - Tweak build to avoid Javadoc tool to complain about module arrangement.
The shadowed type of ArchUnit causes the Java 17 Javadoc tool to fail as the type introduces a problem on the module path, which we do not really care about for now.
2023-07-20 18:07:24 +02:00
Oliver Drotbohm
a74352dc4d GH-245 - Move off deprecated API in DocumenterTest. 2023-07-20 16:30:17 +02:00
Oliver Drotbohm
9fe114387a GH-221 - Temporarily shadow ArchUnit's Location type.
It includes the fix submitted for TNG/ArchUnit#1131. To be removed once we can upgrade to a released version of the fix.
2023-07-20 16:26:32 +02:00
Oliver Drotbohm
32b689dab8 GH-244 - Upgrade to Spring Boot 3.1.2.
Updated integration CI build version matrix as well.
2023-07-20 15:09:43 +02:00
Oliver Drotbohm
29b78a447e GH-206 - Polishing.
Javadoc in CompletableEventPublication.
2023-07-19 17:16:53 +02:00
Oliver Drotbohm
303a6802d8 GH-206 - Event Publication Registry now uses custom Clock instance if configured.
We now consider a user defined Clock bean in the application context to obtain the Instant to use as publication date for event publications.
2023-07-19 17:16:20 +02:00
Oliver Drotbohm
77bfc48ebe GH-241 - Enable CI builds for hacking branches. 2023-07-18 22:35:12 +02:00
Oliver Drotbohm
4fd17a80eb GH-239 - Polishing. 2023-07-18 19:03:15 +02:00
Oliver Drotbohm
2270ff39ec GH-240 - Republication of outstanding events can now be disabled.
Via the spring.modulith.republish-outstanding-events-on-restart (boolean) property.
2023-07-17 13:35:45 +02:00