Commit Graph

141 Commits

Author SHA1 Message Date
Oliver Drotbohm
5d285e0e03 GH-100 - Introduce AssertablePublishedEvents.
In case AssertJ is on the classpath, test cases using the PublishedEventsExtension (for example, implicitly activated via @ApplicationModuleTest) can get an AssertablePublishedEvents injected into the method. In contrast to the original PublishedEvents, that one acts as AssertProvider so that it can be used in assertThat(…).… expressions to verify application events published.

Polished API in PublishedEvents for a more consistent experience.
2023-01-03 02:44:01 +01:00
Oliver Drotbohm
4e13fbf7f8 GH-99 - Extend license headers to 2023. 2023-01-02 18:12:29 +01:00
Oliver Drotbohm
a343f6eac3 GH-98 - Upgrade checkout and setup-java actions to V3. 2022-12-31 13:14:11 +01:00
Oliver Drotbohm
652a7b8528 GH-97 - Rework calculation of coordinates for WeekHasPassed events.
They now also work correctly when shifting time across a year's end.
2022-12-31 13:07:43 +01:00
Oliver Drotbohm
2d933d07c5 GH-92 - Prepare next development iteration. 2022-12-23 17:32:38 +01:00
Oliver Drotbohm
888055cf7c GH-92 - Release version 0.2.0. 2022-12-23 17:32:37 +01:00
Oliver Drotbohm
86d03864cc GH-92 - Enable deployment for distribution module in documentation profile.
Required due to a change in Artifactory Maven Plugin behavior [0].

[0] https://github.com/jfrog/artifactory-maven-plugin/issues/39
2022-12-23 17:16:34 +01:00
Oliver Drotbohm
e50894c973 GH-91 - General build plugin updates.
AsciidoctorJ 2.5.7.
2022-12-23 16:53:32 +01:00
Oliver Drotbohm
986ee1bb85 GH-90 - Upgrade to Flapdoodle MongoDB 4.3.2 (Boot 3 compatible).
Allows us to get rid of the custom MongoDB infrastructure test configuration.
2022-12-23 16:53:29 +01:00
Oliver Drotbohm
1c6e70b453 GH-89 - Upgrade Artifactory Maven Plugin to 3.5.1. 2022-12-23 16:10:12 +01:00
Oliver Drotbohm
25f789f298 GH-80 - Renamed ApplicationModuleIntegrationListener to ApplicationModuleListener. 2022-12-23 15:43:15 +01:00
Oliver Drotbohm
c1fc3032b7 GH-87 - Expose module structure as actuator endpoint.
Introduce Spring Modulith Actuator module to expose the application module structure as Spring Boot actuator. This required a Spring Modulith Runtime module to be extracted from the Spring Modulith Observability one. The former now contains the auto-configured ApplicationRuntime and ApplicationModulesRuntime bean instances to be able to bootstrap a ApplicationModules asynchronously on application startup. The actuator module then contains a Spring Boot @Endpoint implementation consuming the ApplicationModules to render JSON describing the application module structure.
2022-12-23 10:56:47 +01:00
Oliver Drotbohm
9dff5cc973 GH-88 - Upgrade to Spring Boot 3.0.1. 2022-12-22 22:57:56 +01:00
Oliver Drotbohm
9463b598c3 GH-80 - Introduce ApplicationModuleIntegrationListener.
We now provide @ApplicationModuleIntegrationListener as shortcut for the combination of @Async @Transactional @TransactionalEventListener to provide a dedicated annotation for the recommended integration arrangement.
2022-12-02 18:23:16 +01:00
Oliver Drotbohm
486f7e0c86 GH-81 - Change Postgres event publication schema to follow best practices.
* No uppercase table and column names [0]
* Don't use varchar(n) by default [1]
* Don't use timestamp(…) or timestamptz(…)

[0] https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don't_use_upper_case_table_or_column_names
[1] https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don't_use_varchar(n)_by_default
[2] https://wiki.postgresql.org/wiki/Don%27t_Do_This#Don't_use_timestamp(0)_or_timestamptz(0)
2022-12-02 17:33:04 +01:00
Oliver Drotbohm
ac072805b8 GH-78 - Prepare next development iteration. 2022-11-24 23:30:15 +01:00
Oliver Drotbohm
7f1e22db63 GH-78 - Release version 0.1.0. 2022-11-24 23:30:15 +01:00
Oliver Drotbohm
dc2f07b02e GH-77 - Add project description. 2022-11-24 23:28:51 +01:00
Oliver Drotbohm
5542cd172d GH-77 - Avoid release event support integration tests to Maven Central. 2022-11-24 23:18:52 +01:00
Oliver Drotbohm
8121516abc GH-77 - Complete project metadata for Maven Central release. 2022-11-24 23:07:17 +01:00
Oliver Drotbohm
073c954070 GH-77 - Enable CI profile for release build.
To make sure we create Javadoc JARs.
2022-11-24 23:06:11 +01:00
Oliver Drotbohm
7d721c2a6b GH-62 - Upgrade example to jMolecules 2022.2.2. 2022-11-24 22:54:18 +01:00
Oliver Drotbohm
9bab51cd35 GH-77 - Upgrade example to Boot 3.0. 2022-11-24 22:54:05 +01:00
Daniel Bär
ec613d52c5 GH-75 - Fix typo in reference documentation. 2022-11-24 22:43:54 +01:00
Oliver Drotbohm
02881539b6 GH-77 - Avoid exposing TestUtils to user applications.
Moved TestUtils from spring-modulith-test to spring-modulith-integration-test as it's only used there and doesn't need to be exposed to user applications.
2022-11-24 22:35:32 +01:00
Oliver Drotbohm
b402f00c77 GH-77 - Upgrade to Spring Boot 3.0.
Adapt to API changes in Micrometer and Spring Boot's test context loader API now exposing a checked ContextLoadException to signal failures during ApplicationContext bootstraps.
2022-11-24 22:31:49 +01:00
Oliver Drotbohm
065db76547 GH-74 - Polishing. 2022-11-18 00:13:30 +01:00
Oliver Drotbohm
22993f43d9 GH-74 - Bean references in Application Module Canvas now get de-duplicated. 2022-11-18 00:13:18 +01:00
Oliver Drotbohm
9d95d8715d GH-71 - Prepare next development iteration. 2022-11-16 22:48:27 +01:00
Oliver Drotbohm
3ce2be3c55 GH-71 - Release version 0.1.0-RC1. 2022-11-16 22:48:27 +01:00
Oliver Drotbohm
42ca848b00 GH-72 - Remove obsolete module from BOM. 2022-11-16 22:45:10 +01:00
Oliver Drotbohm
16831bd47d GH-70 - Upgrade Maven Assembly Plugin to 3.4.2. 2022-11-13 10:11:49 +01:00
Oliver Drotbohm
55b16857f3 GH-69 - Switch to Stream.toList(). 2022-11-11 18:49:03 +01:00
Oliver Drotbohm
d96263fe30 GH-11, GH-66, GH-67, GH-68 - Improve module canvas.
Overhauled the module canvas in various ways. By default, we now skip "empty" rows. In other words, if we do not find any published events for example, we skip the entire row. CanvasOptions.revealEmptyRows() can be used to keep those empty rows around. We now also expose all value types and Spring bean references.

Refactored the dependency lookup APIs on ApplicationModule. Both DependencyType and DependencyDepth are now top-level types. Also, ApplicationModuleDependency and ApplicationModuleDependencies were introduced as explicit types. In the course of that, ApplicationModule.getDependencies(…) has got its return type changed from List<ApplicationModule> to ApplicationModuleDependencies. The internal ModuleDependency type has been renamed to QualifiedDependency.
2022-11-11 18:33:03 +01:00
Oliver Drotbohm
62ac231ce4 GH-65 - Reduced indentation of Spring Bean types in test execution log output. 2022-11-11 14:04:39 +01:00
Oliver Drotbohm
dc065653e5 GH-61 - Prepare next development iteration. 2022-11-02 18:45:47 +01:00
Oliver Drotbohm
7a7b49809f GH-61 - Release version 0.1.0-M2. 2022-11-02 18:45:47 +01:00
Oliver Drotbohm
2ee9055313 GH-62 - Upgrade to jMolecules BOM 2022.2.2. 2022-11-02 18:26:25 +01:00
Oliver Drotbohm
3b12093589 GH-61 - Include all modules in release preparations.
Added dedicated prepare-release profile to make sure that all modules get their versions updated on mvn release:prepare. This is required to make sure the tag lands on a commit that especially has the distribution module updated so that the documentation publication actually produces the artifacts for the released version.
2022-11-02 17:35:04 +01:00
Tobias Haindl
b4b7986525 GH-55 - Fix typo in reference documentation. 2022-10-28 15:12:47 +02:00
Oliver Drotbohm
770cd35b9e GH-21 - Dedicated changelog section for reference documentation fixes. 2022-10-28 15:12:24 +02:00
Karsten Silz
2f5549da75 GH-59 - Fixed typos in reference documentation.
"ApplicationEventPublisher" is the class in the sample code, not "ApplicationEventListener". Clarified default serialization.
2022-10-28 14:58:13 +02:00
Oliver Drotbohm
3f77067ce9 GH-60 - Remove obsolete spring.factories.
Not needed on Spring Boot 3 anymore.
2022-10-28 14:56:03 +02:00
Moaad
0a71507d99 GH-51 - Fixing a typo in fundamentals documentation. 2022-10-24 16:03:55 +02:00
Jochen Wierum
9ac874d8d3 GH-52 - Fix smaller typos in documentation. 2022-10-24 15:45:46 +02:00
jwalter
db4e6902fe GH-53 - Tiniest of typo fixes (even -> event). 2022-10-24 15:44:01 +02:00
Oliver Drotbohm
f5d5cb84a2 GH-21 - Add project announcing blog post. 2022-10-24 15:42:34 +02:00
Oliver Drotbohm
b39e5dac55 GH-57 - Fix package declaration for example logging. 2022-10-24 14:13:59 +02:00
Oliver Drotbohm
b9d46173f7 GH-56 - ModuleTestAutoConfiguration is now autoconfiguration of highest precedence.
Also, keep autoconfiguration packages as String array to avoid ClassCastExceptions when the bean definition's constructor arguments are inspected manually (like in AutoConfigurationPackages.addBasePackages(…).
2022-10-24 14:13:53 +02:00
Oliver Drotbohm
e972875e21 GH-21 - A bit more Javadoc in the example module. 2022-10-21 13:09:13 +02:00